AVR245: Code Lock with 4x4 Keypad and I2C LCD on a tinyAVR [1], AVR.
:
, (14- ATtiny24).
4x4 / (I / O).
' / .
LCD ( I2C ) USI ( ) (TWI).
firmware C.
[1 ]
. , . , , . , , ( ). , ' .
, AVR . 4x4 , ' LCD , . . 1-1. ATtiny24 / 44/84, AVR.
AVR245-Block-Schematic-Code-Lock
. 1-1. - .
[2 ]
tinyAVR, , LCD, () . AVR , , . LCD ' . ( , ).
2.1
4x4. 16 , 4 4 . I / O .
3x4-Keypad-A 3x4-Keypad-B 4x4-Keypad-A 4x4-Keypad-B 4x4-Keypad-C
̳ , ( ) . 1, , ( ). (pull-up), , .
2.2 '
' , , . , .
piezo buzzer-A piezo buzzer-B piezo buzzer-C
. (DC) , (AC), . , , .
/ AVR .
2.3 LCD
, , 2 16 (2x16 LCD), . - I2C . I2C (Two-Wire Interface, TWI) AVR, ATtiny24 (Universal Serial Interface, USI), TWI, , LCD 2 .
lcd162b-ggn
[3 ]
. () STK500, STK505, LCD ' .
. : - AVR-USB-MEGA16, AVR-USB162, AVR-USB162MU, AVR-USB32U4. , .
3.1
.
AVR245-Schematic-Code-Lock
. 2-1. .
, , , - , . , ASSA, ABLOY, Headen ESMI.
electric-lock-A electric-lock-B electric-lock-Headen
3.2 (firmware)
firmware C. , .
doxygen, (. Readme.html). .
3.2.1 firmware
.
AVR245-Flow-Chart-Code-Lock
. 2-2. ij .
3.2.2 TWI
TWI LCD. AVR310, (Universal Serial Interface, USI) (Two-Wire Mode, TWI). TWI LCD LCD. TWI :
USI_TWI_Master.c
USI_TWI_Master.h
3.2.3 LCD
LCD LCD. LCD LCD. - , . LCD :
LCD.c
LCD.h
3.2.4
/ 0 (timer / counter 0) . ϳ , / , , . (Pin Change Interrupt). :
KPD.c
KPD.h
: debugWIRE ATtiny24, . KPD.h DEBUGWIRE, , .
. : debugWIRE GPIO, ATtiny24.
3.2.5 (Event Timer)
(watchdog) 䳿 (event window handler). watchdog, , watchdog ( ). ATtiny24 / 44/84 , watchdog - , .
watchdog LCD , .
3.2.6 (Buzzer Driver)
' / 1. . , . , .
. : -, , , -, .