The Orange Pi Zero 512Mb mini-computer is a miniature single-board computer based on Allwinner H2 + processors and has four Cortex A7 computing cores with a clock frequency of up to 1.2 GHz. open source. It can work on Android 4.4, Ubuntu, Debian. It has 512 MB of DDR3 SDRAM RAM. Also, this minicomputer is equipped with the Mali-400MP2 graphics accelerator, which allows you to play 4K video in H.265 / HEVC format with a playback frequency of up to 30 frames per second and supports microSD memory cards with a frequency of up to 64 gigabytes. The mini Pi Orange Zero 512Mb computer is perfect for building embedded control systems and control systems. The following operating systems are supported: Ubuntu MATE, Debian, Armbian and others. The computer is powered by a 5V 2A power supply through a microUSB connector. The list of interfaces supported by Orange Pi Zero:
Using these interfaces, the minicomputer can communicate and control a huge number of different devices, sensors. Board Load Control was created specifically for the Orange Pi Zero. It is very easy and easy to install a mini PC. The list of interfaces supported by the Load Control Board:
The “Load Control” board contains the MCP23016 port expander. It is connected to the I2C bus of the Orange Pi Zero. Using the “i2c-tools” utility via the “I2C” bus, you can manage this port expander. All inputs / outputs of the MCP23016 are output to the “H3” connector of the board. The MCP23016 chip has 16 independent inputs / outputs that can be configured as you like, for example: 16 inputs, 16 outputs, 8 inputs/8 outputs, etc.
In order to manage the port expander, first we need to set the operation mode (Input / Output). To do this, we need to write a logical “1” or a logical “0” in the “IODIR (0/1)” registers.
In order to manage the MCP23016 ports themselves, you need to write the corresponding pin configuration in hexadecimal form depending on the need in the registers “GP (0/1)”. An example of writing to registers:
i2cset -y 1 0x20 0x06 0x00
Example of reading from the registers GP (0/1):
i2cget -y 1 0x20 0x00
Initially, in MC23016 the GPIO_1 port is configured as "INPUT", and the GPIO_0 port is configured as "OUTPUT" (8 inputs, 8 outputs).
The system was installed on the Orange Pi Zero: “Armbian_5.90_Orangepizero_Debian_buster_next_4.19.57”. Login Options:
The interface was pre-configured: GPIO, USB, I2C, 1-WIRE, CAN.
In the folder "home / example /" are examples of scripts:
In the folder "home /" are examples of scripts:
Installed by IOBroker. IOBroker was installed in the system, with pre-adjustment for reading DHT11, D18B20 sensors on MQTT and outputting data from the sensors to the main IOBroker vis screen. In IOBroker vis, the current state of the ports of the mcp23016 microcircuit is displayed, which is displayed in the form of "bulbs", and 8 are also displayed switches that control the GPIO_0 ports. Under the ZTX_RELAY_BOARD device, IOBroker vis displays (8 buttons) controls, the current state of the ports displayed as "light bulbs".
Image Link for Orange Pi Zero:
Link to the project board LODCONTROL (Altium Designer):