切换到宽版
  • 4343阅读
  • 23回复

零基础玩转ESP8266WIFI模块编程 [复制链接]

上一主题 下一主题
离线捱多年

发帖
139
M币
147
专家
0
粉丝
2
只看该作者 10楼 发表于: 03-09
现在的股票手端自选里上升下跌异动突发事件开市概况都提供了消息通知,还有需要做股票机?
离线mckk520

发帖
116
M币
1383
专家
8
粉丝
16
只看该作者 11楼 发表于: 03-09
捱多年现在的股票手端自选里上升下跌异动突发事件开市概况都提供了消息通知,还有需要做股票机?
      
这个股票机是放在桌面的,平时上班工作可以观看,外观像电子钟,或温度计,,有些公司,上班时间,不能经常拿手机出来玩,所以这个很有用
离线mckk520

发帖
116
M币
1383
专家
8
粉丝
16
只看该作者 12楼 发表于: 03-09
,,
,
,一步一步来,每天空闲时间不多,一天进步一点点,
,
今天实验ESP8266-12F直接GPIO脚驱动数码管成功,
,
,

,
,

,

,
==============
这是直驱数码管程序:




#define D_a 5  //数码管a 接引脚 对应ESP8266  GPIO5 === 三位共阴数码管
#define D_b 4  
#define D_c 2  
#define D_d 15  
#define D_e 14  
#define D_f 12  
#define D_g 13  
#define D_h 9  
  
#define a1 0  //位码
#define a2 3
#define a3 1  

int ss=0;
int mm=0;


//数码管0-F数字码值  
unsigned char num[10][8] =  
{  
//1为点亮,0为关闭,a表示数码管a的led灯,其他类似  
//a  b  c  d  e  f  g  h  
  {1, 1, 1, 1, 1, 1, 0, 0},         //0  
  {0, 1, 1, 0, 0, 0, 0, 0},         //1  
  {1, 1, 0, 1, 1, 0, 1, 0},         //2  
  {1, 1, 1, 1, 0, 0, 1, 0},         //3  
  {0, 1, 1, 0, 0, 1, 1, 0},         //4  
  {1, 0, 1, 1, 0, 1, 1, 0},         //5  
  {1, 0, 1, 1, 1, 1, 1, 0},         //6  
  {1, 1, 1, 0, 0, 0, 0, 0},         //7  
  {1, 1, 1, 1, 1, 1, 1, 0},         //8  
  {1, 1, 1, 1, 0, 1, 1, 0},         //9  
// {1, 1, 1, 0, 1, 1, 1, 1},     //A  
// {1, 1, 1, 1, 1, 1, 1, 1},     //B  
// {1, 0, 0, 1, 1, 1, 0, 1},     //C  
// {1, 1, 1, 1, 1, 1, 0, 1},     //D  
// {1, 0, 0, 1, 1, 1, 1, 1},     //E  
//  {1, 0, 0, 0, 1, 1, 1, 1},     //F  
// {0, 0, 0, 0, 0, 0, 0, 1},     //.  
};  


  
void setup()  
{  
    pinMode(D_a,OUTPUT);                //设置引脚为输出  
    pinMode(D_b,OUTPUT);        //设置引脚为输出  
    pinMode(D_c,OUTPUT);        //设置引脚为输出  
    pinMode(D_d,OUTPUT);        //设置引脚为输出  
    pinMode(D_e,OUTPUT);        //设置引脚为输出  
    pinMode(D_f,OUTPUT);        //设置引脚为输出  
    pinMode(D_g,OUTPUT);        //设置引脚为输出  
  //  pinMode(D_h,OUTPUT);        //设置引脚为输出  
   pinMode(a1,OUTPUT);        //设置引脚为输出
    pinMode(a2,OUTPUT);        //设置引脚为输出
     pinMode(a3,OUTPUT);        //设置引脚为输出
    
       digitalWrite(a1,1);
       digitalWrite(a2,1);
       digitalWrite(a3,1);
    
}  


  
void loop()  
{  
  
       digitalWrite(a1,0);    //个位码
       digitalWrite(a2,1);
       digitalWrite(a3,1);
     ledcc(ss%10);
    delay(3);  
       ledoff();  

//扫描"位码后,固定延时关闭显示,
//当每个位码的显示时间都一样时,亮度就会均匀,MCKK独创此技术
    
    
      
       digitalWrite(a1,1);   //十位码
       digitalWrite(a2,0);
       digitalWrite(a3,1);
     ledcc(ss/10%10);
   delay(3);  
       ledoff();
    
    
    
      
       digitalWrite(a1,1);  //百位码
       digitalWrite(a2,1);
       digitalWrite(a3,0);
     ledcc(ss/100%10);
   delay(3);
       ledoff();
      
      
      
  
  
  
  
   mm=mm+1;
  
  

if(mm>=20){
ss=ss+1;

mm=0;
}


}  



void ledcc(int i)  
{  
  //按顺序显示0123456789  
                //循环显示0-9  ,扫描8次,==>扫描到a时对应a电平,
  
        digitalWrite(D_a,num[0]);    //设置a 引脚的电平  
        digitalWrite(D_b,num[1]);  //设置b 引脚的电平  
        digitalWrite(D_c,num[2]);  //设置c 引脚的电平  
        digitalWrite(D_d,num[3]);  //设置d 引脚的电平  
        digitalWrite(D_e,num[4]);  //设置e 引脚的电平  
        digitalWrite(D_f,num[5]);  //设置f 引脚的电平  
        digitalWrite(D_g,num[6]);  //设置g 引脚的电平  
        digitalWrite(D_h,num[7]);  //设置h 引脚的电平  
  
    
    }  


void ledoff()  
{  
  //一次性关闭LED段码
  
        digitalWrite(D_a,0);  //设置a 引脚的电平  
        digitalWrite(D_b,0);  //设置b 引脚的电平  
        digitalWrite(D_c,0);  //设置c 引脚的电平  
        digitalWrite(D_d,0);  //设置d 引脚的电平  
        digitalWrite(D_e,0);  //设置e 引脚的电平  
        digitalWrite(D_f,0);  //设置f 引脚的电平  
        digitalWrite(D_g,0);  //设置g 引脚的电平  
        digitalWrite(D_h,0);  //设置h 引脚的电平  
  
    
    }  

==========================END====================
,
,

=========
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共1条打赏M币+8
离线mckk520

发帖
116
M币
1383
专家
8
粉丝
16
只看该作者 13楼 发表于: 03-12
,
,
股票机最新进展,目前编译了怎样获取股票信息里需要的字符,再把字符转换成数字,经过计算数字算出涨跌的百分比,
,
完全没有什么经验的,什么浮点,字符串,,一点一滴的慢慢的搞定了,
,
接下来就是接显示屏,是LED数码管还是OLED显示,还在考虑中,
,
,
,

,

本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
离线hbcola
发帖
6
M币
-10
专家
0
粉丝
2
只看该作者 14楼 发表于: 03-12
不错,打算在LED屏上显示??
离线mckk520

发帖
116
M币
1383
专家
8
粉丝
16
只看该作者 15楼 发表于: 03-15
,,
,
,
一天进步一点, 今天把数据整理了下,程序优化许多,
,
功能,联网获取股票信息,,信息分组,只提取自己需要的数据,
,
如果联网数据获取失败,则重复5次,(重复时,一直显示上一次的数据,),等于或超过5次联网失败,就清除数据,显示0,
,
,
,
这是获取数据分组,选择自己需要的数据段,
,,


,我需要的数据是,昨日收盘价,和当前价,还有日期,
,,
,
,这里是我突然把路由器关闭了,实验断网后的处理,
,
数据还是一直显示上一次的数据,
,
有个CW计数,到了5次后,就清零数据
,,
,
,没错,
,

,
OK,今天就到这里了,
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
离线mckk520

发帖
116
M币
1383
专家
8
粉丝
16
只看该作者 16楼 发表于: 03-16
,,,
,
今天撸了个这个,,准备用来接我的股票机,当显示屏用,
,,

,
,
股票机程序今天暂时搁置,
,=
,,=============================
===========================
===
话说ESP8266WIFI模块,我的是ESP-12F型号,可以用的GPIO只有10个(可输出),
开始准备直接用来接数码管,发现只能接3段8字数码管(8字数码管,7个LED灯,要7个IO,还有三个位码,),其他一个多余的IO脚都没有了,很是为难,
所以放弃直接,接数码管的方案,-----,如果真要直接接数码管其他IO就没有可用的了,比如说还要接个按键,接个蜂鸣器什么的,就没办法了,,
,
,
,
---------------------------------
实验的ESP8266的IO引脚直接接数码管,最大显示999,用来显示A0脚的AD电压值,
实验接的一个光敏电阻,在A0脚,下拉电阻,大概模拟检测环境光亮度,,只是直接显示AD值,0-1024数字,
由于最大只能显示999,如果显示1024就只能看见024的数组,所以必须做个上限处理,判断,i>999,,i就=999,这样,
,
实验没有做多次软滤波,数据转换等计算,这样看起来非常的不稳定,数字乱跳,
,






本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
离线捱多年

发帖
139
M币
147
专家
0
粉丝
2
只看该作者 17楼 发表于: 03-16
如果有自动去前导0的话024不会和24混淆就不用处理了
离线捱多年

发帖
139
M币
147
专家
0
粉丝
2
只看该作者 18楼 发表于: 03-16
胸牌更难搞,这工程越搞越大啊
离线lokkey

发帖
54
M币
-72
专家
1
粉丝
10
只看该作者 19楼 发表于: 03-17
我有幾个重力傳感器,表头出TTL平时我会先轉485再轉RJ45路由集合出wifi.用他可直出wifi是否3部内一部用双模式,可免路由,