Innehållsförteckning:

Arduino Doorbell: 5 steg
Arduino Doorbell: 5 steg

Video: Arduino Doorbell: 5 steg

Video: Arduino Doorbell: 5 steg
Video: Amazing arduino project 2024, Juli
Anonim
Arduino dörrklocka
Arduino dörrklocka

LEVERANSER

-2 brödbrädor

-summer

-jumperkablar

-2 arduino/genuino med strömkablar

-rf -sändare och mottagare

-knapp

-100 ohm motstånd

Steg 1: Funktion

Detta projekt är en fungerande dörrklocka som huvudsakliga funktionen är att använda kod för att programmera arduino på ett sätt där tryckknappen med sändaren skickar en signal till den mottagande änden med summer och mottagare som initierar dörrklockans buzzljud med en trådlös anslutning.

Steg 2: Steg 1: Sändarkort

Steg 1: Sändarkort
Steg 1: Sändarkort

Hur detta projekt ska fungera är att ha 2 brödbrädor och 2 arduiono/genuinos kopplade till dem. för sändarkortet ansluter vi tryckknappen med 100 ohm -motståndet anslutet till jord och en kabel ansluten till strömmen på brödbrädet. Anslut sedan sändaren till brödbrädan och anslut knappen till både sändaren och arduino som visas på bilden.

Steg 3: Steg 2: Mottagarkort

Steg 2: Mottagarkort
Steg 2: Mottagarkort

På mottagarkortet är där summern går. Anslut en kabel till jord genom mottagaren och anslut en kabel till en stift som du väljer som du senare kan anpassa i din kod. Anslut mottagaren till brödbrädan och anslut den till arduino som visas på bilden.

Steg 4: Steg 3: Sändarkod

// ask_transmitter.pde

// -* -läge: C ++ -* -

// Enkelt exempel på hur man använder RadioHead för att överföra meddelanden

// med en enkel ASK -sändare på ett mycket enkelt sätt.

// Implementerar en enkel (enkelriktad) sändare med en TX-C1-modul

#omfatta

#include // Används faktiskt inte men måste kompileras

RH_ASK -drivrutin;

// RH_ASK -drivrutin (2000, 2, 4, 5); // ESP8266 eller ESP32: använd inte stift 11

void setup ()

{

Serial.begin (9600); // Endast felsökning

pinMode (5, INPUT);

om (! driver.init ())

Serial.println ("init misslyckades");

}

void loop ()

}

if (digitalRead (5) == HIGH) {

const char *msg = "a";

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

driver.waitPacketSent ();

fördröjning (200);

}

}

Steg 5: Steg 4: Mottagarkod

#omfatta

#include // Används faktiskt inte men måste kompileras

#inkludera "pitches.h" // lägg till ekvivalent frekvens för musiknoter

#inkludera "theme.h" // lägg till anteckningsval och varaktighet

RH_ASK -drivrutin;

void setup ()

{

Serial.begin (9600); // Endast felsökning

om (! driver.init ())

Serial.println ("init misslyckades");

annan

Serial.println ("klar");

RH_ASK -drivrutin;

void setup ()

{

Serial.begin (9600); // Endast felsökning

om (! driver.init ())

Serial.println ("init misslyckades");

annan

Serial.println ("klar");

}

ogiltiga Play_Pirates ()

{

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

int noteDuration = 1000/Pirates_duration [thisNote]; // konvertera varaktighet till tidsfördröjning

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

int pauseBetweenNotes = noteDuration * 1,05; // Här är 1.05 tempo, öka för att spela det långsammare

delay (pauseBetweenNotes);

noTone (8); // stoppa musik på stift 8

}

}

void loop ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

if (driver.recv (buf, & buflen)) // Icke-blockerande

{

Serial.println ("Selected -> 'He is a Pirate'");

Play_Pirates ();

Serial.println ("stopp");

}

}

Rekommenderad: