Innholdsfortegnelse:

Arduino dørklokke: 5 trinn
Arduino dørklokke: 5 trinn

Video: Arduino dørklokke: 5 trinn

Video: Arduino dørklokke: 5 trinn
Video: 🔮 Illuminate your Space: Transforming Your Home with the Brilliant Smart Home for Lights | Review! 2024, November
Anonim
Arduino dørklokke
Arduino dørklokke

LEVERANSER

-2 brødbrett

-buzzer

-jumper ledninger

-2 arduino/genuino med strømkabler

-rf sender og mottaker

-trykknapp

-100 ohm motstand

Trinn 1: Funksjon

Dette prosjektet er en fungerende dørklokke som hovedfunksjonen bruker kode for å programmere arduinoen på en måte der trykknappen med senderen sender et signal til mottakerenden med summer og mottaker som vil starte ringeklokken med en trådløs tilkobling.

Trinn 2: Trinn 1: Senderkort

Trinn 1: Senderkort
Trinn 1: Senderkort

Hvordan dette prosjektet skal fungere er å ha 2 brødbrett og 2 arduiono/genuinos koblet til dem. for senderkortet kobler vi til trykknappen med 100 ohm motstand koblet til bakken og en ledning koblet til strøm på brødbrettet. Koble deretter senderen til brødbrettet og led knappen til både senderen og arduinoen som vist på bildet.

Trinn 3: Trinn 2: Mottakerbord

Trinn 2: Mottakerbord
Trinn 2: Mottakerbord

På mottakerbordet er det hvor summeren går. Koble en ledning til jord gjennom mottakeren og koble en ledning til en pinne du ønsker, som du senere kan tilpasse i koden din. Koble mottakeren til brødbrettet og koble den til arduinoen som vist på bildet.

Trinn 4: Trinn 3: Senderkode

// ask_transmitter.pde

// -* -modus: C ++ -* -

// Enkelt eksempel på hvordan du bruker RadioHead til å overføre meldinger

// med en enkel ASK -sender på en veldig enkel måte.

// Implementerer en enkeltsender (enveis) sender med en TX-C1-modul

#inkludere

#include // Faktisk ikke brukt, men nødvendig for å kompilere

RH_ASK driver;

// RH_ASK driver (2000, 2, 4, 5); // ESP8266 eller ESP32: ikke bruk pin 11

ugyldig oppsett ()

{

Serial.begin (9600); // Bare feilsøking

pinMode (5, INNGANG);

hvis (! driver.init ())

Serial.println ("init mislyktes");

}

hulrom ()

}

if (digitalRead (5) == HIGH) {

const char *msg = "a";

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

driver.waitPacketSent ();

forsinkelse (200);

}

}

Trinn 5: Trinn 4: Mottakerkode

#inkludere

#include // Ikke brukt, men må kompileres

#inkludere "pitches.h" // legg til ekvivalent frekvens for noter

#include "theme.h" // legg til Note vale og varighet

RH_ASK driver;

ugyldig oppsett ()

{

Serial.begin (9600); // Bare feilsøking

hvis (! driver.init ())

Serial.println ("init mislyktes");

ellers

Serial.println ("ferdig");

RH_ASK driver;

ugyldig oppsett ()

{

Serial.begin (9600); // Bare feilsøking

hvis (! driver.init ())

Serial.println ("init mislyktes");

ellers

Serial.println ("ferdig");

}

ugyldig Play_Pirates ()

{

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

int noteDuration = 1000/Pirates_duration [thisNote]; // konvertere varighet til tidsforsinkelse

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

int pauseBetweenNotes = noteDuration * 1.05; // Her er 1.05 tempo, øk for å spille det saktere

forsinkelse (pauseBetweenNotes);

noTone (8); // stopp musikk på pin 8

}

}

hulrom ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

if (driver.recv (buf, & buflen)) // Ikke-blokkerende

{

Serial.println ("Utvalgt -> 'Han er en sjørøver'");

Play_Pirates ();

Serial.println ("stopp");

}

}

Anbefalt: