久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3095|回復: 1
打印 上一主題 下一主題
收起左側

基于esp8266的輝光鐘

[復制鏈接]
跳轉到指定樓層
樓主
ID:430767 發表于 2020-4-16 14:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這是我做輝光鐘總結的一點經驗
  1. #include <DS1302.h>

  2. //clock config
  3. const int kCePin   = 5;  // 對應rst引腳,Chip Enable
  4. const int kIoPin   = 6;  // 對應data引腳,Input/Output
  5. const int kSclkPin = 7;  // 對應clck引腳,Serial Clock

  6. //建立一個ds1302 對象 rtc
  7. DS1302 rtc(kCePin, kIoPin, kSclkPin);

  8. //595 config
  9. int datapin = 2; //DS 14腳 用來串行輸入數據
  10. int latchpin = 3; //st_cp 12腳 注:latch 有門閂的意思,可以理解成閘門,控制并行輸出的時間
  11. int clockpin = 4; //sh_cp 11腳 //595會在clock的上升沿讀取 1bit data, 對它的操控封裝在 shiftOut()函數里了, 不需要大家自己操作。

  12. //clock data
  13. int data_sec = 0; //秒數數據
  14. int data_min = 0; //分鐘數據
  15. int data_hour = 0; //小時數據

  16. void setup() {
  17.   Serial.begin(9600);
  18.   nixie_tube_init();
  19. }

  20. void loop() {
  21.   //將當前時間存儲到 t 這個對象中
  22.   Time t = rtc.time();
  23.   int hour_gewei = t.hr % 10; //取得個位數字 模10
  24.   int hour_shiwei = t.hr / 10;//取得十位數字 處以十
  25.   int min_gewei = t.min % 10;
  26.   int min_shiwei = t.min / 10;
  27.   int sec_gewei = t.sec % 10;
  28.   int sec_shiwei = t.sec / 10;

  29.   //晚上不顯示
  30.   if( t.hr>=0 and t.hr<=6 ) {
  31.     digitalWrite(latchpin, LOW);
  32.     shiftOut(datapin, clockpin, LSBFIRST, 255);
  33.     shiftOut(datapin, clockpin, LSBFIRST, 255);
  34.     digitalWrite(latchpin, HIGH);
  35.     delay(100000);
  36.     return;
  37.   }
  38.   //分鐘數變化時來個隨機顯示
  39.   if ((min_shiwei * POW(2,4) + min_gewei) != data_min) {
  40.     random_display(30);
  41.   }
  42.   
  43.   // (5 -> 0101  1-> 0001)   =>  0101 0001  = 0101 * 2^4 + 0001
  44.   // 10 01 => 1001 = 10 * 10^2 + 1
  45.   //  data_sec = sec_shiwei * POW(2,4) + sec_gewei;
  46.   data_min = min_shiwei * POW(2,4) + min_gewei;
  47.   data_hour = hour_shiwei * POW(2,4) + hour_gewei;
  48.   digitalWrite(latchpin, LOW);
  49.   shiftOut(datapin, clockpin, LSBFIRST, data_min);
  50.   shiftOut(datapin, clockpin, LSBFIRST, data_hour);
  51.   digitalWrite(latchpin, HIGH);
  52.   delay(100);
  53. }

  54. int POW(int i, int j) {
  55.   int result = 1;
  56.   if(j == 0) return result;
  57.   for(int k = 0; k < j; k++) {
  58.     result *= i;
  59.   }
  60.   return result;
  61. }

  62. void random_display(int times) {
  63.   for(int i=0; i<times; i++) {
  64.     digitalWrite(latchpin, LOW);
  65.     shiftOut(datapin, clockpin, LSBFIRST, random(1,10) * POW(2,4) + random(1,10));
  66.     shiftOut(datapin, clockpin, LSBFIRST, random(1,10) * POW(2,4) + random(1,10));
  67.     digitalWrite(latchpin, HIGH);
  68.     delay(20);
  69.   }
  70. }


  71. void nixie_tube_init() {
  72.   pinMode(clockpin, OUTPUT);
  73.   pinMode(datapin, OUTPUT);
  74.   pinMode(latchpin, OUTPUT);
  75.   //show something random
  76.   random_display(40);
  77. }
復制代碼



第三期資料.zip

1.18 MB, 下載次數: 13, 下載積分: 黑幣 -5

輝光管第二期資料.7z

4.08 MB, 下載次數: 12, 下載積分: 黑幣 -5

輝光管系列第一期內容.zip

7.02 MB, 下載次數: 13, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:738644 發表于 2020-4-29 09:07 | 只看該作者
還沒玩過輝光鐘,硬件部分呢?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级二级三级视频 | 久久久蜜桃一区二区人 | 久久精彩视频 | 99reav| 久久久蜜桃一区二区人 | 五月天婷婷久久 | 久久亚洲精品视频 | 久久综合av| 乱码av午夜噜噜噜噜动漫 | 久草中文在线观看 | 热99在线 | 91精品国产91久久久久游泳池 | 国产精品一区久久久久 | 成在线人视频免费视频 | 91在线区| 91av视频在线播放 | 亚洲日韩视频 | 51ⅴ精品国产91久久久久久 | 91青娱乐在线 | 免费不卡视频 | 毛片在线看片 | 欧美精品在线播放 | 国产成人99久久亚洲综合精品 | 国产99久久精品一区二区300 | 国产精品视屏 | 在线亚洲欧美 | 国产精品久久久久久高潮 | 成人午夜网站 | 国产成人精品一区二区 | 91中文视频| 国产一级淫片a直接免费看 免费a网站 | 亚洲成av人片在线观看 | 91传媒在线观看 | 欧美日韩在线一区二区三区 | 国产资源一区二区三区 | 天堂一区二区三区 | 精品国产一区二区在线 | 久久在线 | 99热在线播放 | 国产一级片免费看 | 一级片免费在线观看 |