Paso 3: Seeed y BlinkM
1. conectar los BlinkM d (el pin de datos) a la 4 analógicas del Arduino.
2. conectar la clavija c de BlinkM (el pin de reloj) en analógica 5 de Arduino.
3. Conecte lo BlinkM a 5V y GND.
4. descargar BlinkM_funcs.h file -http://todbot.com/blinkm/example_code/BlinkMTester/BlinkM_funcs.h
5. crear un dibujo nuevo.
6. crear una nueva ficha y asígnele el nombre BlinkM_funcs.h
7. pegar el código BlinkM_funcs.h en la nueva ficha
8. pegue el código siguiente en el bosquejo principal, compilación y carga. El código permite al usuario controlar lo BlinkM con las etiquetas RFID:
#include < Wire.h > volátil reader1 largo = 0;
#include "BlinkM_funcs.h"
volátiles int reader1Count = 0;
#define azul [# aquí tu id de la etiqueta]
#define rojo [tu id de la etiqueta # aquí]
#define verde [tu id de la etiqueta # aquí]
largo prevTime;
card1 int;
int card2;
int cuenta = 0;
largo dec;
int color;
byte r, g, b;
addr byte = 0 x 09;
void reader1One(void) {}
reader1Count ++;
reader1 = reader1 << 1;
reader1 | = 1;
}
void reader1Zero(void) {}
reader1Count ++;
reader1 = reader1 << 1;
}
void setup() {}
BlinkM_beginWithPower();
Serial.Begin(9600);
Acople pin cambio interrumpir rutinas de servicio de los lectores Wiegand RFID
attachInterrupt (0, reader1Zero, RISING); //DATA0 al pin 2
attachInterrupt 1, reader1One, RISING; Data1 a pin 3
Delay(10);
la interrupción en el procesador de Atmel pierde el primer pulso de negitave como las entradas ya son altas,
así que esto da un impulso a la línea de entrada del lector a las interrupciones de funcionamiento.
Luego limpiar las variables del lector.
Los lectores son de colector abierto sentado normalmente en uno así que esto es OK
para (int i = 2; i < 4; i ++) {}
pinMode (i, salida);
permiten tirar interno causando una
digitalWrite (i, alto);
desactivar la interna levantan causando cero y, por tanto, una interrupción
digitalWrite (i, LOW);
pinMode (, entrada);
digitalWrite (i, alto); permiten interno tire para arriba
}
Delay(10);
poner las variables de entrada del lector a cero
reader1 = 0;
reader1Count = 0;
}
void loop() {}
readCard();
}
void readCard() {}
if(Count<2) {}
Si (reader1Count > = 26) {}
int serialNumber = (reader1 >> 1) & 0x3fff;
int siteCode = (reader1 >> 17) & 0x3ff;
Dec = (reader1 y 0xfffffff);
{if(Count==0)}
r = 0;
b = 0;
g = 0;
}
Serial.Print("Dec=");
Serial.println(DEC);
{Switch(DEC)}
caso rojo:
r = 255;
rotura;
caja verde:
g = 255;
rotura;
caja azul:
b = 255;
rotura;
por defecto:
color = 0;
Serial.Print ("nueva etiqueta");
Serial.Print(reader1& 0xfffffff);
}
displayColor();
reader1 = 0;
reader1Count = 0;
} else if(reader1Count == 0) {}
displayColor();
}
Si (millis ()-prevTime > 2000) {}
cuenta ++;
prevTime=millis();
}
} else {}
cuenta = 0;
}
}
void displayColor() {}
BlinkM_fadeToRGB(addr,r,g,b);
}