Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
SUPRIMENTOS
-2 tábuas de pão
-buzzer
-jumper fios
-2 arduino / genuino com cabos de alimentação
-rf transmissor e receptor
-botão de apertar
Resistor de -100 ohm
Etapa 1: Função
Este projeto é uma campainha funcional cuja função principal é usar o código para programar o arduino de forma que o botão com o transmissor envie um sinal para a extremidade receptora com a campainha e o receptor que iniciará o som da campainha com uma conexão sem fio.
Etapa 2: Etapa 1: Placa do transmissor
Este projeto deve funcionar com 2 placas de pão e 2 arduiono / genuinos conectados a elas. para a placa do transmissor, conectamos o botão de pressão com o resistor de 100 ohm conectado ao aterramento e um fio conectado à alimentação da placa de ensaio. Em seguida, conecte o transmissor à placa de ensaio e conecte o botão ao transmissor e ao arduino, conforme mostrado na imagem.
Etapa 3: Etapa 2: Placa receptora
Na placa receptora é onde a campainha vai. Conecte um fio ao terra através do receptor e conecte um fio a um pino de sua escolha, que você pode personalizar posteriormente em seu código. Conecte o receptor à placa de ensaio e conecte-o ao arduino conforme mostrado na imagem.
Etapa 4: Etapa 3: Código do transmissor
// ask_transmitter.pde
// - * - modo: C ++ - * -
// Exemplo simples de como usar RadioHead para transmitir mensagens
// com um transmissor ASK simples de uma forma muito simples.
// Implementa um transmissor simplex (unidirecional) com um módulo TX-C1
#incluir
#include // Na verdade não usado, mas necessário para compilar
Driver RH_ASK;
// driver RH_ASK (2000, 2, 4, 5); // ESP8266 ou ESP32: não use o pino 11
void setup ()
{
Serial.begin (9600); // Somente depuração
pinMode (5, INPUT);
if (! driver.init ())
Serial.println ("falha de inicialização");
}
void loop ()
}
if (digitalRead (5) == HIGH) {
const char * msg = "a";
driver.send ((uint8_t *) msg, strlen (msg));
driver.waitPacketSent ();
atraso (200);
}
}
Etapa 5: Etapa 4: Código do receptor
#incluir
#include // Não é realmente usado, mas necessário para compilar
#include "pitches.h" // adiciona frequência equivalente para nota musical
#include "themes.h" // adicione o valor da nota e a duração
Driver RH_ASK;
void setup ()
{
Serial.begin (9600); // Somente depuração
if (! driver.init ())
Serial.println ("falha de inicialização");
outro
Serial.println ("concluído");
Driver RH_ASK;
void setup ()
{
Serial.begin (9600); // Somente depuração
if (! driver.init ())
Serial.println ("falha de inicialização");
outro
Serial.println ("concluído");
}
void Play_Pirates ()
{
for (int thisNote = 0; thisNote <(sizeof (Pirates_note) / sizeof (int)); thisNote ++) {
int noteDuration = 1000 / Pirates_duration [thisNote]; // converter duração em atraso
tom (8, Pirates_note [thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1,05; // Aqui 1.05 é o tempo, aumente para reproduzi-lo mais devagar
atraso (pauseBetweenNotes);
noTone (8); // parar a música no pino 8
}
}
void loop ()
{
uint8_t buf [1];
uint8_t buflen = sizeof (buf);
if (driver.recv (buf, & buflen)) // Sem bloqueio
{
Serial.println ("Selecionado -> 'Ele é um pirata'");
Play_Pirates ();
Serial.println ("parar");
}
}