İçindekiler:

Arduino Kapı Zili: 5 Adım
Arduino Kapı Zili: 5 Adım

Video: Arduino Kapı Zili: 5 Adım

Video: Arduino Kapı Zili: 5 Adım
Video: Arduino Dersleri #6 Kapı Zili Devresi 2024, Kasım
Anonim
Arduino Kapı Zili
Arduino Kapı Zili

GEREÇLER

-2 ekmek tahtası

-sesli uyarı

- atlama telleri

-2 arduino/genuino ile güç kabloları

-rf verici ve alıcı

-butona basınız

-100 ohm direnç

Adım 1: İşlev

Bu proje, ana işlevi arduino'yu verici ile basma düğmesinin zil ve alıcı ile alıcı uca bir sinyal gönderecek şekilde arduino'yu programlamak için kod kullanan çalışan bir kapı zilidir..

Adım 2: Adım 1: Verici Kartı

Adım 1: Verici Kartı
Adım 1: Verici Kartı

Bu projenin nasıl çalışması gerekiyor, 2 ekmek tahtası ve bunlara 2 arduiono/genuinos bağlı. Verici kartı için, 100 ohm'luk rezistör toprağa bağlı olan basmalı düğmeyi ve devre tahtasındaki güce bağlı bir kabloyu bağlarız. Ardından vericiyi devre tahtasına bağlayın ve düğmeyi resimde gösterildiği gibi hem vericiye hem de arduinoya bağlayın.

Adım 3: Adım 2: Alıcı Kartı

Adım 2: Alıcı Kartı
Adım 2: Alıcı Kartı

Alıcı kartında, sesli uyarının gittiği yerdir. Bir kabloyu alıcı üzerinden toprağa bağlayın ve daha sonra kodunuzda özelleştirebileceğiniz seçtiğiniz bir pime bir kablo bağlayın. Alıcıyı devre tahtasına bağlayın ve resimde gösterildiği gibi arduinoya bağlayın.

Adım 4: Adım 3: Verici Kodu

// ask_transmitter.pde

// -*- kip: C++ -*-

// Mesajları iletmek için RadioHead'in nasıl kullanılacağına dair basit bir örnek

// basit bir ASK vericisi ile çok basit bir şekilde.

// TX-C1 modülüyle tek yönlü (tek yönlü) bir verici uygular

#Dahil etmek

#include // Aslında kullanılmadı ama derlemek için gerekli

RH_ASK sürücüsü;

// RH_ASK sürücüsü(2000, 2, 4, 5); // ESP8266 veya ESP32: pin 11'i kullanmayın

geçersiz kurulum()

{

Seri.başla(9600); // Yalnızca hata ayıklama

pinMode(5, GİRİŞ);

if (!driver.init())

Serial.println("başlatma başarısız");

}

boşluk döngüsü()

}

if(digitalRead(5)==YÜKSEK){

const char *msg = "a";

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

driver.waitPacketSent();

gecikme(200);

}

}

Adım 5: Adım 4: Alıcı Kodu

#Dahil etmek

#include // Aslında kullanılmadı ama derlemek için gerekli

#include "pitchs.h" // nota için Eşdeğer frekans ekle

#include "themes.h" // Not değeri ve süresi ekleyin

RH_ASK sürücüsü;

geçersiz kurulum()

{

Seri.başla(9600); // Yalnızca hata ayıklama

if (!driver.init())

Serial.println("başlatma başarısız");

Başka

Serial.println("bitti");

RH_ASK sürücüsü;

geçersiz kurulum()

{

Seri.başla(9600); // Yalnızca hata ayıklama

if (!driver.init())

Serial.println("başlatma başarısız");

Başka

Serial.println("bitti");

}

geçersiz Play_Pirates()

{

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

int noteDuration = 1000 / Pirates_duration[thisNote];//süreyi zaman gecikmesine çevir

tone(8, Pirates_note[buNot], notSüresi);

int duraklamaBetweenNotes = notDuration * 1.05; //Burada 1.05 tempo, daha yavaş çalmak için artırın

gecikme (duraklatBetweenNotes);

tonsuz(8); // pin 8'deki müziği durdur

}

}

boşluk döngüsü()

{

uint8_t buf[1];

uint8_t buflen = sizeof(tampon);

if (driver.recv(buf, &buflen)) // Engellemeyen

{

Serial.println("Seçildi -> 'O bir Korsandır' ");

Play_Pirates();

Serial.println("dur");

}

}

Önerilen: