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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

  [復制鏈接]
1601#
ID:513258 發表于 2019-8-5 13:07 | 只看該作者
  1. /*
  2. 【Arduino】66種傳感器模塊系列實驗(82)
  3. 實驗八十二: MQ135空氣質量檢測傳感器模塊(有害物體 氨氣 硫化物檢測)
  4. 程序之二,使用MQ135庫
  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. }
復制代碼

回復

使用道具 舉報

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

回復

使用道具 舉報

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




回復

使用道具 舉報

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

回復

使用道具 舉報

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

回復

使用道具 舉報

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

TTP224
是一款使用電容式感應原理設計的觸摸IC,其穩定的感應方式可以應用到各種不同電子類產品,面板介質可以是完全絕源的材料,專為取代傳統的機械結構開關或普通按鍵而設計,提供4個觸摸輸入端口及4個直接輸出端口。




回復

使用道具 舉報

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

回復

使用道具 舉報

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




回復

使用道具 舉報

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

回復

使用道具 舉報

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

回復

使用道具 舉報

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

回復

使用道具 舉報

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

回復

使用道具 舉報

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

回復

使用道具 舉報

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



回復

使用道具 舉報

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



回復

使用道具 舉報

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






回復

使用道具 舉報

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

回復

使用道具 舉報

1618#
ID:513258 發表于 2019-8-5 19:17 | 只看該作者
  1. /*
  2.   【Arduino】66種傳感器模塊系列實驗(81)
  3. 實驗八十三: 4路TTP224電容式觸摸模塊 人體數字觸摸傳感器
  4. 對應按鍵輸出數字
  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. }
復制代碼


回復

使用道具 舉報

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

回復

使用道具 舉報

1620#
ID:513258 發表于 2019-8-5 19:43 | 只看該作者
  1. /*
  2.   【Arduino】66種傳感器模塊系列實驗(81)
  3. 實驗八十三: 4路TTP224電容式觸摸模塊 人體數字觸摸傳感器
  4. 程序之二,穩定性很好,不易誤觸發
  5. 模塊上的1,2,3,4對應于單片機上的7,6,5,4
  6. 其中引入了布爾型M,主要是為了實現,在按下到松開這個過程中,
  7. 僅輸出一次高電平,即輸出語句只輸出一句,來避免一直輸出。
  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. }

復制代碼


回復

使用道具 舉報

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

回復

使用道具 舉報

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

回復

使用道具 舉報

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

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

  8. bool powerOn = false;   // LED電源是否開啟,默認“否”
  9. bool btnStatus;         // 按鈕狀態
  10. int pwmVal = 0;         // 電源輸出值

  11. // 宣告觸鍵的自訂結構類型
  12. typedef struct {
  13.   byte pin;         // 按鍵的接腳編號
  14.   bool lastStatus;  // 上次的狀態
  15. } key;

  16. // 宣告電源鍵的接腳和默認狀態
  17. key powerKey = { 10, LOW };

  18. // 宣告“調亮”鍵的接腳和默認狀態
  19. key upKey = { 11, LOW };

  20. // 宣告“調暗”鍵的接腳和默認狀態
  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.   // 讀取電源鍵的狀態
  32.   btnStatus = digitalRead(powerKey.pin);

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

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

  47.   // 讀取“調亮”鍵的狀態
  48.   btnStatus = digitalRead(upKey.pin);
  49.    
  50.   // 若“有開啟電源”且“此按鍵訊號是高電位”且“前次訊號是低電位”
  51.   if (powerOn && btnStatus && upKey.lastStatus == LOW) {
  52.     // 增加亮度值,每次增加10,不能超過255。
  53.     if ((pwmVal+10) <= 255) { pwmVal += 10;
  54.     Serial.println(pwmVal);
  55.     analogWrite(LED_PIN, pwmVal); } }
  56.     upKey.lastStatus = btnStatus; // 讀取“調暗”鍵的狀態
  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. }
復制代碼


回復

使用道具 舉報

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

回復

使用道具 舉報

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

回復

使用道具 舉報

1626#
ID:513258 發表于 2019-8-6 07:47 | 只看該作者
實驗八十四: 8位LED數碼管MAX7219模塊(支持級聯八位串行3個IO口控制)

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








回復

使用道具 舉報

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


回復

使用道具 舉報

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

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




回復

使用道具 舉報

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




回復

使用道具 舉報

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

回復

使用道具 舉報

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



回復

使用道具 舉報

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







回復

使用道具 舉報

1633#
ID:513258 發表于 2019-8-6 16:02 | 只看該作者
接線說明(以提供的程序為例,可以接任意IO口,
在程序中修改端口定義即可):
VCC→5V
GND→GND
DIN→D2
CS  →D3
CLK→D4



回復

使用道具 舉報

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

回復

使用道具 舉報

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

  7. #include <LedControl.h>

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

  12. void setup() {

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

  20. void loop() {

  21.   Write_Max7219(1, 0x0f, 0x00, 0);     //顯示測試:1;測試結束,正常顯示: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. //切換地址,方便寫
  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寫入字節
  49. //入口參數:DATA,dp顯示小數點與否
  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寫入數據
  70. //入口參數:pnum數碼管片序號,address,dat,dp顯示小數點與否
  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);          //寫入地址,即數碼管編號
  75.   Write_Max7219_byte(dat, dp);              //寫入數據,即數碼管顯示數字
  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);     //參數3:亮度
  91.     Write_Max7219(i, 0x0b, 0x07, 0);     //掃描界限;參數3:8個數碼管顯示
  92.     Write_Max7219(i, 0x0c, 0x01, 0);     //掉電模式:參數3:0,普通模式:1
  93.     Write_Max7219(i, 0x0f, 0x01, 0);     //顯示測試:參數3:1;測試結束,正常顯示:0
  94.   }
  95. }
復制代碼


回復

使用道具 舉報

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

回復

使用道具 舉報

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




回復

使用道具 舉報

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

回復

使用道具 舉報

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

回復

使用道具 舉報

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




回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 夜夜爽99久久国产综合精品女不卡 | 欧美日韩一区二区三区不卡视频 | 黄a大片 | 久久国产视频播放 | 四虎成人在线播放 | 美女天堂 | 欧美成人精品激情在线观看 | 狠狠做深爱婷婷综合一区 | 在线观看三级av | 欧美日韩免费一区二区三区 | 欧美精品一区在线发布 | 一区二区三区四区在线视频 | 九九色综合 | 日日摸夜夜添夜夜添精品视频 | 成人妇女免费播放久久久 | 91精品国产综合久久福利软件 | 成在线人视频免费视频 | 欧美精品在线一区二区三区 | 不卡视频一区 | 久久网一区二区 | 亚洲毛片在线 | 亚洲视频免费在线观看 | 国产精品久久久久无码av | h视频在线免费观看 | 亚洲色综合 | 国产精品免费一区二区三区四区 | 黄在线 | 亚洲精品一区二区三区中文字幕 | 亚洲一区二区在线电影 | 国内精品久久精品 | 亚洲国产精品日本 | 小川阿佐美pgd-606在线 | 羞羞网站免费 | 国产馆| 中文字幕 在线观看 | 99久热在线精品视频观看 | 在线成人av | 精品国产欧美一区二区 | 精品久久精品 | 日韩在线观看视频一区 | 在线免费毛片 |