Mündəricat:

Arduino qapı zəngi: 5 addım
Arduino qapı zəngi: 5 addım

Video: Arduino qapı zəngi: 5 addım

Video: Arduino qapı zəngi: 5 addım
Video: 35 видео со страшными призраками: мегасборник 2023 года [V1] 2024, Iyul
Anonim
Arduino qapı zəngi
Arduino qapı zəngi

TƏCHİZAT

-2 ədəd çörək lövhəsi

-buzzer

-yüksək tellər

-2 arduino/genuino elektrik kabelləri ilə

-rf ötürücü və qəbuledici

-düyməni basmaq

-100 ohm müqavimət

Addım 1: funksiya

Bu layihə, əsas funksiyanın arduino proqramlaşdırmaq üçün kodu istifadə edərək işləyən bir qapı zəngidir ki, ötürücü ilə işləyən düymə, siqnal və qəbuledici ilə qəbuledici ucuna siqnal göndərir ki, bu da simsiz əlaqə ilə qapı zəngi səsi eşidəcəkdir..

Adım 2: Adım 1: Verici lövhəsi

Addım 1: Verici lövhəsi
Addım 1: Verici lövhəsi

Bu layihənin necə işləyəcəyi 2 çörək lövhəsi və onlara 2 arduiono/genuinosun bağlanmasıdır. verici lövhəsi üçün basma düyməsini yerə qoşulmuş 100 ohm müqavimət və çörək taxtasındakı gücə qoşulmuş bir tel ilə bağlayırıq. Sonra vericini çörək taxtasına qoşun və düyməni həm vericiyə, həm də şəkildə göstərildiyi kimi arduinoya bağlayın.

Adım 3: Adım 2: Alıcı lövhəsi

Addım 2: Alıcı lövhəsi
Addım 2: Alıcı lövhəsi

Alıcı lövhədə səsin getdiyi yerdir. Alıcı vasitəsilə bir teli yerə bağlayın və daha sonra kodunuzda düzəldə biləcəyiniz bir pinlə bir tel bağlayın. Alıcını çörək taxtasına qoşun və şəkildə göstərildiyi kimi arduinoya bağlayın.

Addım 4: Adım 3: Verici Kodu

// ask_transmitter.pde

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

// Mesajları ötürmək üçün RadioHead -dan necə istifadə olunacağına dair sadə bir nümunə

// çox sadə bir şəkildə sadə bir ASK ötürücü ilə.

// TX-C1 modulu olan sadə (birtərəfli) ötürücü tətbiq edir

#daxil edin

#include // Əslində istifadə olunmayıb, amma tərtib etmək lazımdır

RH_ASK sürücüsü;

// RH_ASK sürücüsü (2000, 2, 4, 5); // ESP8266 və ya ESP32: pin 11 istifadə etməyin

boş quraşdırma ()

{

Serial.begin (9600); // Yalnız ayıklama

pinMode (5, GİRİŞ);

əgər (! sürücü.init ())

Serial.println ("başlanğıc uğursuz oldu");

}

boşluq döngəsi ()

}

əgər (digitalRead (5) == YÜKSEK) {

const char *msg = "a";

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

sürücü.waitPacketSent ();

gecikmə (200);

}

}

Addım 5: Adım 4: Alıcı Kodu

#daxil edin

#include // Həqiqətən istifadə olunmayıb, amma tərtib etmək lazımdır

#include "pitches.h" // musiqi notu üçün ekvivalent tezlik əlavə edin

#include "themes.h" // Qeyd dəyərini və müddətini əlavə edin

RH_ASK sürücüsü;

boş quraşdırma ()

{

Serial.begin (9600); // Yalnız ayıklama

əgər (! sürücü.init ())

Serial.println ("başlanğıc uğursuz oldu");

başqa

Serial.println ("bitdi");

RH_ASK sürücüsü;

boş quraşdırma ()

{

Serial.begin (9600); // Yalnız ayıklama

əgər (! sürücü.init ())

Serial.println ("başlanğıc uğursuz oldu");

başqa

Serial.println ("bitdi");

}

boş Play_Pirates ()

{

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

int noteDuration = 1000/Pirates_duration [thisNote]; // müddəti gecikməyə çevirin

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

int pauseBetweenNotes = noteDuration * 1.05; // Burada 1.05 tempdir, daha yavaş oynamaq üçün artırın

gecikmə (pauseBetweenNotes);

noTone (8); // 8 nömrəli musiqini dayandırın

}

}

boşluq döngəsi ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

if (driver.recv (buf, & buflen)) // Bloklanmır

{

Serial.println ("Seçilmiş -> 'O, Piratdır");

Play_Pirates ();

Serial.println ("dayan");

}

}

Tövsiyə: