编程篇 - 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

  • 接线

    • 将小灯的正极插入vcc 3v3(3V)的引脚, 负极插入GPIO16(D0)引脚

      • 效果
        亮→灭→亮→灭
    • 将小灯的正极插入GPIO16(D0)的引脚, 负极插入接地(G)引脚

      • 效果
        灭→亮→灭→亮
  • 结论

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

2、跑马灯

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

  • 材料

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

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

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

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);
  }
}
  • 接线 vcc接正极, GPIO接负极

  • 效果
    普通效果

  • 上个好看的灯罩
    上灯罩效果

结束, 下一章开搞mqtt

你可能感兴趣的:(IoT,单片机,嵌入式硬件)