KFC玩具HelloKitty风扇改造——ESP32蓝牙blinker、1404无刷电机、双18650

改装KFC玩具------ESP32蓝牙无刷风扇

ESP32代码:

使用NodeMCU-32S

cpp 复制代码
#define BLINKER_BLE

#include <Blinker.h>

#include <Arduino.h>

 // PWM通道
int channel_PWM = 3;  
// PWM频率,那么周期也就是1/50,也就是20ms ,PWM一共有16个通道,0-7位高速通道由80Mhz时钟驱动,后面8个为低速通道由1Mhz时钟驱动
int freq_PWM = 50;   
// PWM分辨率,取值为 0-20 之间  ,这里填写为10,那么后面的ledcWrite 这个里面填写的pwm值就在 0 - 2的10次方 之间 也就是 0-1024 ,如果是要求不高的东西你可以直接拿1000去算了
int resolution_PWM = 10;   
// 绑定的IO,在下面的绑定函数里面会用到,绑定之后这个IO就会变成我们PWM的输出口
const int PWM_Pin = 4;  //指定pwm绑定到这个io上输出

BlinkerButton Button1("btn-abc");
BlinkerButton Button2("btn-1");
BlinkerSlider Slider0("Pwm");
BlinkerNumber Number1("num-abc");

int counter = 0;

void button1_callback(const String & state)
{
    BLINKER_LOG("get button state: ", state);
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}

void button2_callback(const String & state)
{
    BLINKER_LOG("get button state: ", state);
    digitalWrite(0, !digitalRead(0));
}

void slider0_callback(int32_t value) //滑块0
{
    int servo = 1000 - value;
    ledcWrite(channel_PWM, servo);
}

void dataRead(const String & data)
{
    BLINKER_LOG("Blinker readString: ", data);
    counter++;
    Number1.print(counter);
}

void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);

    ledcSetup(channel_PWM, freq_PWM, resolution_PWM); // 设置舵机通道
    ledcAttachPin(PWM_Pin, channel_PWM);  //将 LEDC 通道绑定到指定 IO 口上以实现输出
    
    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, HIGH);

    pinMode(0, OUTPUT);
    digitalWrite(0, HIGH);
    
    Blinker.begin();
    Blinker.attachData(dataRead);

    Button1.attach(button1_callback);
    Button2.attach(button2_callback);
    Slider0.attach(slider0_callback);
}

void loop()
{
    Blinker.run();
}

Blinker界面:

PWM调速为0~1024,取550到650这个区间

相关推荐
老孙讲技术5 小时前
【4G IPC 上云】临时点位怎么免布线上云?listDeviceDetailsByPage + 辅码流预览|智慧工地实战
后端·物联网
数字新视界8 小时前
信创动环监控厂家深入剖析智能机房环境监控技术应用与挑战
服务器·数据库·物联网·芯片·动环监控系统
笨鸟先飞,勤能补拙9 小时前
AI Agent应用领域深度解析:从概念到落地的全维度审视
大数据·人工智能·python·物联网·安全·网络安全·github
星恒讯工业路由器1 天前
当无人机成为“空中路由器”:应急通信背后的联网技术支撑
物联网·信息与通信·wifi模块·无人机模块·无人机应急通信·空中基站·三断通信
会周易的程序员1 天前
aiDgePLC — IEC61131-3 ST PLC 虚拟机调试与运行环境
c++·物联网·虚拟机·st·工业协议·iec61131·梯形图
老孙讲技术1 天前
周末档期厨房爆单,带宽账单也爆了——不是直播难,是主码流 + always 计划在烧钱
后端·物联网
老孙讲技术1 天前
校园开放日前夜才说要「全校透明」?我用轻应用把 9 路教室预览和回放嵌进了校园后台
后端·物联网
Kingexpand_com1 天前
物联网APP开发该选原生还是跨平台?场景选型详解
物联网·物联网app·物联网app定制开发·物联网开发公司
乐橙开放平台1 天前
一周上线校园透明化:listDeviceDetailsByPage 台账 + getKitToken + ImouPlayer 多路墙
后端·物联网·安全·音视频·智能家居
TDengine (老段)1 天前
TDengine taosX 与 Explorer — 数据集成与可视化管理
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据