Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
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
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
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");
}
}