Fråga Box pussel (13 / 20 steg)
Steg 13: I2C enheter
Jag älskar I2C, du kan ansluta flera enheter till endast 2 stift på Arduino. Är det en buss baserat protokoll och det är ganska lätt att hitta kompatibla enheter.I min låda pussel använt jag 3 I2C enheter:
1. Web4robot följetong/I2C LCD
2. Wiimote Nunchuck
3. en Arduino Uno med en Nixie rör sköld (jag använde detta som timer för spelet).
I2C har två rader, SDA och SCL. För att ansluta I2C enheter bara ansluta SDA på Arduino till alla SDA: s på enheter och ansluta SCL-värdet på Arduino till alla SCLS på alla andra enheter. För att få bra tillförlitlighet är det bra att ansluta en 1,5 K ohms motstånd mellan 5v och varje rad (en pull-up resistor).
Arduino har ett bibliotek som kallas tråd som används för att kommunicera mellan I2C enheter. Varje I2C buss ska ha en master och kan ha upp till 128 enheter totalt. I mitt fall jag ställa in den Arduino Mega som master, och allt var en slav (inklusive Arduino Uno som kördes Nixie rör).
Försiktighet bör iakttas vid anslutning I2C enheter att se vilka spänningar som de kan tolerera. Som seriella enheter, många I2C enheter tål endast 3.3V, i stället för 5v, vilket är vad många Arduinos arbeta bort av. Du kan använda samma logik nivå omvandlaren jag nämnde när jag pratade om seriella enheter på I2C http://www.sparkfun.com/products/8745
Ett par riktigt bra I2C handledning är:
http://hacknmod.com/Hack/How-to-Connect-Multiple-Arduino-Microcontrollers-using-I2C/
http://www.Arduino.cc/Playground/Learning/I2C