Mundarija:

NRF24L01 va 4 raqamli 7 segmentli displeyli Arduino simsiz kombinatsiyasi qulfi: 6 qadam (rasmlar bilan)
NRF24L01 va 4 raqamli 7 segmentli displeyli Arduino simsiz kombinatsiyasi qulfi: 6 qadam (rasmlar bilan)

Video: NRF24L01 va 4 raqamli 7 segmentli displeyli Arduino simsiz kombinatsiyasi qulfi: 6 qadam (rasmlar bilan)

Video: NRF24L01 va 4 raqamli 7 segmentli displeyli Arduino simsiz kombinatsiyasi qulfi: 6 qadam (rasmlar bilan)
Video: Shu yaxshimi endi). ACTIVIST 2024, Noyabr
Anonim
NRF24L01 va 4 raqamli 7 segmentli displeyli Arduino simsiz kombinatsiyali qulfi
NRF24L01 va 4 raqamli 7 segmentli displeyli Arduino simsiz kombinatsiyali qulfi

Ushbu loyiha o'z hayotini 4 ta raqamli 7 segmentli displey yordamida biror narsa qilish uchun mashq sifatida boshladi.

Men 4 raqamli kombinatsiyali raqamni kiritish qobiliyatiga ega bo'ldim, lekin uni tugatgandan so'ng, bu juda zerikarli edi. Men uni Arduino UNO yordamida qurdim. Bu ishladi, lekin boshqa hech narsa qilmadi.

Keyin menda tanlangan raqamni qabul qilish tugmasi bo'lishi kerak, va kombinatsiyani o'zgartirish uchun boshqa tugma bo'lishi kerak, va har qanday vaqtda uning holatini ko'rsatadigan LED bo'lishi kerak degan fikr paydo bo'ldi. Bu rejaga o'xshab ko'rinsa -da, bu men UNO -dagi tugunlarim tugashini anglatardi. Bu birlikni ko'paytirish usuli bo'lishi mumkin, lekin qaerdan boshlashni bilmayman, shuning uchun men Arduino Mega -ga bordim.

Endi men kattaroq taxtadan foydalandim va o'ynash uchun ko'proq pinlarim bor edi, men ham qandaydir kalitni boshqaradigan boshqa Arduino bilan muloqot qilish uchun Wi-Fi imkoniyatlarini qo'shishga qaror qildim.

1 -qadam: talablar va ehtiyot qismlar ro'yxati

Ehtiyot qismlar va talablar ro'yxati
Ehtiyot qismlar va talablar ro'yxati

Bularning barchasi haqida o'ylab, men hozir talablar ro'yxatini oldim:

  • 4 xonali kombinatsiyani kiritish uchun.
  • Standart kodli kombinatsiyadan boshlash uchun.
  • Kombinatsiyani o'zgartirish va yangi kombinatsiyani Arduino EEPROM -da saqlash uchun.
  • Qulf holatini qulflangan qizil LED bilan, ochish uchun yashil LED bilan ko'rsatish.
  • Ko'k rangli LED yordamida kombinatsiyani o'zgartirish holatini ko'rsatish.
  • Qulf ochilganda, bir muddat turing va keyin qulflangan holatga qayting.
  • Qulflangan/qulflanmagan holatni boshqa Arduino -ga o'tkazing.
  • Xuddi shu holatni qabul qiluvchi Arduino -da qizil va yashil LEDlar bilan ko'rsatish.
  • Namoyish maqsadida, qabul qilingan holatga asoslangan qulflash mexanizmi vazifasini bajarish uchun servodan foydalaning.

Talablardan men hozir qismlar ro'yxatini tuzishim mumkin:

Transmitter:

  • Arduino Mega.
  • Non paneli.
  • 4 raqamli 7 segmentli displey.
  • Qopqoqli 2 X lahzali kalit.
  • 1 X RGB LED.
  • 9 x 220 ohmli rezistorlar. Displey uchun 8 va RGB LED uchun 1.
  • 2 x 10 kohmli rezistorlar. 2 tugma uchun rezistorlarni torting. (Men aslida 9.1 kohm ishlatganman, chunki menda shunday bo'lgan)
  • 1 x 10k potentsiometr.
  • 1 X NRF24L01
  • [ixtiyoriy] NRF24L01 uchun 1 X YL-105 kesish taxtasi. Bu 5V ulanishi va simlarni osonlashtirish imkonini beradi. Jumper simlari

Qabul qiluvchi:

  • Arduino UNO.
  • Non paneli.
  • 1 X RGB LED.
  • 1 x 220 ohmli qarshilik. LED uchun.
  • 1 X servo. Men SG90 -ni faqat namoyish maqsadida ishlatardim.
  • 1 X NRF24L01
  • ixtiyoriy] NRF24L01 uchun 1 X YL-105 kesish taxtasi. Bu 5V ulanish va kabelni osonlashtirish imkonini beradi.
  • Jumper simlari

2 -qadam: Displey

Displey
Displey
Displey
Displey

Men 4 ta raqamli 7 segmentli displeydan foydalanardim

SMA420564 va SM420562K bilan sinovdan o'tgan (pinlar bir xil)

1 va 12 -bandlar belgilanadi.

12, 11, 10, 9, 8, 7 1, 2, 3, 4, 5, 6 -gachasi yuqoridan pastga qarang

12, 9, 8, 6 -pinlar chapdan o'ngga 1 dan 4 gacha raqamni yoqadi yoki o'chiradi

3 -qadam: Arduino Mega -ni ulash:

Arduino Mega -ni ulash
Arduino Mega -ni ulash

Arduino pinining tartibini ko'rsatish

  • 1 ga 6 ohmli 220 ohmli rezistor orqali (E)
  • 2 ga 5 ohmli 220 ohmli rezistor orqali (D)
  • Bu erda ishlatilmaydigan 220 ohmli rezistor (DP) orqali 9 -pin
  • 4 ga 4 ohmli 220 ohmli qarshilik orqali (C)
  • 5 ga 8 ohmli 220 ohmli rezistor orqali (G)
  • 6 -pin 33 -raqam (4 -raqam)
  • 7 ga 3 ohmli 220 ohmli rezistor orqali (B)
  • 8 dan 32 gacha (3 -raqam)
  • 9 dan 31 gacha (2 -raqam)
  • 10 ga 7 ohmli 220 ohmli qarshilik (F) orqali
  • 11 2 -pinli 220 ohmli rezistor orqali (A)
  • 12 dan 30 gacha (1 -raqam)

Ko'rsatilgan raqamdagi raqamni o'zgartirish uchun 10km potentsiometr

  • Tashqi pin 5V ga
  • O'rta pin A0 ga
  • GND uchun boshqa tashqi pin

Raqamni qabul qilish tugmasi

  • 36 -raqamli.
  • Va 36-sonni GND ga 10 kohmlik pastga tushirish qarshiligi orqali ulang

Raqamli kombinatsiyani o'zgartirish tugmasi

  • 37 raqamiga ulang.
  • Va 37-sonni GND ga 10 kohmlik pastga tushirish qarshiligi orqali ulang

RGB LED (umumiy katod)

  • 220 ohmli rezistor orqali GND ga katod
  • 40 -raqamli qizil
  • 41 -pin uchun yashil rang
  • 42 -pin uchun ko'k

NRF24L01 uzilish taxtasi bilan:

  • MISO 50 -pinli (ajratilgan pin orqali majburiy)
  • 51 -pinli MOSI (ajratilgan pin orqali majburiy)
  • SCK 52 -pingacha (ajratilgan pin orqali majburiy)
  • Idoralar 44 -pin (ixtiyoriy pin raqami, lekin eskizda aniqlangan)
  • CSN 45 -pingacha (ixtiyoriy pin raqami, lekin eskizda aniqlangan)
  • Arduino 5v uchun Vcc (yoki kesish paneli ishlatilmaganda 3.3v)
  • GND dan Arduino GNDgacha

4 -qadam: Arduino UNO -ni ulash:

Arduino UNO -ni ulash
Arduino UNO -ni ulash

RGB LED (umumiy katod)

  • 220 ohmli rezistor orqali GND ga katod
  • Qizil 2 -pin uchun yashil 3 -pin
  • Moviy (bu erda ishlatilmaydi)

Servo:

  • Qizil rang Arduino 5v yoki ishlatilsa alohida ta'minot
  • Jigarrangdan Arduino GNDgacha va agar ishlatilsa alohida ta'minot
  • 6 -pin uchun to'q sariq

NRF24L01 uzilish taxtasi bilan:

MISO 12 -pin uchun (ajratilgan pin orqali majburiy)

MOSI 11 -pinli (ajratilgan pin orqali majburiy)

SCK 13 -pingacha (ajratilgan pin orqali majburiy)

Idoralar - 7 -pin (ixtiyoriy pin raqami, lekin eskizda aniqlangan)

CSN 8 -pingacha (ixtiyoriy pin raqami, lekin eskizda aniqlangan)

Arduino 5v uchun Vcc (yoki kesish paneli ishlatilmaganda 3.3v)

GND dan Arduino GNDgacha

5 -qadam: Bu qanday ishlaydi

Image
Image
U qanday ishlaydi
U qanday ishlaydi
U qanday ishlaydi
U qanday ishlaydi
U qanday ishlaydi
U qanday ishlaydi

Ikkala non paneli ham tugallangach va ularga tegishli eskiz yuklansa, endi biz uni sinab ko'rishimiz mumkin.

Ikkala taxtada quvvat bilan.

Qizil LEDlar ikkala taxtada ham ko'rsatilishi kerak.

Displeyda birinchi raqamdagi raqam ko'rsatiladi. Bu raqam potentsiometr hozirda qayerda o'rnatilganiga bog'liq bo'ladi.

Istalgan raqamni olish uchun potansiyometrni aylantiring.

Raqam topilgach, qabul qilish tugmasini bosing. Menimcha, bu potentsiometrning chap tomonida.

Boshqa uchta raqam uchun ham xuddi shunday qiling.

Agar kiritilgan kombinatsiya to'g'ri bo'lsa, OPEn so'zi ko'rsatiladi, ikkala LEDda yashil LED yonadi va servo 180 gradusga buriladi.

Displey o'chadi va yashil LED taxminan 5 soniya ko'proq yonadi.

Qulfni ochish vaqti tugagach, ikkala LED ham qizil rangda yonadi va servo boshlanishiga 180 gradus orqaga buriladi.

Agar kiritilgan kombinatsiya noto'g'ri bo'lsa, OOPS so'zi ko'rsatiladi va qizil LEDlar yonib turadi.

1 1 1 1 chizmasida standart kodli standart kombinatsiya mavjud.

Kombinatsiyani o'zgartirish uchun avval to'g'ri kombinatsiyani kiritish kerak.

OPEn so'zi ketgandan so'ng, boshqa tugmani bosish uchun 5 soniya vaqt qoladi.

O'zgartirishlar kombinatsiyasi ketma -ketligini kiritganingizdan so'ng, asosiy taxtaning LED -si ko'k rangda yonadi, ikkinchisi yashil bo'lib qoladi va shu sababli ochiq bo'ladi.

Yangi kombinatsiyani avvalgidek kiriting.

Yangi kombinatsiya qabul qilingandan so'ng (tugmani oxirgi bosish) u EEPROMda saqlanadi.

Endi ikkala Arduino ham qulflangan rejimga o'tadi.

Yangi kombinatsiyani kiriting va u kutilganidek qulfdan chiqariladi.

EEPROM -da kombinatsiya o'zgartirilgandan va saqlanganidan so'ng, qattiq kodlangan standart 1 1 1 1 e'tiborga olinmaydi.

6 -qadam: Hammasi bajarildi

Men buni asosiy NRF24L01 yordamida qurdim, u havo orqali o'rnatilgan va bir devor orqali taxminan 15 fut yaxshi aloqa o'rnatgan.

Arduino Mega non paneli biroz simlar bilan band bo'lgani uchun, men ba'zi joylarda to'g'ridan -to'g'ri o'tish moslamalarini ishlatardim. Bu, bitta non taxtasida ko'p narsa borligi bilan, rasmlarga rioya qilishni qiyinlashtiradi.

Menimcha, men pin uchun hamma narsani tushuntirdim, va agar siz yangi boshlovchi bo'lsangiz ham, siz bir vaqtning o'zida bitta sim yoki pin yordamida bu kichik loyihani qura olasiz.

Ikkala chizma ham o'qish qulayligi uchun to'liq sharhlangan va bu erda yuklab olish mumkin.

Arduino Mega -ning eskizi juda katta, taxminan 400 qatordan iborat, lekin boshqariladigan bo'laklarga bo'linadi, shuning uchun ularni osonlikcha bajarish kerak.

Tavsiya: