去年三月份在淘宝购得一块ESP8266开发板

刚刚看了一下居然还涨价了(现在¥27)

按照官方给出的方法烧录 一直没有成功

 

… …

直到最近我关注的哔哩哔哩UP主 @咩2016 更新了一期视频,上面有提到使用 Arduino IDE 开发 ESP8266的方法

这才想起来我的ESP8266还在吃灰,于是把它找出准备好好研究一下。

 

具体如何配置才能在Arduino IDE上开发ESP8266呢?

1.首先用数据线连接ESP8266和计算机

2.打开Arduino IDE

选择:文件  -> 首选项

3.

在附加开发板管理器网址处填写:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

 

4.

工具 -> 开发板 -> 开发板管理器

 

安装 esp8266 包

 

5.搞定,接下来就可以像开发Arduino 一样方便地开发ESP8266了!!!

 

配置好了就得试一试看好不好使(滑稽)

就拿上一次写的 四位数码管来测试一下吧!

先看一下ESP8266针脚定义图

根据此图规划一下针脚

 

接下来就是简单地修改一下代码了

 

four_digital_tube_driver_for_esp8266.ino

/*
// Four Digits Tube Driver(common anode)
// Last-Modified:2019-2-10 20:28:13
// Copyright (C) 2019 SENCOM <sencom1997@outlook.com>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
const int pin_w[4] = {5,4,0,2};                      // 四位位选(高电平有效)
const int pin_n[8] = {14,12,13,15,3,1,16,17};           // 八位数字产生(低电平有效)

const int n_0[8] = {0,0,0,0,0,0,1,1};                // 0~9 数字
const int n_1[8] = {1,0,0,1,1,1,1,1};
const int n_2[8] = {0,0,1,0,0,1,0,1};
const int n_3[8] = {0,0,0,0,1,1,0,1};
const int n_4[8] = {1,0,0,1,1,0,0,1};
const int n_5[8] = {0,1,0,0,1,0,0,1};
const int n_6[8] = {0,1,0,0,0,0,0,1};
const int n_7[8] = {0,0,0,1,1,1,1,1};
const int n_8[8] = {0,0,0,0,0,0,0,1};
const int n_9[8] = {0,0,0,0,1,0,0,1};

#define SLEEP 500     //延时

void setup() 
{ //初始化
  for(int i = 0; i < 4; i++)
      pinMode(pin_w[i], OUTPUT);
  for(int i = 0; i < 7; i++)
      pinMode(pin_n[i], OUTPUT);
}

void print_a_number(int n)  //输出 一位数字
{
    switch(n)
    {
      case 0:
          for(int i = 0; i < 8; i++)
              digitalWrite(pin_n[i],n_0[i] );break;
      case 1:
          for(int i = 0; i < 8; i++)
              digitalWrite(pin_n[i],n_1[i] );break;
      case 2:    
          for(int i = 0; i < 8; i++)
              digitalWrite(pin_n[i],n_2[i] );break;
      case 3:
          for(int i = 0; i < 8; i++)
              digitalWrite(pin_n[i],n_3[i] );break;
      case 4:
          for(int i = 0; i < 8; i++)
              digitalWrite(pin_n[i],n_4[i] );break;
      case 5:
          for(int i = 0; i < 8; i++)
              digitalWrite(pin_n[i],n_5[i] );break;
      case 6:
          for(int i = 0; i < 8; i++)
              digitalWrite(pin_n[i],n_6[i] );break;
      case 7:
          for(int i = 0; i < 8; i++)
              digitalWrite(pin_n[i],n_7[i] );break;
      case 8:
          for(int i = 0; i < 8; i++)
              digitalWrite(pin_n[i],n_8[i] );break;
      case 9:
          for(int i = 0; i < 8; i++)
              digitalWrite(pin_n[i],n_9[i] );break;
    }
}
void print_number(int nums)   //输出一个数字(最多四位)
{
  int num[4];
  for(int i = 3; i >= 0; i--)
  {
      num[i] = nums % 10;
      nums  /= 10; 
  }
  for(int i = 0; i < 4; i++)
  {
      digitalWrite(pin_w[i], HIGH);
      for(int k = 0; k < 4; k++)
      {
        if(k != i)
            digitalWrite(pin_w[i], LOW);
      }
      print_a_number(num[i]);
  }
}
void tube_dance(int spd)
{
  for(int i = 0 ;i < 4; i++)    //四位同输出
  {
      digitalWrite(pin_w[i], HIGH);
  }
  digitalWrite(pin_n[6],HIGH);     //禁用h 和 dp
  digitalWrite(pin_n[7],HIGH);
  
  for(int i = 0; i < 6; i++)
  {
        for(int j = 0; j < 6; j++)
        {
              if(j == i)
                  digitalWrite(pin_n[j],LOW);
              else
                  digitalWrite(pin_n[j],HIGH);
        }
        delay(spd);
  }
  
}
void loop()
{
    print_number(2019);
}

 

接线图如下

 

效果图如下

咦? 这么好的开发板用来点灯也太浪费了吧!

ESP8266 引以为豪 的WIFI 还没用上啊!

END