Inhoudsopgave:

Arduino-deurbel: 5 stappen
Arduino-deurbel: 5 stappen

Video: Arduino-deurbel: 5 stappen

Video: Arduino-deurbel: 5 stappen
Video: Doorbel Notifier 2024, November
Anonim
Arduino Deurbel
Arduino Deurbel

BENODIGDHEDEN

-2 broodplanken

-zoemer

-jumperdraden

-2 arduino/genuino met stroomkabels

-rf zender en ontvanger

-druk op de knop

-100 ohm weerstand

Stap 1: Functie

Dit project is een werkende deurbel waarvan de hoofdfunctie code gebruikt om de Arduino te programmeren op een manier waarbij de drukknop met de zender een signaal naar de ontvangende kant stuurt met de zoemer en ontvanger die het zoemgeluid van de deurbel zal starten met een draadloze verbinding.

Stap 2: Stap 1: Zenderkaart

Stap 1: Zenderkaart
Stap 1: Zenderkaart

Hoe dit project zou moeten werken, is dat er 2 breadboards en 2 arduiono/genuino's op zijn aangesloten. voor de zenderkaart verbinden we de drukknop met de 100 ohm weerstand verbonden met aarde en een draad verbonden met de voeding op het breadboard. Sluit vervolgens de zender aan op het breadboard en sluit de knop aan op zowel de zender als de arduino, zoals weergegeven in de afbeelding.

Stap 3: Stap 2: Ontvangerkaart

Stap 2: Ontvangerkaart
Stap 2: Ontvangerkaart

Op het ontvangerbord gaat de zoemer. Verbind één draad met aarde via de ontvanger en sluit een draad aan op een pin naar keuze die u later in uw code kunt aanpassen. Sluit de ontvanger aan op het breadboard en sluit deze aan op de arduino zoals weergegeven in de afbeelding.

Stap 4: Stap 3: Zendercode

// ask_transmitter.pde

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

// Eenvoudig voorbeeld van hoe RadioHead te gebruiken om berichten te verzenden

// met een eenvoudige ASK-zender op een heel eenvoudige manier.

// Implementeert een simplex (eenrichtings) zender met een TX-C1-module

#erbij betrekken

#include // Niet echt gebruikt maar nodig om te compileren

RH_ASK-stuurprogramma;

// RH_ASK-stuurprogramma (2000, 2, 4, 5); // ESP8266 of ESP32: gebruik geen pin 11

ongeldige setup()

{

Serieel.begin(9600); // Alleen foutopsporing

pinMode (5, INGANG);

if (!driver.init())

Serial.println ("init mislukt");

}

lege lus()

}

if(digitalRead(5)==HOOG){

const char *msg = "a";

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

stuurprogramma.waitPacketSent();

vertraging (200);

}

}

Stap 5: Stap 4: Ontvangercode

#erbij betrekken

#include // Niet echt gebruikt maar nodig om te compileren

#include "pitches.h" //add Equivalente frequentie voor muzieknoot

#include "themes.h" //add Note waarde en duur

RH_ASK-stuurprogramma;

ongeldige setup()

{

Serieel.begin(9600); // Alleen foutopsporing

if (!driver.init())

Serial.println ("init mislukt");

anders

Serial.println("klaar");

RH_ASK-stuurprogramma;

ongeldige setup()

{

Serieel.begin(9600); // Alleen foutopsporing

if (!driver.init())

Serial.println ("init mislukt");

anders

Serial.println("klaar");

}

ongeldig Play_Pirates()

{

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

int noteDuration = 1000 / Pirates_duration [thisNote];//convert duur naar vertraging

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

int pauseBetweenNotes = noteDuration * 1.05; //Hier is 1.05 het tempo, verhoog om het langzamer te spelen

vertraging (pauzeTussenNotes);

geen toon(8); // stop muziek op pin 8

}

}

lege lus()

{

uint8_t buf[1];

uint8_t buflen = sizeof(buf);

if (driver.recv(buf, &buflen)) // Niet-blokkerend

{

Serial.println("Geselecteerd -> 'Hij is een piraat' ");

Play_Pirates();

Serial.println("stop");

}

}

Aanbevolen: