找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
樓主: eagler8
打印 上一主題 下一主題
收起左側(cè)

【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(資料+代碼+圖形+仿真)

  [復(fù)制鏈接]
1601#
ID:513258 發(fā)表于 2019-8-5 13:07 | 只看該作者
  1. /*
  2. 【Arduino】66種傳感器模塊系列實(shí)驗(yàn)(82)
  3. 實(shí)驗(yàn)八十二: MQ135空氣質(zhì)量檢測(cè)傳感器模塊(有害物體 氨氣 硫化物檢測(cè))
  4. 程序之二,使用MQ135庫(kù)
  5. VCC 5V
  6. GND GND
  7. AO  A0
  8. DO  D3
  9. */

  10. #include "MQ135.h"
  11. const int ANALOGPIN=0;
  12. MQ135 gasSensor = MQ135(ANALOGPIN);

  13. void setup()
  14. {
  15.   Serial.begin(9600);     
  16. }

  17. void loop()
  18. {
  19.   float ppm = gasSensor.getPPM();
  20.   Serial.println(ppm);
  21.   delay(1000);
  22. }
復(fù)制代碼

回復(fù)

使用道具 舉報(bào)

1602#
ID:513258 發(fā)表于 2019-8-5 13:25 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1603#
ID:513258 發(fā)表于 2019-8-5 13:27 | 只看該作者
實(shí)驗(yàn)表明
1、使用優(yōu)化的"MQ135"庫(kù)非常有必要,檢測(cè)性能大幅度提高;
2、MQ-135 可以檢測(cè)上述提及的氣體,但它并不能區(qū)別這些氣體。如果你想檢測(cè)某種具體的氣體在空氣中的含量,那你可能需要尋找其他更好的傳感器了~
3、MQ-135使用一個(gè)加熱模塊來(lái)預(yù)熱傳感器,工作電流180毫安左右,因此建議使用容量大一點(diǎn)的電源才不會(huì)很快就耗盡電量。




回復(fù)

使用道具 舉報(bào)

1604#
ID:513258 發(fā)表于 2019-8-5 14:10 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1605#
ID:513258 發(fā)表于 2019-8-5 14:13 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1606#
ID:513258 發(fā)表于 2019-8-5 15:14 | 只看該作者
實(shí)驗(yàn)八十三: 4路TTP224電容式觸摸模塊 人體數(shù)字觸摸傳感器

TTP224
是一款使用電容式感應(yīng)原理設(shè)計(jì)的觸摸IC,其穩(wěn)定的感應(yīng)方式可以應(yīng)用到各種不同電子類產(chǎn)品,面板介質(zhì)可以是完全絕源的材料,專為取代傳統(tǒng)的機(jī)械結(jié)構(gòu)開(kāi)關(guān)或普通按鍵而設(shè)計(jì),提供4個(gè)觸摸輸入端口及4個(gè)直接輸出端口。




回復(fù)

使用道具 舉報(bào)

1607#
ID:513258 發(fā)表于 2019-8-5 16:11 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1608#
ID:513258 發(fā)表于 2019-8-5 16:19 | 只看該作者
TTP224特點(diǎn)
ƒ 1、工作電壓 2.4V~5.5V;
ƒ 2、可以由外部Option選擇是否啟用內(nèi)部穩(wěn)壓電路功能;
ƒ 3、工作電流@VDD=3V無(wú)負(fù)載時(shí): 低功耗模式下典型值2.5uA ,快速模式下典型值9uA ;
ƒ 4、@VDD=3V時(shí),在快速模式下KEY最快響應(yīng)時(shí)間為100mS,低功耗模式下為200mS;
ƒ 5、各KEY靈敏度可以由外部電容進(jìn)行調(diào)節(jié)(0~50pF);
ƒ 6、提供LPMB端口選擇快速模式或低功耗模式;
ƒ 7、提供直接輸出模式,觸發(fā)模式,開(kāi)漏輸出, CMOS高電平有效或低電平有效輸出, 經(jīng)由TOG/AHLB/OD端口選擇;
ƒ 8、提供兩個(gè)無(wú)二極管保護(hù)的輸出端口TPQ0D,TPQ2D僅限于低電平有效;
ƒ 9、提供MOT1, MOT0端口選擇最大輸出時(shí)間:120秒/64秒/16秒/無(wú)窮大;
ƒ 10、上電后約有0.5秒的系統(tǒng)穩(wěn)定時(shí)間,在此期間內(nèi)不要觸摸Touch PAD,且觸摸功能無(wú)效;
ƒ 11、有自動(dòng)校準(zhǔn)功能,當(dāng)無(wú)按鍵被觸摸時(shí),系統(tǒng)重新校準(zhǔn)周期約為4.0秒。




回復(fù)

使用道具 舉報(bào)

1609#
ID:513258 發(fā)表于 2019-8-5 16:21 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1610#
ID:513258 發(fā)表于 2019-8-5 16:23 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1611#
ID:513258 發(fā)表于 2019-8-5 16:25 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1612#
ID:513258 發(fā)表于 2019-8-5 16:26 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1613#
ID:513258 發(fā)表于 2019-8-5 16:28 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1614#
ID:513258 發(fā)表于 2019-8-5 16:30 | 只看該作者
4路TTP224電容式觸摸模塊 人體數(shù)字觸摸傳感器



回復(fù)

使用道具 舉報(bào)

1615#
ID:513258 發(fā)表于 2019-8-5 17:04 | 只看該作者
1、板載TTP224電容式4鍵觸摸感應(yīng)IC
2、板載4路電平狀態(tài)指示燈
3、工作電壓:2.4V-5.5V
4、模塊可以設(shè)置輸出模式、鍵輸出模式、最長(zhǎng)輸出時(shí)間和快速/低功耗選擇
5、PCB板子尺寸:35(mm)x29(mm)



回復(fù)

使用道具 舉報(bào)

1616#
ID:513258 發(fā)表于 2019-8-5 18:10 | 只看該作者
模塊電原理圖






回復(fù)

使用道具 舉報(bào)

1617#
ID:513258 發(fā)表于 2019-8-5 18:54 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1618#
ID:513258 發(fā)表于 2019-8-5 19:17 | 只看該作者
  1. /*
  2.   【Arduino】66種傳感器模塊系列實(shí)驗(yàn)(81)
  3. 實(shí)驗(yàn)八十三: 4路TTP224電容式觸摸模塊 人體數(shù)字觸摸傳感器
  4. 對(duì)應(yīng)按鍵輸出數(shù)字
  5. */

  6. int i;

  7. void setup()
  8. {

  9. for(i=4; i<=7; i++)
  10. {
  11. pinMode(i, INPUT);

  12. }
  13. Serial.begin(9600);
  14. }

  15. void loop()
  16. {
  17. for(i=4; i<=7; i++)
  18. {
  19. if(digitalRead(i) == HIGH)
  20. {
  21. Serial.println(i-3);
  22. }
  23. }
  24. delay(100);
  25. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

1619#
ID:513258 發(fā)表于 2019-8-5 19:32 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1620#
ID:513258 發(fā)表于 2019-8-5 19:43 | 只看該作者
  1. /*
  2.   【Arduino】66種傳感器模塊系列實(shí)驗(yàn)(81)
  3. 實(shí)驗(yàn)八十三: 4路TTP224電容式觸摸模塊 人體數(shù)字觸摸傳感器
  4. 程序之二,穩(wěn)定性很好,不易誤觸發(fā)
  5. 模塊上的1,2,3,4對(duì)應(yīng)于單片機(jī)上的7,6,5,4
  6. 其中引入了布爾型M,主要是為了實(shí)現(xiàn),在按下到松開(kāi)這個(gè)過(guò)程中,
  7. 僅輸出一次高電平,即輸出語(yǔ)句只輸出一句,來(lái)避免一直輸出。
  8. */

  9. #include <Arduino.h>

  10. int i;
  11. boolean m=true;
  12. void setup()
  13. {
  14.   Serial.begin(9600);
  15.   
  16. }

  17. void loop()
  18. {  
  19.      if(m==true){
  20.         for(i=0;i<5;i++){
  21.         if(digitalRead(8-i)==1){
  22.           delay(50);
  23.             if(digitalRead(8-i)==1){
  24.               Serial.print("hello ");
  25.               Serial.print(i);
  26.               Serial.println(" ---");
  27.               m=false;
  28.             }
  29.           }
  30.         }
  31.      }
  32.      
  33.       if(digitalRead(4)==0 && digitalRead(5)==0 && digitalRead(6)==0 && digitalRead(7)==0)
  34.       {m=true;}
  35. }

復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

1621#
ID:513258 發(fā)表于 2019-8-5 19:47 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1622#
ID:513258 發(fā)表于 2019-8-5 20:31 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1623#
ID:513258 發(fā)表于 2019-8-5 20:40 | 只看該作者
  1. /*
  2.   【Arduino】66種傳感器模塊系列實(shí)驗(yàn)(81)
  3. 實(shí)驗(yàn)八十三: 4路TTP224電容式觸摸模塊 人體數(shù)字觸摸傳感器
  4. 程序之三,使用4路觸控模塊的其中3個(gè)開(kāi)關(guān),當(dāng)作LED燈的開(kāi)關(guān)、調(diào)亮和調(diào)暗控制界面
  5. */

  6. const byte LED_PIN = 5;    // LED燈的接腳
  7. const byte PWR_LED = 13;   // 電源指示燈的接腳

  8. bool powerOn = false;   // LED電源是否開(kāi)啟,默認(rèn)“否”
  9. bool btnStatus;         // 按鈕狀態(tài)
  10. int pwmVal = 0;         // 電源輸出值

  11. // 宣告觸鍵的自訂結(jié)構(gòu)類型
  12. typedef struct {
  13.   byte pin;         // 按鍵的接腳編號(hào)
  14.   bool lastStatus;  // 上次的狀態(tài)
  15. } key;

  16. // 宣告電源鍵的接腳和默認(rèn)狀態(tài)
  17. key powerKey = { 10, LOW };

  18. // 宣告“調(diào)亮”鍵的接腳和默認(rèn)狀態(tài)
  19. key upKey = { 11, LOW };

  20. // 宣告“調(diào)暗”鍵的接腳和默認(rèn)狀態(tài)
  21. key downKey = { 12, LOW };

  22. void setup() {
  23.   Serial.begin(9600);
  24.   pinMode(powerKey.pin, INPUT);
  25.   pinMode(upKey.pin, INPUT);
  26.   pinMode(downKey.pin, INPUT);
  27.   pinMode(LED_PIN, OUTPUT);
  28.   pinMode(PWR_LED, OUTPUT);
  29. }

  30. void loop() {
  31.   // 讀取電源鍵的狀態(tài)
  32.   btnStatus = digitalRead(powerKey.pin);

  33.   // 如果電源鍵的訊號(hào)從低電位變成高電位…
  34.   if (btnStatus && powerKey.lastStatus == LOW) {
  35.     powerOn = !powerOn;  // 反相電源狀態(tài)
  36.     digitalWrite(PWR_LED, powerOn);

  37.     if (powerOn) {  // 若powerOn為true…
  38.       // 依照pwmVal的值點(diǎn)亮LED
  39.       analogWrite(LED_PIN, pwmVal);
  40.     } else {
  41.      // 關(guān)閉LED燈
  42.      digitalWrite(LED_PIN, LOW);
  43.     }
  44.   }
  45.   // 紀(jì)錄這次的電源鍵訊號(hào)狀態(tài)
  46.   powerKey.lastStatus = btnStatus;

  47.   // 讀取“調(diào)亮”鍵的狀態(tài)
  48.   btnStatus = digitalRead(upKey.pin);
  49.    
  50.   // 若“有開(kāi)啟電源”且“此按鍵訊號(hào)是高電位”且“前次訊號(hào)是低電位”
  51.   if (powerOn && btnStatus && upKey.lastStatus == LOW) {
  52.     // 增加亮度值,每次增加10,不能超過(guò)255。
  53.     if ((pwmVal+10) <= 255) { pwmVal += 10;
  54.     Serial.println(pwmVal);
  55.     analogWrite(LED_PIN, pwmVal); } }
  56.     upKey.lastStatus = btnStatus; // 讀取“調(diào)暗”鍵的狀態(tài)
  57.     btnStatus = digitalRead(downKey.pin);
  58.     if (powerOn && btnStatus && downKey.lastStatus == LOW) { // 減少亮度值,最低值為0
  59.       if ((pwmVal-10) >= 0) {
  60.     }
  61.       pwmVal -= 10;
  62.       Serial.println(pwmVal);
  63.       analogWrite(LED_PIN, pwmVal);
  64.     }
  65.   downKey.lastStatus = btnStatus;
  66. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

1624#
ID:513258 發(fā)表于 2019-8-5 20:44 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1625#
ID:513258 發(fā)表于 2019-8-5 20:57 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1626#
ID:513258 發(fā)表于 2019-8-6 07:47 | 只看該作者
實(shí)驗(yàn)八十四: 8位LED數(shù)碼管MAX7219模塊(支持級(jí)聯(lián)八位串行3個(gè)IO口控制)

MAX7219
是一種集成化的串行輸入/輸出共陰極顯示驅(qū)動(dòng)器,它連接微處理器與8位數(shù)字的7段數(shù)字LED顯示,也可以連接條線圖顯示器或者64個(gè)獨(dú)立的LED。其上包括一個(gè)片上的B型BCD編碼器、多路掃描回路,段字驅(qū)動(dòng)器,而且還有一個(gè)8*8的靜態(tài)RAM用來(lái)存儲(chǔ)每一個(gè)數(shù)據(jù)。只有一個(gè)外部寄存器用來(lái)設(shè)置各個(gè)LED的段電流。








回復(fù)

使用道具 舉報(bào)

1627#
ID:513258 發(fā)表于 2019-8-6 07:51 | 只看該作者
一個(gè)方便的四線串行接口可以聯(lián)接所有通用的微處理器。每個(gè)數(shù)據(jù)可以尋址在更新時(shí)不需要改寫(xiě)所有的顯示。MAX7219同樣允許用戶對(duì)每一個(gè)數(shù)據(jù)選擇編碼或者不編碼。整個(gè)設(shè)備包含一個(gè)150μA的低功耗關(guān)閉模式,模擬和數(shù)字亮度控制,一個(gè)掃描限制寄存器允許用戶顯示1-8位數(shù)據(jù),還有一個(gè)讓所有LED發(fā)光的檢測(cè)模式。只需要3個(gè)IO口即可驅(qū)動(dòng)8位數(shù)碼管!數(shù)碼管顯示時(shí)無(wú)閃爍!支持級(jí)聯(lián)!


回復(fù)

使用道具 舉報(bào)

1628#
ID:513258 發(fā)表于 2019-8-6 08:04 | 只看該作者
MAX7219/MAX7221
是一種集成化的串行輸入/輸出共陰極顯示驅(qū)動(dòng)器,它連接微處理器與8位數(shù)字的7段數(shù)字LED顯示,也可以連接條線圖顯示器或者64個(gè)獨(dú)立的LED。其上包括一個(gè)片上的B型BCD編碼器、多路掃描回路,段字驅(qū)動(dòng)器,而且還有一個(gè)8*8的靜態(tài)RAM用來(lái)存儲(chǔ)每一個(gè)數(shù)據(jù)。 只有一個(gè)外部寄存器用來(lái)設(shè)置各個(gè)LED的段電流。 MAX7221與SPI™、 QSPI™以及 MICROWIRE™相兼容,同時(shí)它有限制回轉(zhuǎn)電流的段驅(qū)動(dòng)來(lái)減少EMI(電磁干擾)。 一個(gè)方便的四線串行接口可以聯(lián)接所有通用的微處理器。 每個(gè)數(shù)據(jù)可以尋址在更新時(shí)不需要改寫(xiě)所有的顯示。MAX7219/MAX7221同樣允許用戶對(duì)每一個(gè)數(shù)據(jù)選擇編碼或者不編碼。 整個(gè)設(shè)備包含一個(gè)150μA的低功耗關(guān)閉模式,模擬和數(shù)字亮度控制,一個(gè)掃描限制寄存器允許用戶顯示1-8位數(shù)據(jù),還有一個(gè)讓所有LED發(fā)光的檢測(cè)模式。

功能特點(diǎn)
1 10MHz連續(xù)串行口
2 獨(dú)立的LED段控制
3 數(shù)字的譯碼與非譯碼選擇
4 150μA的低功耗關(guān)閉模式
5 亮度的數(shù)字和模擬控制
6 高電壓中斷顯示
7 共陰極LED顯示驅(qū)動(dòng)
8 限制回轉(zhuǎn)電流的段驅(qū)動(dòng)來(lái)減少EMI(MAX7221)
9 SPI, QSPI, MICROWIRE串行接口(MAX7221)
10 24腳的 DIP和 SO 封裝




回復(fù)

使用道具 舉報(bào)

1629#
ID:513258 發(fā)表于 2019-8-6 08:15 | 只看該作者
管腳描述
管腳 名稱 功能
1 DIN 串行數(shù)據(jù)輸入端口。在時(shí)鐘上升沿時(shí)數(shù)據(jù)被載入內(nèi)部的16位寄存器。 2,3,5-8,10,11 DIG 0–DIG7 八個(gè)數(shù)據(jù)驅(qū)動(dòng)線路置顯示器共陰極為低電平。關(guān)閉時(shí)7219此管腳輸出高電平,7221呈現(xiàn)高阻抗。
4,9 GND 地線 (4腳和9腳必須同時(shí)接地)
12 LOAD (MAX7219) 載入數(shù)據(jù)。連續(xù)數(shù)據(jù)的后16位在LOAD端的上升沿時(shí)被鎖定。
CS (MAX7221) 片選端。該端為低電平時(shí)串行數(shù)據(jù)被載入移位寄存器。連續(xù)數(shù)據(jù)的后16位在cs端的上升沿時(shí)被鎖定。
13 CLK 時(shí)鐘序列輸入端。最大速率為 10MHz.在時(shí)鐘的上升沿, 數(shù)據(jù)移入內(nèi)部移位寄存器。 下降沿時(shí), 數(shù)據(jù)從DOUT端輸出。MAX7221來(lái)說(shuō),只有當(dāng)cs端為低電平時(shí)時(shí)鐘輸入才有效。
14-17,20-23 SEG 7 段和小數(shù)點(diǎn)驅(qū)動(dòng),為顯示器提供電流。當(dāng)一個(gè)段驅(qū)
A–SEG G, 動(dòng)關(guān)閉時(shí),7219的此端呈低電平,7221呈現(xiàn)高阻抗。
DP
18 SET 通過(guò)一個(gè)電阻連接到VDD 來(lái)提高段電流。
19 V+ 正極電壓輸入,+5V
24 DOUT 串行數(shù)據(jù)輸出端口,從DIN輸入的數(shù)據(jù)在16.5個(gè)時(shí)鐘周期后在此端有效。當(dāng)使用多個(gè)MAX7219/MAX7221時(shí)用此端方便擴(kuò)展。




回復(fù)

使用道具 舉報(bào)

1630#
ID:513258 發(fā)表于 2019-8-6 12:52 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1631#
ID:513258 發(fā)表于 2019-8-6 13:23 | 只看該作者
MAX7219是一種集成化的串行輸入/輸出共陰極顯示驅(qū)動(dòng)器,它連接微處理器與8位數(shù)字的7段數(shù)字LED顯示,也可以連接條線圖顯示器或者64個(gè)獨(dú)立的LED。電原理圖。



回復(fù)

使用道具 舉報(bào)

1632#
ID:513258 發(fā)表于 2019-8-6 15:42 | 只看該作者
PCB板四個(gè)角采用銅螺柱固定,可有效防止短路等意外情況發(fā)生!
數(shù)碼管為0.36寸4位一體共陰極數(shù)碼管
本模塊兼容5V/3.3V各種單片機(jī)(51/AVR/STM32.......)







回復(fù)

使用道具 舉報(bào)

1633#
ID:513258 發(fā)表于 2019-8-6 16:02 | 只看該作者
接線說(shuō)明(以提供的程序?yàn)槔梢越尤我釯O口,
在程序中修改端口定義即可):
VCC→5V
GND→GND
DIN→D2
CS  →D3
CLK→D4



回復(fù)

使用道具 舉報(bào)

1634#
ID:513258 發(fā)表于 2019-8-6 16:07 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1635#
ID:513258 發(fā)表于 2019-8-6 17:17 | 只看該作者
  1. /*
  2.   【Arduino】66種傳感器模塊系列實(shí)驗(yàn)(84)
  3.    實(shí)驗(yàn)八十四: 8位LED數(shù)碼管MAX7219模塊
  4.    能通過(guò)驗(yàn)證,上傳成功
  5.    僅顯示“23456E86”,列為失敗的程序,技術(shù)有限,只能以后再說(shuō)了
  6. */

  7. #include <LedControl.h>

  8. int CLK = 4;
  9. int CS = 3;
  10. int DIN = 2; //這里定義了那三個(gè)腳
  11. int PIECENUM = 8;//數(shù)碼管片數(shù)

  12. void setup() {

  13.   pinMode(CLK, OUTPUT);
  14.   pinMode(CS, OUTPUT);
  15.   pinMode(DIN, OUTPUT); //讓三個(gè)腳都是輸出狀態(tài)
  16.   Delay_xms(50);
  17.   Init_MAX7219(PIECENUM);
  18.   Delay_xms(2000);
  19. }

  20. void loop() {

  21.   Write_Max7219(1, 0x0f, 0x00, 0);     //顯示測(cè)試:1;測(cè)試結(jié)束,正常顯示:0

  22.   for (int i = 1; i <= 5; i++) {
  23.     Write_Mynum(1, i, i + 1, 1);
  24.   }
  25.   //Write_Mynum(1, 7, '_', 0);
  26. // Write_Mynum(1, 8, '_', 0);
  27.   for (int i = 1; i <= 8; i++) {
  28.     Write_Mynum(2, i, 2, 0);
  29.   }

  30.   for (int i = 1; i <= 8; i++) {
  31.     Write_Mynum(3, i, 3, 0);
  32.   }

  33.   for (int i = 1; i <= 8; i++) {
  34.     Write_Mynum(4, i, 8 - i, 1);
  35.   }

  36.   while (1);
  37. }


  38. void Delay_xms(unsigned int x)
  39. {
  40.   unsigned int i, j;
  41.   for (i = 0; i < x; i++)
  42.     for (j = 0; j < 112; j++);
  43. }

  44. //切換地址,方便寫(xiě)
  45. void Write_Mynum(int pnum,  unsigned char address, unsigned char dat , int dp) {
  46.   Write_Max7219(pnum, 9 - address, dat, dp);
  47. }

  48. //功能:向MAX7219寫(xiě)入字節(jié)
  49. //入口參數(shù):DATA,dp顯示小數(shù)點(diǎn)與否
  50. void Write_Max7219_byte(unsigned char DATA, int dp)
  51. {
  52.   unsigned char i;
  53.   digitalWrite(CS, LOW);
  54.   for (i = 8; i >= 1; i--)
  55.   {
  56.     digitalWrite(CLK, LOW);
  57.     if (i == 8 && dp == 1)
  58.       digitalWrite(DIN, HIGH);
  59.     else {
  60.       if (DATA & 0X80)
  61.         digitalWrite(DIN, HIGH);
  62.       else
  63.         digitalWrite(DIN, LOW);
  64.     }
  65.     DATA <<= 1;
  66.     digitalWrite(CLK, HIGH);
  67.   }
  68. }

  69. //功能:向MAX7219寫(xiě)入數(shù)據(jù)
  70. //入口參數(shù):pnum數(shù)碼管片序號(hào),address,dat,dp顯示小數(shù)點(diǎn)與否
  71. void Write_Max7219(int pnum, unsigned char address, unsigned char dat, int dp)
  72. {
  73.   digitalWrite(CS, LOW);
  74.   Write_Max7219_byte(address, 0);          //寫(xiě)入地址,即數(shù)碼管編號(hào)
  75.   Write_Max7219_byte(dat, dp);              //寫(xiě)入數(shù)據(jù),即數(shù)碼管顯示數(shù)字
  76.   if (pnum > 1) {
  77.     digitalWrite(CLK, HIGH);
  78.     for (int i = 1; i < pnum; i++) {
  79.       Write_Max7219_byte(0X00, 0);
  80.       Write_Max7219_byte(0X00, 0);
  81.     }
  82.   }
  83.   digitalWrite(CS, HIGH);
  84. }


  85. //Max7219初始化
  86. void Init_MAX7219(int pienum)
  87. {
  88.   for (int i = 1 ; i <= pienum ; i++) {
  89.     Write_Max7219(i, 0x09, 0xff, 0);     //譯碼方式:BCD碼
  90.     Write_Max7219(i, 0x0a, 0x03, 0);     //參數(shù)3:亮度
  91.     Write_Max7219(i, 0x0b, 0x07, 0);     //掃描界限;參數(shù)3:8個(gè)數(shù)碼管顯示
  92.     Write_Max7219(i, 0x0c, 0x01, 0);     //掉電模式:參數(shù)3:0,普通模式:1
  93.     Write_Max7219(i, 0x0f, 0x01, 0);     //顯示測(cè)試:參數(shù)3:1;測(cè)試結(jié)束,正常顯示:0
  94.   }
  95. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

1636#
ID:513258 發(fā)表于 2019-8-6 17:23 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1637#
ID:513258 發(fā)表于 2019-8-6 18:12 | 只看該作者
【Arduino】66種傳感器模塊系列實(shí)驗(yàn)(84)
實(shí)驗(yàn)八十四: 8位LED數(shù)碼管MAX7219模塊
程序之一,顯示字符3和4,小數(shù)點(diǎn)流水移動(dòng)




回復(fù)

使用道具 舉報(bào)

1638#
ID:513258 發(fā)表于 2019-8-6 18:23 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1639#
ID:513258 發(fā)表于 2019-8-6 18:31 | 只看該作者

回復(fù)

使用道具 舉報(bào)

1640#
ID:513258 發(fā)表于 2019-8-6 18:36 | 只看該作者
【Arduino】66種傳感器模塊系列實(shí)驗(yàn)(84)
實(shí)驗(yàn)八十四: 8位LED數(shù)碼管MAX7219模塊
程序之四,循環(huán)調(diào)整屏幕的16級(jí)亮度




回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表