Բովանդակություն:

Arduino Doorbell: 5 քայլ
Arduino Doorbell: 5 քայլ

Video: Arduino Doorbell: 5 քայլ

Video: Arduino Doorbell: 5 քայլ
Video: Buzzer Projects | Buzzer 5v | Simple Door Bell Alarm | Mini Buzzer Project | Simple Alarm Circuit | 2024, Հուլիսի
Anonim
Արդուինո դռան զանգ
Արդուինո դռան զանգ

ՄԱՐPLԵՐ

-2 հացի տախտակ

-ազանգիչ

-jumper լարերը

-2 arduino/genuino հոսանքի մալուխներով

-rf հաղորդիչ և ընդունիչ

-սեղմել կոճակը

-100 օմ դիմադրություն

Քայլ 1: Գործառույթ

Այս նախագիծը աշխատող դռան զանգ է, որի հիմնական գործառույթն օգտագործում է կոդը `arduino- ն այնպես ծրագրավորելու համար, երբ հաղորդիչով սեղմված կոճակը ազդանշան է հաղորդում ընդունիչին` ազդանշանի և ստացողի հետ, որը անլար կապով կսկսի դռան զանգի ձայնի ձայնը:.

Քայլ 2: Քայլ 1. Հաղորդիչ տախտակ

Քայլ 1: Հաղորդիչ տախտակ
Քայլ 1: Հաղորդիչ տախտակ

Ինչպես ենթադրվում է, որ այս նախագիծը կաշխատի, դրանք ունեն 2 հացի տախտակ և 2 arduiono/genuinos միացված դրանց: հաղորդիչ տախտակի համար մենք միացնում ենք սեղմման կոճակը գետնին միացված 100 օմ ռեզիստորով և տախտակի վրա հոսանքին միացված լարով: Այնուհետև հաղորդիչը միացրեք տախտակին և միացրեք կոճակը և՛ հաղորդիչին, և՛ arduino- ին, ինչպես ցույց է տրված նկարում:

Քայլ 3: Քայլ 2. Ստացողի տախտակ

Քայլ 2: Ստացողի տախտակ
Քայլ 2: Ստացողի տախտակ

Ընդունիչի տախտակին այն վայրն է, որտեղից գնում է ազդանշանը: Ընդունիչի միջոցով մի մետաղալար միացրեք գետնին և միացրեք ձեր նախընտրած քորոցին, որը հետագայում կարող եք հարմարեցնել ձեր ծածկագրում: Միացրեք ընդունիչը սեղանի սեղանին և միացրեք այն արդուինոյին, ինչպես ցույց է տրված նկարում:

Քայլ 4: Քայլ 3. Հաղորդիչի ծածկագիրը

// ask_transmitter.pde

// -* -ռեժիմ ՝ C ++ -* -

// Պարզ օրինակ, թե ինչպես օգտագործել RadioHead- ը հաղորդագրություններ փոխանցելու համար

// պարզ ASK հաղորդիչով ՝ շատ պարզ եղանակով:

// Իրականացնում է պարզեցված (միակողմանի) հաղորդիչ ՝ TX-C1 մոդուլով

#ներառում

#ներառել // Իրականում չի օգտագործվում, բայց անհրաժեշտ է կազմելու համար

RH_ASK վարորդ;

// RH_ASK վարորդ (2000, 2, 4, 5); // ESP8266 կամ ESP32. Մի օգտագործեք 11 -րդ կապը

դատարկ կարգավորում ()

{

Serial.begin (9600); // Միայն վրիպազերծում

pinMode (5, Մուտք);

եթե (! driver.init ())

Serial.println ("init ձախողվեց");

}

դատարկ շրջան ()

}

եթե (digitalRead (5) == HIGH) {

const char *msg = "a";

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

driver.waitPacketSent ();

ուշացում (200);

}

}

Քայլ 5: Քայլ 4. Ստացողի կոդ

#ներառում

#ներառել // Իրականում չի օգտագործվում, բայց անհրաժեշտ է կազմելու համար

#ներառել «pitches.h» // ավելացնել համարժեք հաճախականություն երաժշտական նոտայի համար

#ներառել «themes.h» // ավելացնել Նշման արժեք և տևողություն

RH_ASK վարորդ;

դատարկ կարգավորում ()

{

Serial.begin (9600); // Միայն վրիպազերծում

եթե (! driver.init ())

Serial.println ("init ձախողվեց");

ուրիշ

Serial.println («արված»);

RH_ASK վարորդ;

դատարկ կարգավորում ()

{

Serial.begin (9600); // Միայն վրիպազերծում

եթե (! driver.init ())

Serial.println ("init ձախողվեց");

ուրիշ

Serial.println («արված»);

}

անվավեր Play_Pirates ()

{

համար (int thisNote = 0; thisNote <(sizeof (Pirates_note)/sizeof (int)); thisNote ++) {

int noteDuration = 1000/Pirates_duration [thisNote]; // տևողությունը փոխակերպել ժամանակի ուշացման

տոն (8, Pirates_note [thisNote], noteDuration);

int pauseBetweenNotes = նշումՏևողություն * 1.05; // Այստեղ 1.05 -ը տեմպ է, բարձրացրեք այն ավելի դանդաղ խաղալու համար

ուշացում (pauseBetweenNotes);

noTone (8); // դադարեցնել երաժշտությունը փին 8 -ում

}

}

դատարկ շրջան ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

if (driver.recv (buf, & buflen)) // Չարգելափակում

{

Serial.println ("Ընտրված -> 'Նա ծովահեն է'");

Խաղալ_պիրատս ();

Serial.println («կանգառ»);

}

}

Խորհուրդ ենք տալիս: