找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 760|回复: 4
打印 上一主题 下一主题
收起左侧

ESP-01S遥控开关

[复制链接]
跳转到指定楼层
楼主
    ESP-01S体积小价格便宜,用两个ESP-01S就可以制作一个遥控开关。遥控器装在一个直经2.5厘米长12厘米的塑料线管中。平时还可作为小手电筒使用。开关采用成品模块,遥控器电路图与外观图如下。如有需求再将收发程序奉上。

51hei.png (5.08 KB, 下载次数: 33)

51hei.png

51hei2.jpg (205.33 KB, 下载次数: 31)

51hei2.jpg

51hei1.jpg (204.82 KB, 下载次数: 36)

51hei1.jpg

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:170318 发表于 2024-1-15 09:54 | 只看该作者
热烈欢迎楼主全盘奉献
回复

使用道具 举报

板凳
ID:1109254 发表于 2024-1-15 23:31 | 只看该作者
好东西。价格便宜又实用
回复

使用道具 举报

地板
ID:997011 发表于 2024-1-16 07:09 | 只看该作者
jhczy 发表于 2024-1-15 09:54
热烈欢迎楼主全盘奉献

//发送程序

#include <ESP8266WiFi.h>
#include <espnow.h>

uint8_t broadcastAddress[] = {0x84, 0xCC, 0xA8, 0xA0, 0x2D, 0xCF};//接收ESP-01S的MAC值,可先用MAC程序获取。
typedef struct struct_message {
  char a[32];
  int b;
} struct_message;

struct_message myData;

void OnDataSent(uint8_t *mac_addr, uint8_t sendStatus) {
  Serial.print("Last Packet Send Status: ");
  if (sendStatus == 0){
    Serial.println("Delivery success");
  }
  else{
    Serial.println("Delivery fail");
  }
}

void setup() {

  Serial.begin(115200);
  WiFi.mode(WIFI_STA);

  if (esp_now_init() != 0) {
    Serial.println("Error initializing ESP-NOW");
    return;
  }
pinMode(1,INPUT);
pinMode(3,INPUT);
  
  esp_now_set_self_role(ESP_NOW_ROLE_CONTROLLER);

  esp_now_register_send_cb(OnDataSent);
  
  esp_now_add_peer(broadcastAddress, ESP_NOW_ROLE_SLAVE, 1, NULL, 0);
}

void loop() {
  
if(digitalRead(1)==HIGH) myData.b = 1;
if(digitalRead(3)==HIGH) myData.b = 2;

  esp_now_send(broadcastAddress, (uint8_t *) &myData, sizeof(myData));

  delay(2000);
}


//MAC
#include <ESP8266WiFi.h>
void setup(){
Serial.begin(115200);
Serial.println();
Serial.print("ESP8266 Board MAC Address: ");
Serial.println(WiFi.macAddress());
}

void loop()
{

}


//接收程序
#include <ESP8266WiFi.h>
#include <espnow.h>
int k;

typedef struct struct_message {
char a[32];
int b;
} struct_message;

struct_message myData;

void OnDataRecv(uint8_t * mac, uint8_t *incomingData, uint8_t len) {
memcpy(&myData, incomingData, sizeof(myData));

Serial.print("Int: ");

Serial.println(myData.b);
k=myData.b;
Serial.println();
}

void setup() {

Serial.begin(115200);
WiFi.mode(WIFI_STA);
if (esp_now_init() != 0) {
Serial.println("Error initializing ESP-NOW");
return;
}
pinMode(0,OUTPUT);
digitalWrite(0, LOW);
pinMode(2,OUTPUT);
digitalWrite(2, LOW);

esp_now_set_self_role(ESP_NOW_ROLE_SLAVE);
esp_now_register_recv_cb(OnDataRecv);
}

void loop(){
if(k==2) {
digitalWrite(0, LOW);
digitalWrite(2, LOW);
}
if(k==1) {
digitalWrite(0, HIGH);
digitalWrite(2, HIGH);
}
}

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:997011 发表于 2024-1-17 07:04 | 只看该作者
为何贴子里看不本人的回复?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表