Paso 6: Paralaje y BlinkM
2. Conecte el c BlinkM (pin de reloj) 5 analógicas del 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. Este código controla lo BlinkM mientras que el RFID no está disponible. Si usted no tiene en cuenta para este período, lo BlinkM será recorrer los colores en lugar de mostrar el último color seleccionado. Llamando fadeToRGB cuando RFID no está disponible soluciona este problema:
#include < Wire.h > byte r = 0, g = 0, b = 0; int cuenta = 0; prog_char rojo [] PROGMEM = "[su número de etiqueta RFID]"; Const char PROGMEM * colorTags_table [] = {} char tags_buffer [12]; RFID de NewSoftSerial = NewSoftSerial(rxPin,txPin); void setup() {} Serial.Begin(9600); void loop() {} void sendRead() {} void readTag() {}
#include < BlinkM_funcs.h >
#include < NewSoftSerial.h >
#include < avr/pgmspace.h >
#define rxPin 2
#define txPin 3
int blinkm_addr = 0 x 09;
pinta larga;
prog_char verde [] PROGMEM = "[su número de etiqueta RFID]";
prog_char azul [] PROGMEM = "[su número de etiqueta RFID]";
rojo, verde, azul};
BlinkM_begin();
BlinkM_setRGB (blinkm_addr, 0, 0,0);
RFID.begin(9600); / / RFID lector SOUT pin conectado al pin RX del Serial a 9600bps
}
BlinkM_setRGB(blinkm_addr,r,g,b);
sendRead();
readTag();
}
RFID.flush();
RFID.print("!RW");
RFID.print (0x0F, BYTE);
}
if(Count<2) {}
Código del octeto [12];
bytesread int = 0;
String msg;
while(bytesread<12) {/ / Lee código de 10 dígitos
Esto bloquea e idealmente debe tener un tiempo de espera
Si (RFID.available()) {}
código [bytesread] = RFID.read();
bytesread ++;
} else {}
Esto ha solucionado el problema
BlinkM_fadeToRGB (blinkm_addr, r, g, b) //call que se desvanece a deseado color
}
if(bytesread == 12) {}
Si (code[0]==0x0A) {}
Serial.Print ("código de etiqueta es:");
para (int i = 1; i < 11; i ++) {}
Serial.Print (código [i], hexagonal);
MSG = msg + código [i];
}
Serial.println(MSG);
{if(Count==0)}
r = 0;
b = 0;
g = 0;
}
para (int i = 0; i < 3; i ++) {}
strcpy_P (tags_buffer, (char *) pgm_read_word (&(colorTags_table[i])));
{if(MSG==tags_buffer)}
{Switch(i)}
caso 0:
Serial.println("red");
r = 255;
rotura;
caso 1:
g = 255;
Serial.println("Green");
rotura;
caso 2:
b = 255;
Serial.println("Blue");
rotura;
}
}
} //end bucle for
} //end código [0] == 0x0A
} //end bytesread == 12
}
displayColor();
Si (millis ()-pt > 1500) {}
cuenta ++;
PT=Millis();
}
} //end si cuenta
Else {}
cuenta = 0;
}
}
void displayColor() {}
BlinkM_fadeToRGB (blinkm_addr, r, g, b);
}