Mundarija:

Arduino eshik qo'ng'irog'i: 5 qadam
Arduino eshik qo'ng'irog'i: 5 qadam

Video: Arduino eshik qo'ng'irog'i: 5 qadam

Video: Arduino eshik qo'ng'irog'i: 5 qadam
Video: avtomatik elektron qo'ng'iroq 2024, Iyul
Anonim
Arduino eshik qo'ng'irog'i
Arduino eshik qo'ng'irog'i

TAMOMATLAR

-2 ta non taxtasi

-buzzer

-yuqori simlar

-2 arduino/genuino quvvat kabellari bilan

-rf uzatuvchi va qabul qiluvchi

-bosish tugmasi

-100 ohm qarshilik

1 -qadam: Funktsiya

Bu loyiha - bu eshik vazifasini bajaruvchi eshik qo'ng'irog'i, uning asosiy vazifasi arduino dasturlash uchun koddan foydalanadi, chunki uzatuvchi tugmachasi signal qabul qilgichga signal qabul qilgich va signal qabul qilgich orqali yuboriladi, bu simsiz ulanish orqali eshik qo'ng'irog'ining ovozini chiqaradi..

2 -qadam: 1 -qadam: Transmitter paneli

1 -qadam: Transmitter paneli
1 -qadam: Transmitter paneli

Bu loyiha qanday ishlashi kerak - 2 ta non taxtasi va ularga 2 ta arduiono/genuino ulangan. transmitter paneli uchun biz tugmachani erga ulangan 100 ohmli rezistor va non panelidagi quvvatga ulangan sim bilan bog'laymiz. Keyin transmitterni non paneliga ulang va rasmda ko'rsatilgandek tugmani uzatgichga ham, arduinoga ham ulang.

3 -qadam: 2 -qadam: Qabul qiluvchilar paneli

2 -qadam: qabul qilish paneli
2 -qadam: qabul qilish paneli

Qabul qilgich panelida ovozli signal eshitiladi. Qabul qilgich orqali bitta simni erga ulang va siz tanlagan pinga simni ulang, uni keyinchalik kodingizga moslashtirasiz. Qabul qilgichni non paneliga ulang va rasmda ko'rsatilgandek arduino simiga ulang.

4 -qadam: 3 -qadam: Transmitter kodi

// ask_transmitter.pde

// -* -rejimi: C ++ -* -

// RadioHead -dan xabarlarni uzatish uchun qanday oddiy misol

// oddiy ASK transmitteri bilan juda sodda tarzda.

// TX-C1 moduli bilan oddiy (bir tomonlama) uzatgichni amalga oshiradi

#qo'shing

#include // Aslida ishlatilmagan, lekin kompilyatsiya qilish uchun kerak

RH_ASK haydovchi;

// RH_ASK drayveri (2000, 2, 4, 5); // ESP8266 yoki ESP32: 11 -pinni ishlatmang

bo'sh o'rnatish ()

{

Serial.begin (9600); // Faqat disk raskadrovka

pinMod (5, Kirish);

agar (! driver.init ())

Serial.println ("boshlang'ich muvaffaqiyatsiz tugadi");

}

bo'sh halqa ()

}

agar (digitalRead (5) == YUQORI) {

const char *msg = "a";

driver.send ((uint8_t *) msg, strlen (msg));

driver.waitPacketSent ();

kechikish (200);

}

}

5 -qadam: 4 -qadam: Qabul qiluvchining kodi

#qo'shing

#include // Haqiqatan ham ishlatilmagan, lekin kompilyatsiya qilish uchun kerak

#include "pitches.h" // musiqiy notaning ekvivalent chastotasini qo'shing

#include "themes.h" // Eslatma qiymati va davomiyligini qo'shing

RH_ASK haydovchi;

bo'sh o'rnatish ()

{

Serial.begin (9600); // Faqat disk raskadrovka

agar (! driver.init ())

Serial.println ("boshlang'ich muvaffaqiyatsiz tugadi");

boshqa

Serial.println ("bajarilgan");

RH_ASK haydovchi;

bo'sh o'rnatish ()

{

Serial.begin (9600); // Faqat disk raskadrovka

agar (! driver.init ())

Serial.println ("boshlang'ich muvaffaqiyatsiz tugadi");

boshqa

Serial.println ("bajarilgan");

}

bekor Play_Pirates ()

{

for (int thisNote = 0; thisNote <(sizeof (Pirates_note)/sizeof (int)); thisNote ++) {

int noteDuration = 1000/Pirates_duration [thisNote]; // vaqtni kechiktirishga aylantirish

ohang (8, Pirates_note [thisNote], noteDuration);

int pauseBetweenNotes = noteDuration * 1.05; // Bu erda 1.05 - bu temp, uni sekinroq ijro etish uchun oshiring

kechikish (pauseBetweenNotes);

noTone (8); // 8 -pindagi musiqani to'xtating

}

}

bo'sh halqa ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

if (driver.recv (buf, & buflen)) // Bloklanmagan

{

Serial.println ("Tanlangan ->" U qaroqchi ");

Play_Pirates ();

Serial.println ("to'xtatish");

}

}

Tavsiya: