Extra i/o-Pins för din Arduino Uno (3 / 4 steg)
Steg 3: Programmering tid
och läsa in exempelkoden och gjort.
Exempelkod för 64shield bibliotek
Fungerar med tusenfoting sköld eller MCP23017 på Arduino I2C port
#include < Wire.h >
#include < IOshield.h >
/ * Tillgängliga kommandon
.digitalWrite ([0... 127], [låg... KICKEN]) - fungerar som normala digitalWrite
.digitalRead([0...127]) - fungerar som normala digitalRead
.pinMode ([0... 127] [ingång... UTGÅNG]) - som fungerar normala pinMode
.portWrite ([0... 7], [0... 65535])-skriver 16-bitars värde till en port (chip)
.portRead([0...7]) - läser 16-bitars värde från en port (chip)
.portMode ([0... 7], [0... 65535])-skriva i/o-mask till en port (chip)
.pinPullup ([0... 127], [låg... KICKEN]) - anger pullup på ingångsstift
.portPullup ([0... 7], [0... 65535])-uppsättningar pullups på en port (chip)
.init() - anger alla register till ursprungliga värden
Exempel på
IO.init();
IO.pinMode(0,OUTPUT);
IO.digitalWrite (0, hög);
int recpin = IO.digitalRead(0);
IO.portMode (0, 0b0111111001111110); 0 = utgång, 1 = ingång
IO.portWrite (0, 0b1000000110000001); 0 = LÅG, 1 = HÖG
int recport = IO.portRead(0);
IO.pinPullup(1,HIGH);
IO.portPullup (0, 0b0111111001111110); 0 = ingen pullup, 1 = pullup
*/
IOshield IO; skapa 64shield-objekt
void setup()
{
Wire.BEGIN(); Starta I2C
IO.initialize(); Ange alla register till försummelsen
IO.portMode (0, 0b0000000000000000); Ange alla stift på chip 0 till utgång
TWBR = 12; ta bort kommentar för 400 KHz I2C (på 16 MHz Arduinos)
}
void loop()
{
för (int jag = 0; jag < 15; i ++) {
IO.digitalWrite i, hög.
Delay(10);
}
för (int jag = 0; jag < 15; i ++) {
IO.digitalWrite (i, låg);
Delay(10);
}
}
Om du vill ha ännu mer stift kolla min kick-start kampanj att skapa 64 I/O arduino shield! Ja att 64 extra stift på en normal storlek arduino shield... galenskap...