编程篇 - esp 8266物联网开发板 - 给板子编写并且烧录程序, 整点有意思的效果

前言

因为工作的事儿耽搁了一天更新, 上一章咱们把8266的环境搭建上了, 并且点亮了小灯, 本文咱们来烧录一点有意思的程序

  • 小灯闪烁
  • 跑马灯

okk, 看到目录后, 啊万恶的博主你怎么写上一篇写过的功能, 怎么有点水文的感觉, 咳咳, 虽然上述两个功能确实没啥意思, 不过目的是为了弄清楚GPIO高低电平情况下, 接线顺序对小灯的影响(肯定有大佬懂, 我这种菜鸡不懂, 所以我就要写)

冻手干活

1、小灯闪烁

  • 材料
    • led小灯一颗
    • 杜邦线母对母两根
  • 编写程序
const int LED1 = 16;  //GPIO16 - D0
void setup() {
  pinMode(LED1, OUTPUT);  // 设置GPIO16为输出
  
}
void loop() {
  delay(2000);              //延迟2000ms
  digitalWrite(LED1, LOW);  //GPIO16 输出低电平
  delay(300);
  digitalWrite(LED1, HIGH);  
  delay(300);
  digitalWrite(LED1, LOW);  
  delay(300);
  digitalWrite(LED1, HIGH);  
}

上述程序很简单啊(看起来就跟从上篇文章抄过来的一样!), 好了简单解读一下:

  • 主循环函数内, 最初都会有一个2000ms的延迟, 然后开始闪烁, 频率300ms/次

  • 经过第一次循环后, GPIO16最后的输出是高电平, 并且这个高电平会持续2000ms

  • 烧录完成后, 我们设定一下小灯闪烁的期望值:
    - 灭→亮→灭→亮, 会常亮2000ms
    - 亮→灭→亮→灭, 会常灭2000ms

  • 接线

  • 结论

    • 当GPIO输出高电平时, 正极接入GPIO, 负极接地, LED正常工作
    • 当GPIO输出低电平时, 正极接入vcc, 负极接GPIO, LED正常工作

2、跑马灯

有了上述结论后, 做这个不是有手就行吗(手动滑稽)

  • 材料

    • led小灯若干
    • 杜邦线母对母若干
  • 编写程序

    首先我们把板子的原理图再搬出来, 找几个看上你的GPIO, 16, 5, 4, 0, 2

    在这里插入图片描述

const int LED1 = 16;  //GPIO16 - D0
const int LED2 = 5;
const int LED3 = 4;
const int LED4 = 0;
const int LED5 = 2;
const int LEDS_LEN = 5;
const int LEDS[] = {LED1, LED2, LED3, LED4, LED5};

void setupLights() {
  for (int i = 0; i < LEDS_LEN; i++) {
    pinMode(LEDS[i], OUTPUT);
    digitalWrite(LEDS[i], HIGH);
  }
} void setup() {
  setupLights();
}
void loop() {
  digitalWrite(LEDS[LEDS_LEN-1], HIGH);  
  digitalWrite(LEDS[0], LOW);
  delay(500);
  
  for (int i = 1; i < LEDS_LEN; i++) {
    digitalWrite(LEDS[i-1], HIGH);
    digitalWrite(LEDS[i], LOW);
    delay(500);
  }
}

结束, 下一章开搞mqtt

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ESP8266开发板是一个开源的硬件开发板,它支持WIFI功能,因此在物联网领域得到广泛应用。开发板上的核心芯片是ESP8266,它是一颗地道的"中国芯",被世界各地的创客朋友们用于各式各样的创客项目上。\[1\]要使用ESP8266开发板进行开发,可以选择使用C/C++语言进行开发,使用的开发环境为Arduino。可以在Arduino的首选项配置界面中添加ESP8266开发板管理器网址,然后安装相应的开发板支持。\[2\]另外,也可以使用Micropython进行开发,开发环境为Pycharm。\[3\]安装配置Arduino环境后,就可以开始使用Arduino+C/C++语言进行esp8266应用的开发了。 #### 引用[.reference_title] - *1* [ESP8266-NodeMCU (1) 开发板介绍](https://blog.csdn.net/SunnerChen/article/details/127282446)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [ESP8266开发实战之(一)-开发环境配置](https://blog.csdn.net/oLiShuTong/article/details/126229905)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值