Tento RFID docházkový systém funguje následovně. Žák přijde do učebny a odbaví svůj příchod přiložením čipu ke čtečce. Na panelu svítí rudá LED u čísla stolu, který je nepřítomen a zelená LED u stolu, který je přítomen. Zároveň se tato informace zobrazuje nad pracovištěm (stolem) pomocí RGB nápisu 01-10. Systém umožňuje "losovat" žáka pro vyvolání k tabuli (tlačítkem, nebo vzdáleně přes Raspberry Pi - web...) Losuje se pouze ze žáků kteří jsou přítomni. Čtečka je připojena k mikropočítači Raspberry Pi pomocí USB portu. Raspberry periodicky oslovuje čtečku a zjišťuje docházku (dostupnost) žáků. Následně ve stanovenou dobu zapíše žákům absenci do systému "Bakaláři". Systém automaticky resetuje účast po 9 hodinách od prvního načtení čipu (tj. například první žák si pípne účast v 7:00, ke smazání docházky tj k vynulování účasti dojde v 16:00).
Zapojení panelu (Arduino MEGA <-> LED <-> čtečka <-> bzučák)
Arduino MEGA | SPI čtečka MFRC522 |
48 | RST |
53 | SPI SS |
51 | SPI MOSI |
50 | SPI MISO |
52 | SPI SCK |
VCC 3.3V | 3.3V |
0V | 0V |
Arduino MEGA | tlačítko LOS |
3 | spínací tlačítko na 0V |
Arduino MEGA | bzučák |
43 | druhý konec na 0V |
Arduino MEGA | rudá LED žák 1 -10 (přes rezistor 100 Ohm k LED a následně na 0V) |
A9 | žák 1 |
A8 | žák 2 |
A7 | žák 3 |
A6 | žák 4 |
A5 | žák 5 |
A4 | žák 6 |
A3 | žák 7 |
A2 | žák 8 |
A1 | žák 9 |
A0 | žák 10 |
Arduino MEGA | zelená LED žák 1 -10 (přes rezistor 100 Ohm k LED a následně na 0V) |
47 | žák 1 |
46 | žák 2 |
45 | žák 3 |
44 | žák 4 |
A15 | žák 5 |
A14 | žák 6 |
A13 | žák 7 |
A12 | žák 8 |
A11 | žák 9 |
A10 | žák 10 |
Arduino MEGA | výstup do RGB LED modulů (33ks) tj 3x10 pro žák1-10 + 3x1 pro los |
2 | data in |
0V | 0V |
+5V | +5V |
Foto panelu
RGB LED moduly s WS2812
Zapnutí napájení - TEST
Po zapnutí napájení zařízení proběhne test všech RGB LED modulů zák 1 - 10 (nápis LOS svítí bíle), rotuje 3x rudá a zelena LED na panelu se čtečkou, následně pípne repro na 1 vteřinu. Pokud má čtečka RFID chybu (test se provádí při zapnutí) blikají střídavě všechny LED na panelu RFID (rudá/zelená).
Naučení čipů do čtečky
Do čtečky přes USB (UART) odešleme příkaz "L". Na čtečce začne přerušovaně blikat rudá/zelená LED u žáka číslo 1. Přiložíme čip, který chceme pro tohoto žáka naučit. Po přiložení čtečka pípne, dojde k uložení do paměti EEPROM a následně se pozice přesune na žáka číslo 2 (začne přerušovaně blikat rudá/zelená LED u žáka číslo 2). Takto postupně naučíme do čtečky všech 10 čipů (žák 1 - 10).
Provoz
Na všech pracovištích "žák 1 - žák 10" svítí rudé LED. Po přiložení čipu (například žák 1) dojde ke změně barvy nad pracovištěm na zelenou barvu (na panelu čtečky se změní rudá LED žáka 1 na zelenou LED).
Losování
Stiskneme tlačítko "LOS", nebo přes USB (UART) odešleme příkaz "C".
Komunikace přes UART (USB)
Komunikace Rapsberry Pi - Arduino MEGA
Rychlost 115200 Baud
S = "send" poslat UID všech naučených čipů na UART
L = "learn" naučit postupně všech 10 čipů do eeprom
R = "read" načísti všechny čipy z eeprom do čtecky
D = "default" smazat celou eeprom
U = "user" poslat stav docházky na UART (do Raspberry)
C = "call" vyvolat žáka, začne se losovat žák 1-10 a přitom pípá repro, po vylosování se zahraje melodie super mario bros a režim se ukončí
ZDARMA (pro registrované)
- hex pro procesor Atmega2560 V1.1
DONATE (pro ty co přispěli)
- zdroj + hex pro Arduino IDE (FW-1.0 a vyšší), 3D data pro tiskárnu (3MF, GCODE), Python progam pro Raspberry Pi
Aktuální FW verze
- FW1.0 výchozí verze
- FW1.1 verze s RGB LED moduly WS2812 a režimem losování
Na článku se pracuje...