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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

  [復制鏈接]
361#
ID:513258 發表于 2019-6-16 16:25 | 只看該作者
用打火機的丁烷氣體做測試




回復

使用道具 舉報

362#
ID:513258 發表于 2019-6-16 16:38 | 只看該作者
第一次實驗的串口數據




回復

使用道具 舉報

363#
ID:513258 發表于 2019-6-16 16:41 | 只看該作者
第二次實驗




回復

使用道具 舉報

364#
ID:513258 發表于 2019-6-16 16:46 | 只看該作者
實驗的波形圖,檢測到丁烷氣體挺敏感




回復

使用道具 舉報

365#
ID:513258 發表于 2019-6-16 17:03 | 只看該作者

回復

使用道具 舉報

366#
ID:513258 發表于 2019-6-16 17:03 | 只看該作者

回復

使用道具 舉報

367#
ID:513258 發表于 2019-6-16 17:22 | 只看該作者

回復

使用道具 舉報

368#
ID:513258 發表于 2019-6-17 17:12 | 只看該作者
實驗二十六:4X4矩陣鍵盤模塊(輕觸式按鍵)


矩陣鍵盤
是單片機外部設備中所使用的排布類似于矩陣的鍵盤組。矩陣式結構的鍵盤顯然比直接法要復雜一些,識別也要復雜一些,列線通過電阻接正電源,并將行線所接的單片機的I/O口作為輸出端,而列線所接的I/O口則作為輸入。由于電路設計時需要更多的外部輸入,單獨的控制一個按鍵需要浪費很多的IO資源,所以就有了矩陣鍵盤,常用的矩陣鍵盤有4X4和8X8,其中用的最多的是4X4。





回復

使用道具 舉報

369#
ID:513258 發表于 2019-6-17 17:54 | 只看該作者
工作原理
矩陣鍵盤又稱為行列式鍵盤,它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個交叉點上,設置一個按鍵。這樣鍵盤中按鍵的個數是4X4個。這種行列式鍵盤結構能夠有效地提高單片機系統中I/O口的利用率。由于單片機IO端口具有線與的功能,因此當任意一個按鍵按下時,行和列都有一根線被線與,通過運算就可以得出按鍵的坐標從而判斷按鍵鍵值。





回復

使用道具 舉報

370#
ID:513258 發表于 2019-6-17 18:14 | 只看該作者
行列掃描法原理
1、使行線為編程的輸入線,列線是輸出線,拉低所有的列線,判斷行線的變化,如果有按鍵按下,按鍵按下的對應行線被拉低,否則所有的行線都為高電平。
2、在第一步判斷有鍵按下后, 延時10ms消除機械抖動,再次讀取行值,如果此行線還處于低電平狀態則進入下 一步,否則返回第一步重新判斷。
3、開始掃描按鍵位置,采用逐 行掃描,每間隔1ms的時間,分別拉低第一列,第二列,第三列,第四 列,無論拉低哪一列其他三列都為高電平,讀取行值找到按鍵的位置,分別把行值和列值儲存在寄存器里。
4、從寄存器中找到行值和列 值并把其合并,得到按鍵值,對此按鍵值進行編碼,按照從第一行第一個一直到第四行第四個逐行進行編碼,編碼值從“0000” 至“1111” , 再進行譯碼,最后顯示按鍵號碼。





回復

使用道具 舉報

371#
ID:513258 發表于 2019-6-17 18:48 | 只看該作者
4X4矩陣4管腳直插按鍵鍵盤
(1)體積;
(2)節省空間;
(3)使用方便;
(4)共計16按鍵;
(5)單片機外擴鍵盤的上佳選擇。





回復

使用道具 舉報

372#
ID:513258 發表于 2019-6-17 19:30 | 只看該作者
矩陣鍵盤所需庫文件
在Arduino IDE 1.8.0 或者以上版本中, 項目->加載庫->管理庫中搜索Keypad,然后安裝即可。
也可以在下載庫(需要下載庫文件 https://github.com/Chris--A/Keypad),然后手動添加到IDE中。


回復

使用道具 舉報

373#
ID:513258 發表于 2019-6-17 19:42 | 只看該作者
安裝4*4矩陣鍵盤
4*4矩陣鍵盤有一個8孔的排母,理論上可以直接插到0-7腳上,但0,1腳用于串口通信,所以只能選擇2~13腳,這里選用了2-9腳。


Keypad Pin R1 –> Arduino Pin 2
Keypad Pin R2 –> Arduino Pin 3
Keypad Pin R3 –> Arduino Pin 4
Keypad Pin R4 –> Arduino Pin 5
Keypad Pin C1 –> Arduino Pin 6
Keypad Pin C2 –> Arduino Pin 7
Keypad Pin C3 –> Arduino Pin 8
Keypad Pin C4 –> Arduino Pin 9



回復

使用道具 舉報

374#
ID:513258 發表于 2019-6-17 19:48 | 只看該作者
  1. /*
  2. 【Arduino】37種傳感器模塊系列實驗(26)
  3. 實驗二十六:4X4矩陣鍵盤模塊(12鍵示例代碼)
  4. */

  5. #include <Keypad.h>

  6. const byte ROWS = 4;
  7. const byte COLS = 3;

  8. char keys[ROWS][COLS] = {
  9.   {'1','2','3'},
  10.   {'4','5','6'},
  11.   {'7','8','9'},
  12.   {'#','0','*'}
  13. };
  14. byte rowPins[ROWS] = {5, 4, 3, 2};
  15. byte colPins[COLS] = {8, 7, 6};

  16. Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

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

  20. void loop(){
  21.   char key = keypad.getKey();

  22.   if (key != NO_KEY){
  23.     Serial.println(key);
  24.   }
  25. }
復制代碼


回復

使用道具 舉報

375#
ID:513258 發表于 2019-6-17 19:56 | 只看該作者

回復

使用道具 舉報

376#
ID:513258 發表于 2019-6-17 20:00 | 只看該作者
這是一個非常簡單的示例,可以看到將鍵盤輸入添加到Arduino程序中是多么容易。也可以將此類輸入用于許多不同的項目,包括:
●    門鎖
●    輸入PWM
●    鬧鐘
●    安全鎖等





回復

使用道具 舉報

377#
ID:513258 發表于 2019-6-17 20:07 | 只看該作者
  1. /*
  2. 【Arduino】37種傳感器模塊系列實驗(26)
  3. 實驗二十六:4X4矩陣鍵盤模塊(16鍵示例代碼)
  4. */

  5. #include <Keypad.h>

  6. const byte ROWS = 4;
  7. const byte COLS = 4;

  8. char hexaKeys[ROWS][COLS] = {
  9.   {'1','2','3','A'},
  10.   {'4','5','6','B'},
  11.   {'7','8','9','C'},
  12.   {'*','0','#','D'}
  13. };

  14. byte rowPins[ROWS] = {2, 3, 4, 5};
  15. byte colPins[COLS] = {6, 7, 8, 9};

  16. Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

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

  20. void loop(){
  21.   char customKey = customKeypad.getKey();

  22.   if (customKey){
  23.     Serial.println(customKey);
  24.   }
  25. }
復制代碼


回復

使用道具 舉報

378#
ID:513258 發表于 2019-6-17 20:07 | 只看該作者

回復

使用道具 舉報

379#
ID:513258 發表于 2019-6-17 20:16 | 只看該作者
程序思路
1
#include <Keypad.h>   //加載庫


2
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};//建立二維數組,用于設置按鍵的輸出字符


3
byte rowPins[ROWS] = {2,3,4,5};   //定義行引腳
byte colPins[COLS] = {6,7,8,9};     //定義列引腳


4
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); //實例化Keypad 對象


5
char key = keypad.getKey();//新建一個key 變量 用于獲取鍵盤當前的值




回復

使用道具 舉報

380#
ID:513258 發表于 2019-6-17 20:54 | 只看該作者
4X4矩陣鍵盤模塊的一些應用電路












回復

使用道具 舉報

381#
ID:513258 發表于 2019-6-17 20:57 | 只看該作者







回復

使用道具 舉報

382#
ID:513258 發表于 2019-6-17 21:00 | 只看該作者

回復

使用道具 舉報

383#
ID:513258 發表于 2019-6-18 06:27 | 只看該作者
實驗二十七:GY-BMP280-3.3 高精度大氣壓強傳感器模塊


BMP280
博世Sensortec - BMP280 是一種專為移動應用設計的絕對氣壓傳感器。該傳感器模塊采用極其緊湊的封裝。得益于小尺寸和低功耗特性,這種器件可用在如移動電話、GPS 模塊或手表等電池供電型設備中。與上代產品相同,BMP180、BMP280 也基于Bosch 成熟的壓阻式壓力傳感器技術,具有高確度和線性度,以及長期穩定性和很高的 EMC 穩健性。多種設備工作選擇帶來了最高靈活性,可以在功耗、分辨率和濾波性能方面對設備進行優化。



回復

使用道具 舉報

384#
ID:513258 發表于 2019-6-18 06:55 | 只看該作者
BMP280是博世最新推出的數字氣壓傳感器,具有卓越的性能和低廉的價格,相對精度為±0.12 hPa(相當于±1米),傳感器功耗僅有2.7μA。BMP280具有業界最小封裝,采用極其緊湊的8引腳金屬蓋LGA封裝,占位面積僅為2.0×2.5mm2,封裝高度為0.95 mm。包括有壓力和溫度測量功能。該氣壓傳感器支持SPI和IIC通信接口,相比上一代的BMP180,精度已有相當大的提升,非常適合應用于低成本的多旋翼飛行器飛行控制器上,價格僅有目前流行的MS5611的四分之一。傳感器模塊它的小尺寸和2.74μA@ 1Hz的低功耗允許在電池驅動的設備中實現。門內導航,醫療保健以及GPS改進的新興應用需要高相對精度和低TCO。




回復

使用道具 舉報

385#
ID:513258 發表于 2019-6-18 07:07 | 只看該作者
BMP280芯片結構圖




回復

使用道具 舉報

386#
ID:513258 發表于 2019-6-18 07:16 | 只看該作者
BMP280非常適用于地板水平檢測等應用,因為傳感器具有±0.12 hPa的優異相對精度,相當于±1m高度差,偏移溫度系數(TCO)僅為1.5 Pa / K(相當于12.6厘米/ K)。作為廣泛實施的BMP180的繼承者,BMP280最初在2011年開始大量使用手機中的氣壓測量,BMP280在所有需要精確壓力測量的應用中實現了高性能。同時,BMP280具有更高的應用靈活性,新的濾波器模式和SPI接口,而且相對于BMP180,占位面積縮小了63%。




回復

使用道具 舉報

387#
ID:513258 發表于 2019-6-18 07:23 | 只看該作者
技術規格
1、氣壓工作范圍 300 hPa 至 1100 hPa(全精度)
2、工作溫度范圍 -40°C 至 +85°C
3、相對的絕對精度 ±0.12 hPa(典型值)
4、平均測量時間 5.5 ms
5、工作電壓 VDD 1.71 V 至 3.6 V
6、電源電壓 VDDIO 1.2 V 至 3.6 V
7、I2C 和串行外設接口 (SPI)
8、平均電流消耗典型值(1Hz數據刷新率):2.74μA(超低功耗模式);睡眠模式下的平均電流消耗:0.1μA
9、封裝規格 2.0 mm x 2.5 mm x 0.95 mm,8 引腳 LGA,全金屬封裝



回復

使用道具 舉報

388#
ID:513258 發表于 2019-6-18 07:34 | 只看該作者
應用范圍
1、GPS 導航增強(例如改進初次定位時間、航位推算、斜率檢測)
2、室內導航(室內檢測、電梯檢測)
3、戶外導航,休閑和運動應用
4、天氣預報
5、健康保健應用(如肺活量測定)
6、垂直速度指示(如上升/下沉速度)




回復

使用道具 舉報

389#
ID:513258 發表于 2019-6-18 09:03 | 只看該作者
GY-BMP280-3.3 高精度大氣壓強傳感器模塊
是個低功耗數字復合傳感器,它可以測量環境溫度和大氣壓強。氣壓敏感元件是一個低噪高精度高分辨率絕對大氣壓力壓電式感應元件;溫度感測元件具有低噪高分辨率特性,溫度值可以對氣壓進行溫度補償自校正。通過配置采樣率寄存器,可以設置敏感元件的采樣率。非常適合空間有限的移動設備,如智能是手機、平板電腦、智能手表和可穿戴設備、天氣預報、垂直速度指示、飛控設備、室內室外導航、智能家居裝置。





回復

使用道具 舉報

390#
ID:513258 發表于 2019-6-18 09:50 | 只看該作者
模塊電原理圖




回復

使用道具 舉報

391#
ID:513258 發表于 2019-6-18 10:43 | 只看該作者
Adafruit_BMP280_Library,用于BMP280傳感器的Arduino庫


下載地址
https://github.com/adafruit/Adafruit_BME280_Library
https://github.com/mahfuz195/BMP280-Arduino-Library
https://github.com/adafruit/Adafruit_BMP280_Library/releases(最新版本1.0.3)





回復

使用道具 舉報

392#
ID:513258 發表于 2019-6-18 11:43 | 只看該作者
還需要下載這個庫--Adafruit_Sensor
https://github.com/adafruit/Adafruit_Sensor

回復

使用道具 舉報

393#
ID:513258 發表于 2019-6-18 11:51 | 只看該作者
需要的材料和硬件連接
注意的是這塊板子的額定電壓是3.3v,且同時支持兩種連接方式: I2C 和 SPI ,下面的連接方式是SPI的連接方式和程序。





回復

使用道具 舉報

394#
ID:513258 發表于 2019-6-18 11:59 | 只看該作者
左邊的是BMP280的6個接口,右邊是Arduino的6個接口,兩者用杜邦線連接即可。將USB線纜連接到電腦,選擇好合適的開發板以及端口,上傳并打開串口監視器,查看數值變化。


GY-BMP 280        Arduino UNO
VCC                                 3.3v
GND                                 gnd
SCL                                 13
SDA                                 11
CSB                                 10
SDO                                 12


備注:不要使用5V,可能會損壞BMP280傳感器







回復

使用道具 舉報

395#
ID:513258 發表于 2019-6-18 12:03 | 只看該作者

回復

使用道具 舉報

396#
ID:513258 發表于 2019-6-18 12:06 | 只看該作者
  1. /*
  2. 【Arduino】37種傳感器模塊系列實驗(27)
  3. 實驗二十七:GY-BMP280-3.3 高精度大氣壓強傳感器模塊(高度與溫度計)
  4. */

  5. #include <Wire.h>
  6. #include <SPI.h>
  7. #include <Adafruit_Sensor.h>  
  8. #include <Adafruit_BMP280.h>

  9. #define BMP_SCK 13  
  10. #define BMP_MISO 12
  11. #define BMP_MOSI 11
  12. #define BMP_CS 10

  13. //Adafruit_BMP280 bmp;
  14. //Adafruit_BMP280 bmp(BMP_CS);
  15. Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);  

  16. void setup() {
  17.   Serial.begin(9600);
  18.   Serial.println(F("BMP280 測試"));
  19.   
  20.   if (!bmp.begin()) {  
  21.     Serial.println(F("找不到對應的傳感器"));
  22.     while (1);
  23.   }
  24. }

  25. void loop() {
  26.     Serial.print(F("溫度 = "));
  27.     Serial.print(bmp.readTemperature());
  28.     Serial.println(" *C");
  29.    
  30.     Serial.print(F("氣壓 = "));
  31.     Serial.print(bmp.readPressure());
  32.     Serial.println(" Pa");

  33.     Serial.print(F("海拔 = "));
  34.     Serial.print(bmp.readAltitude(1013.25));
  35.     Serial.println(" m");
  36.    
  37.     Serial.println();
  38.     delay(2000);
  39. }
復制代碼


回復

使用道具 舉報

397#
ID:513258 發表于 2019-6-18 12:44 | 只看該作者

回復

使用道具 舉報

398#
ID:513258 發表于 2019-6-18 12:44 | 只看該作者

回復

使用道具 舉報

399#
ID:513258 發表于 2019-6-18 13:25 | 只看該作者
實驗二十八:5050 RGB全彩LED模塊 KY-009


5050 RGB燈珠是LED燈珠的一種,5050是以產品尺寸命名而來,RGB是指紅光、綠光、藍光三基色。主要特點有:
1、低電壓驅動,環保節能;
2、體積小,安裝簡便;
3、亮度高,散射角度大,一致性好
4、主要應用于LED 軟燈條、LED 硬燈條、LED 模組、LED 背光源等。





回復

使用道具 舉報

400#
ID:513258 發表于 2019-6-18 14:36 | 只看該作者
內部結構與規格圖






回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品久久国产 | 欧美一区二区三区在线 | 亚洲精品久久久一区二区三区 | 国产粉嫩尤物极品99综合精品 | 国产一区二区自拍 | 日本精品视频在线 | 久久日韩精品一区二区三区 | 午夜色婷婷 | 日韩精品一二三 | 一本大道久久a久久精二百 国产成人免费在线 | 久久国产精彩视频 | 综合亚洲视频 | 丝袜 亚洲 欧美 日韩 综合 | 亚洲成人精品国产 | 国产免费福利小视频 | 欧美一区二区三 | 亚洲一区久久 | 久久91精品国产一区二区 | 日韩精品成人一区二区三区视频 | 翔田千里一区二区 | 久久尤物免费一区二区三区 | 中文字幕精品一区 | 国产精品中文字幕在线 | 欧美一区2区三区4区公司二百 | 91xxx在线观看| 国产一区二区久久久 | 国产精品一区在线播放 | 一级电影免费看 | 人人人人干 | 午夜视频在线观看一区二区 | 五月综合久久 | 精品国产亚洲一区二区三区大结局 | 亚洲444kkkk在线观看最新 | 色婷婷精品国产一区二区三区 | 精品免费在线 | 日韩精品一区二区三区在线 | 91玖玖| 欧美精品一区二区三区四区 在线 | 97国产精品 | 成人免费在线小视频 | 精品在线一区 |