Arduino yordamida uy ichidagi interkom kalitining nusxasini 15 daqiqada, masalan, dastgoh yopilgan bo'lsa va kalitga zudlik bilan kerak bo'lsa, nusxasini yaratishingiz mumkin. Keling, bu qanday amalga oshirilishini ko'rib chiqaylik.
Bu zarur
- - Arduino;
- - kompyuter;
- - iButton yoki 1 simli interkom turi uchun kalit;
- - asl kalitning "klonini" yaratish uchun qo'pol kalit;
- - qarshilik 2, 2 kOm bo'lgan 1 rezistor;
- - simlarni ulash.
Ko'rsatmalar
1-qadam
Interkom uchun har bir kalit o'z raqamiga ega - bu kalit identifikatori bo'lib xizmat qiladigan raqam. O'zingizning yoki boshqa birovning telefon raqamini interkom hal qiladi. Shuning uchun nusxa ko'chirish algoritmi quyidagicha: avval siz "ruxsat etilgan" tugmachaning raqamini bilib olishingiz kerak, so'ngra bu raqamni boshqa kalitga - klonga tayinlashingiz kerak. Dastlabki kalit yoki uning nusxasi ilova qilinganligi interkom uchun farq qilmaydi. Raqamni o'zining vakolatli raqamlar bazasi bilan tekshirgandan so'ng, u eshikni ochadi.
Biz Arduino (ba'zan iButton yoki Touch Memory deb ham nomlanadi) ga ulaydigan interkom kalitlari 1 simli 1 simli interfeys orqali o'qiladi va yoziladi. Shuning uchun, elektr uzatish diagrammasi juda oddiy. Bizga faqat bir juft sim va 2,2 K tortish qarshiligi kerak. Diagramma rasmda ko'rsatilgan.
2-qadam
1 simli interfeys bilan ishlash uchun Arduino uchun tayyor kutubxonalar mavjud. Masalan, foydalanishingiz mumkin: https://www.pjrc.com/teensy/arduino_libraries/OneWire.zip. Arxivni yuklab oling va Arduino IDE katalogida joylashgan "kutubxonalar" papkasida oching. Endi biz ushbu protokol bilan juda oson ishlashimiz mumkin.
Rasmda ko'rsatilgan eskizni standart tarzda Arduino-ga yuklang.
3-qadam
Ushbu eskizda elektronga ulangan interkom uchun kalit raqam ko'rsatilgan. Bizga hozir kerak bo'lgan narsa - nusxasini olishni istagan kalit raqamini topishimiz kerak. Arduinoni kompyuteringizga ulang. Portli ketma-ket monitorni ishga tushiramiz: Asboblar -> Seriyali port monitor (yoki Ctrl + Shift + M klaviatura yorlig'i).
Endi kalitni sxemaga ulaymiz. Port monitorida kalit raqam ko'rsatiladi. Keling, ushbu raqamni eslaylik.
4-qadam
Keling, eskizni kalit xotiraga ma'lumotlarni yozishi uchun qayta yozamiz. Kod rasmda ko'rsatilgan. Batafsil sharhlar kodda keltirilgan. Eng muhimi, key_to_write qatorida asl kalitingizning raqamini biroz oldinroq bilib olishni unutmang.
5-qadam
Ushbu eskizni Arduino-ga yuklang. Keling, ketma-ket port monitorini ochamiz. Keling, elektron kalitni birlashtiramiz, bu asl kalitning klonidir. Seriyali port monitorida dasturlash natijasi to'g'risida xabar paydo bo'ladi.
6-qadam
1) Agar eskizni tuzishda xatolik yuz bersa [WConstants.h: Bunday fayl yoki katalog yo'q #include "WConstants.h"], unda "OneWire.cpp" faylida izohlardan keyingi birinchi blokni quyidagilar bilan almashtiring:
# "OneWire.h" ni o'z ichiga oladi
# "Arduino.h" ni o'z ichiga oladi
tashqi "C" {
# "avr / io.h" ni kiriting
# "pins_arduino.h" ni kiriting
}
2) Agar kompilyatsiya paytida "OneWire sinfida read_bytes deb nomlangan a'zo yo'q" xatosi paydo bo'lsa, boshqa OneWire kutubxonasini toping, ularning ko'pi Internetda.