Arduino 433MHZ
2022-07-11 本文已影响0人
Charles2018
发射端接线图
VCC | GND | DATA In |
---|---|---|
5V | GND | 12 |
发射端代码
// Include RadioHead Amplitude Shift Keying Library
#include <RH_ASK.h>
// Include dependant SPI Library
#include <SPI.h>
// Create Amplitude Shift Keying Object
RH_ASK rf_driver;
void setup()
{
pinMode(A2, INPUT);
pinMode(LED_BUILTIN,OUTPUT);
// Initialize ASK Object
rf_driver.init();
}
void loop()
{
const char* msg = "Welcome to the Workshop!";
if(digitalRead(A2) == LOW)
{
delay(20);
if (digitalRead(A2) == LOW) {
digitalWrite(LED_BUILTIN,HIGH);
rf_driver.send((uint8_t*)msg, strlen(msg));
rf_driver.waitPacketSent();
while (digitalRead(A2) == LOW);
}
}
delay(100);
digitalWrite(LED_BUILTIN, LOW);
}
接收端端接线图
VCC | GND | DATA Out |
---|---|---|
5V | GND | 11 |
接收端代码
// Include RadioHead Amplitude Shift Keying Library
#include <RH_ASK.h>
// Include dependant SPI Library
#include <SPI.h>
// Create Amplitude Shift Keying Object
RH_ASK rf_driver;
void setup()
{
// Initialize ASK Object
rf_driver.init();
// Setup Serial Monitor
Serial.begin(9600);
pinMode(PD2, OUTPUT);
}
void loop()
{
// Set buffer to size of expected message
uint8_t buf[24];
uint8_t buflen = sizeof(buf);
// Check if received packet is correct size
if(rf_driver.recv(buf, &buflen))
{
digitalWrite(PD2, HIGH);
// Message received with valid checksum
Serial.print("Message Received: ");
Serial.println((char*)buf);
}
delay(500);
digitalWrite(PD2, LOW);
}