Skapa din första IoT Ethernet-enhet. Del 5: Sakernas Internet, Home Automation (4 / 8 steg)
Steg 4: Cirkelträning översikt - del B
Denna kretsdesign kastade upp några intressanta problem att lösa innan jag kunde sätta alla sub system tillsammans. De viktigaste frågorna gränssnitt till enheter över SPI och I2C där objekten var både 3v3 och 5v.
Specifikt Ethernet Shield och SD-kort var inlogerat via SPI och är 5v kompatibel, ILI9341 är SPI men 3v3 kompatibel (även om den drivs + 5v som det har på styrelsen + 3v3 förordning men ingen nivå skiftande på dess indata eller utdata).
LCD-display och RTC är I2C och 5v kompatibla, medan BMP085 modulen var I2C med 3v3 skenor. Återigen liknande TFT skärm med ombord + 3v3 förordning.
För att lösa detta problem använde jag två metoder för nivå skiftande; för SPI bussen jag använde en CD4050 och för BMP085 jag använde en "rullade hem" FET nivå Växelreglage.
Jag använde 10K pull ups för I2C rader. Du kanske märker att det finns två uppsättningar av 10K pull ups på par för BMP085 (R5/6) och den andra för RTC (R7/8). Faktiskt den andra uppsättningen är inte obligatoriska, men kretsen jag har publicerat är trogen min faktiska layout och min system använder en modulär RTC jag "knocked up" för detta instructable och det innehåller dess ' äga par 10K pull ups så jag kan återanvända senare.
Alla insatsvaror till Arduino Mega 2560 är via taktila knappar, som alla är självständigt drog höga via en 1K motstånd. Detta ger en logic hög när den släpps och en logik låg när man trycker. Detta tillstånd är inverterad i programvara.
För utdata LED en 1K ballast används motstånd för att begränsa nuvarande. Lysdioden är aktiverad som en högt på utgångsstiftet D6 logik. Så ingen programvara staten inversion är nödvändigt.
En 10K dra upp motstånd används för Data i/o-line till DHT22 enligt tillverkare databladet. Meddelanden till den här enheten är via D2 på Mega 2560 och ganska mycket följer exemplet Adafruit.
Den oanvända nivå shifter IC1F ingång är knuten till 0V att förhindra eventuella svängning från en flytande ingång.