RFID docházkový systém pro žáky se zápisem do Bakalářů

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...