Satura rādītājs:

Arduino durvju zvans: 5 soļi
Arduino durvju zvans: 5 soļi

Video: Arduino durvju zvans: 5 soļi

Video: Arduino durvju zvans: 5 soļi
Video: Кодовый дверной замок своими руками 😂😂 2024, Jūlijs
Anonim
Arduino durvju zvans
Arduino durvju zvans

PIEDERUMI

-2 maizes dēļi

-skaņas signāls

-džempera vadi

-2 arduino/genuino ar strāvas kabeļiem

-rf raidītājs un uztvērējs

-Uzspied pogu

-100 omu rezistors

1. darbība: funkcija

Šis projekts ir strādājošs durvju zvans, kura galvenā funkcija ir izmantot kodu, lai ieprogrammētu arduino tādā veidā, ka spiedpoga ar raidītāju nosūta signālu uztvērēja galam ar skaņas signālu un uztvērēju, kas aktivizēs durvju zvana skaņas signālu ar bezvadu savienojumu.

2. darbība: 1. darbība: raidītāja dēlis

1. darbība: raidītāja dēlis
1. darbība: raidītāja dēlis

Šim projektam vajadzētu darboties, ja tiem ir pievienoti 2 maizes dēļi un 2 arduiono/genuinos. raidītāja plāksnei mēs savienojam spiedpogu ar 100 omu rezistoru, kas pievienots zemei, un vadu, kas pievienots barošanai uz maizes dēļa. Pēc tam pievienojiet raidītāju pie maizes dēļa un pievienojiet pogu gan raidītājam, gan arduino, kā parādīts attēlā.

3. darbība: 2. darbība: uztvērēja dēlis

2. solis: uztvērēja dēlis
2. solis: uztvērēja dēlis

Uztvērēja panelī atrodas zummeris. Savienojiet vienu vadu ar zemi caur uztvērēju un pievienojiet vadu izvēlētajai tapai, kuru vēlāk varat pielāgot savā kodā. Pievienojiet uztvērēju pie maizes dēļa un pievienojiet to arduino, kā parādīts attēlā.

4. darbība: 3. darbība: raidītāja kods

// ask_transmitter.pde

// -* -režīms: C ++ -* -

// Vienkāršs piemērs tam, kā lietot RadioHead ziņojumu pārsūtīšanai

// ar vienkāršu ASK raidītāju ļoti vienkāršā veidā.

// Īsteno vienpusēju (vienvirziena) raidītāju ar TX-C1 moduli

#iekļaut

#include // Patiesībā netiek izmantots, bet jāapkopo

RH_ASK vadītājs;

// RH_ASK draiveris (2000, 2, 4, 5); // ESP8266 vai ESP32: neizmantojiet 11. tapu

anulēts iestatījums ()

{

Sērijas sākums (9600); // Tikai atkļūdošana

pinMode (5, INPUT);

ja (! driver.init ())

Serial.println ("init neizdevās");

}

tukša cilpa ()

}

ja (digitalRead (5) == HIGH) {

const char *msg = "a";

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

driver.waitPacketSent ();

kavēšanās (200);

}

}

5. darbība: 4. darbība: uztvērēja kods

#iekļaut

#include // Nav faktiski izmantots, bet nepieciešams apkopošanai

#include "pitches.h" // pievienot līdzvērtīgu frekvenci mūzikas notīm

#include "themes.h" // pievienot piezīmi un ilgumu

RH_ASK vadītājs;

anulēts iestatījums ()

{

Sērijas sākums (9600); // Tikai atkļūdošana

ja (! driver.init ())

Serial.println ("init neizdevās");

citādi

Serial.println ("darīts");

RH_ASK vadītājs;

anulēts iestatījums ()

{

Sērijas sākums (9600); // Tikai atkļūdošana

ja (! driver.init ())

Serial.println ("init neizdevās");

citādi

Serial.println ("darīts");

}

void Play_Pirates ()

{

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

int noteDuration = 1000/Pirates_duration [šī piezīme]; // pārvērst ilgumu par aizkavi

tonis (8, Pirates_note [šī piezīme], piezīmeDuration);

int pauseBetweenNotes = noteDuration * 1,05; // Šeit 1.05 ir temps, palieliniet, lai to atskaņotu lēnāk

kavēšanās (pauseBetweenNotes);

noTone (8); // apturēt mūziku 8. tapā

}

}

tukša cilpa ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

if (driver.recv (buf, & buflen)) // Nebloķēšana

{

Serial.println ("Atlasīts -> 'Viņš ir pirāts'");

Play_Pirāti ();

Serial.println ("pietura");

}

}

Ieteicams: