Ардуинонун жардамы менен домофондун ачкычынын көчүрмөсүн 15 мүнөттүн ичинде үйдөн жасап алсаңыз болот, мисалы, семинар жабык болсо, ачкыч тезинен керек болсо. Келгиле, бул кандайча жасалгандыгын карап көрөлү.
Ал зарыл
- - Arduino;
- - компьютер;
- - iButton же 1 зымдуу домофон түрүндөгү ачкыч;
- - түпнуска ачкычтын "клонун" түзүү үчүн жасалма ачкыч;
- - каршылыгы 2, 2 кОм болгон 1 резистор;
- - зымдарды туташтыруу.
Нускамалар
1 кадам
Домофон үчүн ар бир ачкычтын өзүнүн номери бар - дал ушул номер ачкычтын идентификатору катары кызмат кылат. Домофондун ачкыч номери боюнча өзүңүздүн же башка бирөөнүн чечими кабыл алынат. Демек, көчүрүүнүн алгоритми төмөнкүдөй: адегенде "уруксат берилген" баскычтын номерин таап, андан кийин бул номурду башка ачкычка - клонго ыйгаруу керек. Домофондун түпнуска ачкычы же анын көчүрмөсү тиркелгени менен айырмасы жок. Номерди анын ыйгарым укуктуу санынын маалымат базасы менен текшергенден кийин, ал эшикти ачат.
Биз Arduinoго туташтырган домофондун ачкычтары (кээде iButton же Touch Memory деп аталат) 1 зымдуу 1 зымдуу интерфейс аркылуу окулат жана жазылат. Ошондуктан, электр өткөргүчтөрүнүн схемасы өтө жөнөкөй. Бизге бир гана жуп зым жана 2.2К тартылуу резистору керек. Диаграмма сүрөттө көрсөтүлгөн.
2-кадам
1 зымдуу интерфейс менен иштөө үчүн Arduino үчүн даяр китепканалар бар. Мисалы, муну колдонсоңуз болот: https://www.pjrc.com/teensy/arduino_libraries/OneWire.zip. Архивди жүктөп алып, Arduino IDE каталогунда жайгашкан "китепканалар" папкасына жүктөп алыңыз. Эми биз бул протокол менен оңой иштей алабыз.
Сүрөттө көрсөтүлгөн эскизди стандарттуу түрдө Arduinoго жүктөңүз.
3-кадам
Бул эскиз схемага туташтырылган домофондун ачкыч номерин көрсөтөт. Бизге азыр ушул керек - көчүрүп алууну каалаган ачкычтын номерин табышыбыз керек. Arduino компьютериңизге туташтырыңыз. Сериялык порт мониторун баштайлы: Куралдар -> Сериялык порт монитор (же Ctrl + Shift + M баскычтобу).
Эми ачкычты схемага туташтыралы. Порттун мониторунда ачкыч номери көрсөтүлөт. Келгиле, ушул санды эстейли.
4-кадам
Эми эскизге маалыматтарды жазуучу эс тутумга жаза тургандай кылып жазалы. Код сүрөттө көрсөтүлгөн. Толук комментарийлер кодексте келтирилген. Эң негизгиси, key_to_write массивинде баштапкы ачкычыңыздын санын бир аз эртерээк үйрөнүп алганыңызды унутпаңыз.
5-кадам
Бул эскизди Arduinoго жүктөп бериңиз. Сериялык порт мониторун ачалы. Келгиле, баштапкы ачкычтын клону боло турган бир ачкычты туташтыралы. Сериялык порт монитору программалоонун натыйжасы жөнүндө билдирүү көрсөтөт.
6-кадам
1) Эгерде эскизди түзүүдө ката кетсе [WConstants.h: Андай файл же каталог # жок "WConstants.h"], анда "OneWire.cpp" файлында комментарийлерден кийинки биринчи блокту төмөнкүлөр менен алмаштырыңыз:
# "OneWire.h" камтыйт
# "Arduino.h" кирет
тышкы "С" {
# "avr / io.h" камтыйт
# "pins_arduino.h" камтыйт
}
2) Эгерде компиляция учурунда "OneWire классынын read_bytes деген мүчөсү жок" деген ката чыкса, анда башка OneWire китепканасын тапсаңыз, алардын көпчүлүгү Интернетте бар.