Stap 3: Programmering tijd
en laadt u de voorbeeldcode en haar gedaan.
Voorbeeldcode voor 64shield bibliotheek
Werken met duizendpoot schild of MCP23017 op poort van de Arduino I2C
#include < Wire.h >
#include < IOshield.h >
/ * Beschikbare opdrachten
.digitalWrite ([0... 127], [lage... HOOG]) - werkt als normale digitalWrite
.digitalRead([0...127]) - werkt als normale digitalRead
.pinMode ([0... 127], [INPUT... UITGANG]) - als werkt normale pinMode
.portWrite ([0... 7], [0... 65535])-schrijft 16-bits waarde op één poort (chip)
.portRead([0...7]) - leest 16-bits waarde van één poort (chip)
.portMode ([0... 7], [0... 65535])-i/o-schrijven masker op één poort (chip)
.pinPullup ([0... 127], [lage... HOOG]) - pullup ingesteld op input pin
.portPullup ([0... 7], [0... 65535])-pullups ingesteld op één poort (chip)
.init() - Hiermee stelt u alle registers op Beginwaarden
Voorbeelden
IO.init();
IO.pinMode(0,OUTPUT);
IO.digitalWrite (0, hoge);
int recpin = IO.digitalRead(0);
IO.portMode (0, 0b0111111001111110); 0 = output, 1 = input
IO.portWrite (0, 0b1000000110000001); 0 = LAAG, 1 = HOOG
int recport = IO.portRead(0);
IO.pinPullup(1,HIGH);
IO.portPullup (0, 0b0111111001111110); 0 = geen pullup, 1 = pullup
*/
IOshield IO; 64shield object maken
VOID Setup
{
Wire.begin(); beginnen met I2C
IO.initialize(); alle registers op standaard instellen
IO.portMode (0, 0b0000000000000000); alle pinnen op chip 0 tot uitvoer instellen
TWBR = 12; uncomment voor 400 KHz I2C (op 16 MHz Arduinos)
}
void loop
{
for (int i = 0; ik < 15; i ++) {}
IO.digitalWrite (i, hoge);
delay(10);
}
for (int i = 0; ik < 15; i ++) {}
IO.digitalWrite (i, laag);
delay(10);
}
}
Als u zelfs meer pinnen kijk op mijn kick-starter-campagne wilt maken 64 I/O arduino schild! Ja dat 64 extra pinnen op een normale grootte arduino schild... waanzin...