Indholdsfortegnelse:

Arduino dørklokke: 5 trin
Arduino dørklokke: 5 trin

Video: Arduino dørklokke: 5 trin

Video: Arduino dørklokke: 5 trin
Video: Обыгрываю 5 Мошеннических Игровых Автоматов с Наукой 2024, Juli
Anonim
Arduino dørklokke
Arduino dørklokke

FORSYN

-2 brødbrætter

-summer

-jumper ledninger

-2 arduino/genuino med strømkabler

-rf sender og modtager

-trykknap

-100 ohm modstand

Trin 1: Funktion

Dette projekt er en fungerende dørklokke, som hovedfunktionen bruger kode til at programmere arduinoen på en måde, hvor trykknappen med senderen sender et signal til den modtagende ende med summer og modtager, som vil starte dørklokke -buzz -lyden med en trådløs forbindelse.

Trin 2: Trin 1: Senderkort

Trin 1: Senderkort
Trin 1: Senderkort

Hvordan dette projekt formodes at fungere, er at have 2 brødbrætter og 2 arduiono/genuinos forbundet til dem. til senderkortet forbinder vi trykknappen med 100 ohm modstanden forbundet til jorden og en ledning tilsluttet strøm til brødbrættet. Tilslut derefter senderen til brødbrættet, og forbind knappen til både senderen og arduino som vist på billedet.

Trin 3: Trin 2: Modtagerkort

Trin 2: Modtagerkort
Trin 2: Modtagerkort

På modtagerkortet er det, hvor summeren går. Tilslut en ledning til jorden gennem modtageren, og slut en ledning til en pin efter eget valg, som du senere kan tilpasse i din kode. Tilslut modtageren til brødbrættet, og led den til arduinoen som vist på billedet.

Trin 4: Trin 3: Senderkode

// ask_transmitter.pde

// -* -tilstand: C ++ -* -

// Enkelt eksempel på, hvordan man bruger RadioHead til at overføre meddelelser

// med en simpel ASK -sender på en meget enkel måde.

// Implementerer en simplex (envejs) sender med et TX-C1-modul

#omfatte

#include // Faktisk ikke brugt, men nødvendig for at kompilere

RH_ASK driver;

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

ugyldig opsætning ()

{

Serial.begin (9600); // Debugging kun

pinMode (5, INPUT);

hvis (! driver.init ())

Serial.println ("init mislykkedes");

}

hulrum ()

}

hvis (digitalRead (5) == HIGH) {

const char *msg = "a";

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

driver.waitPacketSent ();

forsinkelse (200);

}

}

Trin 5: Trin 4: Modtagerkode

#omfatte

#include // Ikke brugt faktisk, men er nødvendig for at kompilere

#include "pitches.h" // tilføj ækvivalent frekvens for musiknote

#include "theme.h" // tilføj Note vale og varighed

RH_ASK driver;

ugyldig opsætning ()

{

Serial.begin (9600); // Debugging kun

hvis (! driver.init ())

Serial.println ("init mislykkedes");

andet

Serial.println ("udført");

RH_ASK driver;

ugyldig opsætning ()

{

Serial.begin (9600); // Debugging kun

hvis (! driver.init ())

Serial.println ("init mislykkedes");

andet

Serial.println ("udført");

}

ugyldige Play_Pirates ()

{

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

int noteDuration = 1000/Pirates_duration [thisNote]; // konverter varighed til tidsforsinkelse

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

int pauseBetweenNotes = noteDuration * 1,05; // Her er 1.05 tempo, øg for at spille det langsommere

forsinkelse (pauseBetweenNotes);

noTone (8); // stop musik på pin 8

}

}

hulrum ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

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

{

Serial.println ("Udvalgt -> 'Han er en pirat'");

Play_Pirates ();

Serial.println ("stop");

}

}

Anbefalede: