Pinebox: Elektronik Design (21 / 31 steg)
Steg 21: GPIO Expansion
För att spara på att använda upp värdefulla byggdes IO pinnar på PI/o hamnen, jag lånade den Pi I2C port, och använde två expander marker. Detta är ganska mycket rakt av app-Obs exempel för dessa marker.
Stöd för dessa marker är inbyggd i Raspbian, och de både köra på 5V och är därför 5V tolerant, och kan ansluta till en 3V3 I2C port.
Digital i/o: MCP23008: 8 bit port, med programmerbara input/output/pullups stöds av "WiringPi" bibliotek för testning
Används för: Power Control (4 ingångar, 1 utgång), Flash control (2 utgångar), kamera riktning känsla samma 2 som insatsvaror, lämnar 1 extra digital i/o (på Pad 316)
För att undvika sammanstötningar med andra I2C enheter, är I2C adressen som standard här 0x27. Löda kuddar SJ303 = b0/304 = b1/305 = b2 kan överbryggas för att ändra adressen över spänna (0x20-0x27), överbryggande jumper förändringar en adress lite från 1 till 0.
Analog I/O: PCF8591: 1 ADC, 1 DAC, 4 input mux stöds av "WiringPi" bibliotek för testning
Används för: ADC1: batterispänningen. ADC2, 3, 4 reservdelar (Pad 318,319,320) och DAC1 utgång reservdelar (Pad 317)
För att undvika sammanstötningar med andra I2C enheter, är I2C adressen som standard här 0x4F. Solder pads SJ306/307/308 ändra adressen, som ovan, över spänna (0x48-0x4F)