Paso 3: Programación
y cargar el código de ejemplo y su hecho.
Código de ejemplo para 64shield biblioteca
Trabajos con escudo de ciempiés o MCP23017 en Puerto Arduino I2C
#include < Wire.h >
#include < IOshield.h >
/ * Comandos disponibles
.digitalWrite ([0... 127], [baja... ALTA]) - actúa como digitalWrite normal
.digitalRead([0...127]) - actúa como digitalRead normal
.pinMode ([0... 127], [entrada... SALIDA]) - actúa como pinMode normal
.portWrite ([0... 7], [0... 65535])-escribe 16 bits valor a un puerto (chip)
.portRead([0...7]) - valor Lee 16 bits de un puerto (chip)
.portMode ([0... 7], [0... 65535])-máscara de entrada-salida de escribir a un puerto (chip)
.pinPullup ([0... 127], [baja... ALTA]) - establece pullup de clavija de entrada de
.portPullup ([0... 7], [0... 65535])-establece finalizar en un puerto (chip)
.init() - establece todos los registros a valores iniciales
Ejemplos
IO.init();
IO.pinMode(0,OUTPUT);
IO.digitalWrite (0, alto);
int recpin = IO.digitalRead(0);
IO.portMode (0, 0b0111111001111110); 0 = salida, 1 = entrada
IO.portWrite (0, 0b1000000110000001); 0 = BAJA, 1 = ALTO
int recport = IO.portRead(0);
IO.pinPullup(1,HIGH);
IO.portPullup (0, 0b0111111001111110); 0 no = ninguna subida, 1 = subida
*/
IOshield IO; crear objeto de 64shield
void setup()
{
Wire.Begin(); Inicio de I2C
IO.initialize(); establecer todos los registros por defecto
IO.portMode (0, 0b0000000000000000); prenden todos los pines de chip 0 salida
TWBR = 12; Comentario por 400 KHz I2C (en 16 MHz Arduinos)
}
void loop()
{
para (int i = 0; i < 15; i ++) {}
IO.digitalWrite (i, alto);
Delay(10);
}
para (int i = 0; i < 15; i ++) {}
IO.digitalWrite (i, LOW);
Delay(10);
}
}
Si usted quiere más pins de salida mi campaña de palanca para crear 64 I/O arduino escudo! sí que 64 pins extras en un arduino de tamaño normal... Escudo de locura...