Difference between revisions of "RFID"
(→Description) |
(Undo revision 2070 by Noucktourno (Talk)) |
||
(6 intermediate revisions by 4 users not shown) | |||
Line 13: | Line 13: | ||
void uartReceiveHandler(char * data, unsigned int size); | void uartReceiveHandler(char * data, unsigned int size); | ||
− | void uartReceiveHandler(char * data, unsigned int size) | + | void uartReceiveHandler(char * data, unsigned int size) { |
− | { | + | if((size > 0) && (size <= MAX_DATA_SIZE)) { |
− | if((size > 0) && (size <= MAX_DATA_SIZE)){ | ||
char buffer[MAX_DATA_SIZE+1]; | char buffer[MAX_DATA_SIZE+1]; | ||
memcpy(buffer, data, size); | memcpy(buffer, data, size); | ||
Line 33: | Line 32: | ||
if (ledTimer>0) ledTimer--; | if (ledTimer>0) ledTimer--; | ||
− | if (ledTimer==0) | + | if (ledTimer==0) { |
− | { | ||
ledTimer=-1; | ledTimer=-1; | ||
uint8 p1 = dseReadRegister(MCU_P1); | uint8 p1 = dseReadRegister(MCU_P1); | ||
dseWriteRegister(MCU_P1, p1 | 0xC0); | dseWriteRegister(MCU_P1, p1 | 0xC0); | ||
} | } | ||
− | if (ledTimer<0) | + | if (ledTimer<0) ledTimer=-1; |
</cpp> | </cpp> |
Latest revision as of 21:40, 9 September 2010
Contents
Description
A self-built RFID reader (designed as PataCircuitBoard introduced by the Ludic Society) is connected to the Nintendo DS via the DSerial card. It is part of the project "Nordlich BlitzPlay (RFID Guitar Hero III)" which has been performend during Piksel Festival in Bergen/Norway. For details and concept of this pervasive art-game, please take your time and look at the website: http://www.ludic-society.net/blitz!
The signal lines are connected to DSerial CMOS-level UART at IO2 connector. Make sure to set baud rate to 9600baud. Please, make sure that you edited also mcu.h and the firmware according to the "Hello World LED" example in the dev-scene Forum.
Here is some sample code of the UartHandler: <cpp> int ledTimer = 0;
void uartReceiveHandler(char * data, unsigned int size);
void uartReceiveHandler(char * data, unsigned int size) {
if((size > 0) && (size <= MAX_DATA_SIZE)) { char buffer[MAX_DATA_SIZE+1]; memcpy(buffer, data, size); buffer[size] = '\0'; iprintf(buffer); } ledTimer = 10;
}
/* during initalization do following */
dseUartSetBaudrate(9600); dseSetModes(ENABLE_CMOS /* | ENABLE_SERVO */); dseUartSetReceiveHandler(uartReceiveHandler);
/* then somewhere else within the while(1) do: */
if (ledTimer>0) ledTimer--; if (ledTimer==0) {
ledTimer=-1; uint8 p1 = dseReadRegister(MCU_P1); dseWriteRegister(MCU_P1, p1 | 0xC0);
} if (ledTimer<0) ledTimer=-1;
</cpp>
Schematic
The gate of NPN Mosfet is connected to PIN 6 of DSerial's IO1
Parts
- Core2 RFID Reader Module (works at 5Volt!)
- IRF9014 MOSFET
- LM2698 Boost Regulator (3,3Volt -> 5Volt)
- MAX1811 Li-Io Charger
- MAX232
- SMD Parts (Resistors, Capacitor, Coil)