Turinys:

„Arduino“durų skambutis: 5 žingsniai
„Arduino“durų skambutis: 5 žingsniai

Video: „Arduino“durų skambutis: 5 žingsniai

Video: „Arduino“durų skambutis: 5 žingsniai
Video: Vartų skambutis, IP domofonas iš Dahua. Išpakavimas. 2024, Liepa
Anonim
„Arduino“durų skambutis
„Arduino“durų skambutis

PRIEMONĖS

-2 duonos lentos

-švilpukas

-šuoliniai laidai

-2 arduino/genuino su maitinimo kabeliais

-rf siųstuvas ir imtuvas

-mygtukas

-100 omų rezistorius

1 žingsnis: Funkcija

Šis projektas yra veikiantis durų skambutis, kurio pagrindinė funkcija yra naudojant kodą programuoti arduino taip, kad mygtukas su siųstuvu siunčia signalą į priėmimo galą su garsiniu signalu ir imtuvu, kuris belaidžiu ryšiu inicijuos durų skambučio garsą.

2 žingsnis: 1 žingsnis: siųstuvo plokštė

1 žingsnis: siųstuvo plokštė
1 žingsnis: siųstuvo plokštė

Šis projektas turėtų veikti, kai prie jo prijungtos 2 duonos lentos ir 2 arduiono/genuinos. siųstuvo plokštėje mes prijungiame mygtuką su 100 omų rezistoriumi, prijungtu prie žemės, ir laidą, prijungtą prie maitinimo plokštės. Tada prijunkite siųstuvą prie duonos lentos ir prijunkite mygtuką prie siųstuvo ir arduino, kaip parodyta paveikslėlyje.

3 veiksmas: 2 veiksmas: imtuvo plokštė

2 žingsnis: imtuvo lenta
2 žingsnis: imtuvo lenta

Imtuvo lentoje yra garsinis signalas. Prijunkite vieną laidą prie žemės per imtuvą ir prijunkite laidą prie pasirinkto kaiščio, kurį vėliau galėsite pritaikyti savo kode. Prijunkite imtuvą prie duonos lentos ir prijunkite prie arduino, kaip parodyta paveikslėlyje.

4 žingsnis: 3 žingsnis: siųstuvo kodas

// ask_transmitter.pde

// -* -režimas: C ++ -* -

// Paprastas pavyzdys, kaip naudoti „RadioHead“pranešimams perduoti

// su paprastu ASK siųstuvu labai paprastu būdu.

// Įdiegia vienpusį (vienpusį) siųstuvą su TX-C1 moduliu

#įtraukti

#include // Iš tikrųjų nenaudojamas, bet reikalingas kompiliavimui

RH_ASK vairuotojas;

// RH_ASK tvarkyklė (2000, 2, 4, 5); // ESP8266 arba ESP32: nenaudokite kaiščio 11

negaliojanti sąranka ()

{

Serial.begin (9600); // Tik derinimas

pinMode (5, INPUT);

jei (! driver.init ())

Serial.println ("init nepavyko");

}

tuštumos kilpa ()

}

if (digitalRead (5) == HIGH) {

const char *msg = "a";

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

driver.waitPacketSent ();

vėlavimas (200);

}

}

5 veiksmas: 4 veiksmas: imtuvo kodas

#įtraukti

#include // Tikrai nenaudojamas, bet reikalingas kompiliavimui

#include "pitches.h" // pridėti lygiavertį muzikos natos dažnį

#include "themes.h" // pridėti pastabą ir trukmę

RH_ASK vairuotojas;

negaliojanti sąranka ()

{

Serial.begin (9600); // Tik derinimas

jei (! driver.init ())

Serial.println ("nepavyko inicijuoti");

Kitas

Serial.println („padaryta“);

RH_ASK vairuotojas;

negaliojanti sąranka ()

{

Serial.begin (9600); // Tik derinimas

jei (! driver.init ())

Serial.println ("nepavyko inicijuoti");

Kitas

Serial.println („padaryta“);

}

void Play_Pirates ()

{

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

int noteDuration = 1000/Pirates_duration [thisNote]; // konvertuoti trukmę į laiko uždelsimą

tonas (8, „Pirates_note [thisNote], noteDuration);

int pauseBetweenNotes = noteDuration * 1.05; // Čia 1.05 yra tempas, padidinkite, kad jį paleistumėte lėčiau

uždelsimas (pauseBetweenNotes);

noTone (8); // sustabdyti muziką 8 kaištyje

}

}

tuštumos kilpa ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

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

{

Serial.println ("Pasirinktas -> 'Jis yra piratas" ");

„Play_Pirates“();

Serial.println ("stop");

}

}

Rekomenduojamas: