找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

  [復制鏈接]
601#
ID:513258 發(fā)表于 2019-6-25 19:51 | 只看該作者
檢測到超標酒精濃度(大于400),報警燈亮




回復

使用道具 舉報

602#
ID:513258 發(fā)表于 2019-6-25 20:26 | 只看該作者
/*
【Arduino】37種傳感器模塊系列實驗(37)
實驗三十七:MQ-3酒精乙醇傳感器模塊(半導體式表面電阻控制型)之二
*/

int Buzzer=8;    // 定義數(shù)字口8 為Buzzer (蜂鳴器)

void setup()
{
  pinMode(Buzzer,OUTPUT);   // 定義數(shù)字口8 為輸出模式
  Serial.begin(9600);                                                                                                                                    
}

void loop()
{
  int val;
  val=analogRead(A0);
  Serial.println(val,DEC);
  while(val<400)  
     {
        digitalWrite(Buzzer,LOW); //蜂鳴器不響
        val=analogRead(A0);   
        Serial.println(val,DEC);
      }
  digitalWrite(Buzzer,HIGH);  // 蜂鳴器響
}

回復

使用道具 舉報

603#
ID:513258 發(fā)表于 2019-6-26 07:45 | 只看該作者
實驗三十八:joystick雙軸XY按鍵搖桿模塊(PS2游戲航?刂茥U)

搖桿電位器
安裝了兩個10K高精度電位器和一個按鍵開關,功率0.015W,最高使用電壓100V A.C,能垂直位置自動復位,用于控制鍵盤等, 可自由地控制方向,直觀地監(jiān)控機器的運轉(zhuǎn)狀況。




回復

使用道具 舉報

604#
ID:513258 發(fā)表于 2019-6-26 07:57 | 只看該作者
一、MECHANICAL CHARACTERISTIC 機械特性
1、Operating force of lever 搖桿作動力 :120±70 gf
2、Operating angle 操作角度:26° Max

二、ELECTRICAL CHARACTERISTIC 電氣特性
1、Rating power 額定功率:0.0125W
2、Maximum operating voltage最高使用電壓:AC 50V DC 5V
3、Voltage divider error 分壓誤差:44%~56%
4、Insulation resistance 絕緣阻抗:100M? 1 Minute at DC 250V
5、Dielectric voltage 耐電壓:1 Minute at AC 250V

三、SWITCH CHARACTERISTICS 開關規(guī)格
1、Operating force 開關按壓力:740±300gf
2、Contact resistance 接觸阻抗:100mΩ Max
3、Rating power 額定功率:DC12V 50mA

四、ENDURANCE CHARACTERISTIC 耐久特性
1、Rotational life 旋轉(zhuǎn)壽命:2000,000 cycles Min
2、Push operating life 開關按壓壽命:1,000,000 cycles Min



回復

使用道具 舉報

605#
ID:513258 發(fā)表于 2019-6-26 08:12 | 只看該作者

回復

使用道具 舉報

606#
ID:513258 發(fā)表于 2019-6-26 08:12 | 只看該作者

回復

使用道具 舉報

607#
ID:513258 發(fā)表于 2019-6-26 08:43 | 只看該作者
工作原理
搖桿電位器在直流電路中作為電流調(diào)節(jié)使用時,將有電流通過搖桿電位器的滑動臂,此時由于陽極氧化的原因會導致電阻值異常增加。在這種情況下,建議將連接電阻體的端子接負極,滑動臂接正極。如果直流電流直接通過搖桿電位器,搖桿電位器的陽極就會受到氧化損傷,從而讓搖桿電位器的阻抗變大,因此最好是將電流的負極接在跟碳膜片接觸的端子上,正極接在跟刷子(搖桿電位器接觸片)的端子上。搖桿電位器作為可變電阻器時,建議作調(diào)整電壓的分壓器使用,同時搖桿電位器的負載電阻RL應不小于搖桿電位器公稱阻值RT的10倍。在穩(wěn)壓器中用來調(diào)節(jié)輸出電壓,故設計搖桿電位器應滿中順時針調(diào)節(jié)時輸出電壓升高,反時針調(diào)節(jié)器節(jié)時輸出電壓降低;在可調(diào)恒流充電器中搖桿電位器用來調(diào)節(jié)充電電流折大小,設計搖桿電位器時應滿中順時針調(diào)節(jié)時,電流增大。IC座,設計印刷板圖時,在使用IC座的場合下,一定要特別注意IC座上定位槽放置的方位是否正確,并注意各個IC腳位是否正確。




回復

使用道具 舉報

608#
ID:513258 發(fā)表于 2019-6-26 08:49 | 只看該作者
雙軸XY按鍵搖桿模塊
由兩個滑動變阻器和一個按鍵組成,當撥動搖桿時,滑動變阻器的阻值就發(fā)生變化,對應的X/Y電壓值也隨之變化,而用力按下?lián)u桿就會觸發(fā)按鍵按下,對應的SW信號變?yōu)榈碗娖健?br />



回復

使用道具 舉報

609#
ID:513258 發(fā)表于 2019-6-26 09:10 | 只看該作者
搖桿雙聯(lián)電位器實拍:通常是將兩個規(guī)格相同的電位器裝在同搖桿電位器結構一轉(zhuǎn)軸上,調(diào)節(jié)轉(zhuǎn)軸時,兩個電位器的滑動觸點異步轉(zhuǎn)動。這個結構被稱為同軸異步雙聯(lián)動的電位器。



回復

使用道具 舉報

610#
ID:513258 發(fā)表于 2019-6-26 09:26 | 只看該作者
還有一位高精度按鈕開關



回復

使用道具 舉報

611#
ID:513258 發(fā)表于 2019-6-26 09:39 | 只看該作者
X和Y軸,一個按鍵
2.54mm排針接口,接線方便,通用性強
PCB尺寸(mm):24X32




回復

使用道具 舉報

612#
ID:513258 發(fā)表于 2019-6-26 09:40 | 只看該作者
X和Y軸,一個按鍵
2.54mm排針接口,接線方便,通用性強
PCB尺寸(mm):24X32




回復

使用道具 舉報

613#
ID:513258 發(fā)表于 2019-6-26 09:47 | 只看該作者
工作原理
模塊特設二路模擬輸出和一路數(shù)字輸出接口,輸出值分別對應(X,Y)雙軸偏移量,其類型為模擬量;按鍵表示用戶是否在Z軸上按下,其類型為數(shù)字開關量。模塊集成電源指示燈,可顯示工作狀態(tài);坐標標識符清晰簡明、準確定位。為了更加方便地配合擴展板等標準接口,在設計上把 X,Y軸的電路都單獨引出,以控制輸入這個操縱桿模塊的 x、y的值以及在特定的值下實現(xiàn)某種功能。




回復

使用道具 舉報

614#
ID:513258 發(fā)表于 2019-6-26 09:57 | 只看該作者
引腳說明
名稱        描述
GND        地
5V        電源5V
SW        按鍵(數(shù)字量)
VRX        X軸 (模擬量)
VRY        Y軸 (模擬量)




回復

使用道具 舉報

615#
ID:513258 發(fā)表于 2019-6-26 10:01 | 只看該作者
模塊性能
1.輸入電壓范圍:直流3.3V 至 5V。
2.輸出信號:模塊特設二路模擬輸出和一路數(shù)字輸出接口,輸出值分別對應(X,Y)雙軸偏移量,其類型為模擬量;按鍵表示用戶是否在Z軸上按下,其類型為數(shù)字開關量。
3.可以通過Arduino控制器編程,傳感器擴展板插接,完成具有創(chuàng)意性遙控互動作品。
4.十字搖桿為一個雙向的10K電阻器,隨著搖桿方向不同,抽頭的阻值隨著變化。本模塊使用5V供電,原始狀態(tài)下X,Y讀出電壓為2.5V左右,當隨箭頭方向按下,讀出電壓值隨著增加,最大到5V;箭頭相反方向按下,讀出電壓值減少,最小為0V。




回復

使用道具 舉報

616#
ID:513258 發(fā)表于 2019-6-26 10:23 | 只看該作者
一些應用場合









回復

使用道具 舉報

617#
ID:513258 發(fā)表于 2019-6-26 10:29 | 只看該作者

回復

使用道具 舉報

618#
ID:513258 發(fā)表于 2019-6-26 10:50 | 只看該作者
接線方式
GND、VCC(+5V)這兩個不用說了。
VRx,VRy (X、Y軸)為模擬輸入信號,連接到模擬IO口A0~A7。
VRx,VRy 的值:從 0 ~ 1023 分別代表 左~右,上~下。中間值為512。
SW (Z軸)是數(shù)字輸入信號,連接到數(shù)字端口,并啟用上拉電阻。
SW 的值:1代表未按下,0代表按下。

實驗這里VRx接A0,VRy接A1,SW接D6




回復

使用道具 舉報

619#
ID:513258 發(fā)表于 2019-6-26 11:04 | 只看該作者
  1. /*
  2. 【Arduino】37種傳感器模塊系列實驗(38)
  3. 實驗三十八:joystick雙軸XY按鍵搖桿模塊(PS2游戲航?刂茥U)
  4. */

  5. int value = 0;

  6. void setup()
  7. {
  8. pinMode(6, INPUT_PULLUP);
  9. Serial.begin(9600);
  10. }

  11. void loop()
  12. {
  13. value = analogRead(A0);
  14. Serial.print("X:");
  15. Serial.print(value, DEC);

  16. value = analogRead(A1);
  17. Serial.print(" | Y:");
  18. Serial.print(value, DEC);

  19. value = digitalRead(6);
  20. Serial.print(" | Z: ");
  21. Serial.println(value, DEC);
  22. delay(1000);
  23. }
復制代碼


回復

使用道具 舉報

620#
ID:513258 發(fā)表于 2019-6-26 11:08 | 只看該作者
初始狀態(tài)



回復

使用道具 舉報

621#
ID:513258 發(fā)表于 2019-6-26 11:13 | 只看該作者

回復

使用道具 舉報

622#
ID:513258 發(fā)表于 2019-6-26 11:40 | 只看該作者
  1. /*
  2. 【Arduino】37種傳感器模塊系列實驗(38)
  3. 實驗三十八:joystick雙軸XY按鍵搖桿模塊(PS2游戲航?刂茥U)之二
  4. */

  5. int JoyStick_X = A0;
  6. int JoyStick_Y = A1;
  7. int JoyStick_Z = 6;

  8. void setup()
  9. {
  10.   pinMode(JoyStick_Z, INPUT);
  11.   Serial.begin(9600);
  12. }
  13. void loop()
  14. {
  15.   int x,y,z;
  16.   x=analogRead(JoyStick_X);
  17.   y=analogRead(JoyStick_Y);
  18.   z=digitalRead(JoyStick_Z);
  19.   Serial.print(x ,DEC);
  20.   Serial.print(",");
  21.   Serial.print(y ,DEC);
  22.   Serial.print(",");
  23.   Serial.println(z ,DEC);
  24.   delay(500);
  25. }
復制代碼


回復

使用道具 舉報

623#
ID:513258 發(fā)表于 2019-6-26 12:03 | 只看該作者

回復

使用道具 舉報

624#
ID:513258 發(fā)表于 2019-6-26 12:04 | 只看該作者

回復

使用道具 舉報

625#
ID:513258 發(fā)表于 2019-6-26 13:15 | 只看該作者
實驗三十九:DS18B20單總線數(shù)字溫度傳感器模塊

DS18B20
是世界第一片支持"一線總線"接口的溫度傳感器,一線總線獨特而且經(jīng)濟的特點,使用戶可輕松組建傳感器網(wǎng)絡,為測量系統(tǒng)構建系統(tǒng)引入全新要概念。




回復

使用道具 舉報

626#
ID:513258 發(fā)表于 2019-6-27 09:17 | 只看該作者

回復

使用道具 舉報

627#
ID:513258 發(fā)表于 2019-6-27 09:33 | 只看該作者



回復

使用道具 舉報

628#
ID:513258 發(fā)表于 2019-6-27 13:37 | 只看該作者
本帖最后由 eagler8 于 2019-6-27 16:16 編輯

DS18B20 的內(nèi)部結構主要由64 位ROM、溫度靈敏元件、內(nèi)部存儲器和配置寄存器4 部分組成,如上圖所示。
( 1) 64 位ROM。它的內(nèi)容是64 位序列號,它可以被看作是該DS18B20 的地址序列碼,其作用是使每個DS18B20 都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20 的目的。
( 2) 溫度靈敏元件。它完成對溫度的測量,測量后的結果存儲在2 個8 b 的溫度寄存器中。
( 3) 內(nèi)部存儲器。內(nèi)部存儲器包括一個高速暫存RAM 和一個非易失性的可電擦除的E2 PROM,后者存放高溫度和低溫度觸發(fā)器TH、TL 以及配置寄存器。


回復

使用道具 舉報

629#
ID:513258 發(fā)表于 2019-6-27 13:45 | 只看該作者
測溫原理
用一個高溫度系數(shù)的振蕩器確定一個門周期,內(nèi)部計數(shù)器在這個門周期內(nèi)對一個低溫度系數(shù)的振蕩器的脈沖進行計數(shù)來得到溫度值。計數(shù)器被預置到對應于-55攝氏度的一個值。如果計數(shù)器在門周期結束前到達0,則溫度寄存器(同樣初始化到-55攝氏度)的值增加,表明所測溫度大于-55攝氏度。

1。溫度系數(shù)振蕩器是指一種振蕩器,它的振蕩頻率與溫度之間有一個特定的關系,即不同的溫度對應不同的振蕩頻率。反之,測量出振蕩器的輸出頻率,就可測量出溫度值。
2.高溫度系數(shù)振蕩器:它的振蕩頻率受溫度的影響很大,溫度稍有變化,頻率就會變化很多,即對溫度敏感,多用于溫度傳感器。
3.低溫度系數(shù)振蕩器:它的振蕩頻率受溫度的影響很小,即使溫度變化很大,它的頻率也基本不變。

  同時,計數(shù)器被復位到一個值,這個值由斜坡式累加器電路確定,斜坡式累加器電路用來補償感溫振蕩器的拋物線特性。然后計數(shù)器又開始計數(shù)直到 0,如果門周期仍未結束,將重復這一過程。 斜坡式累加器用來補償感溫振蕩器的非線性,以期在測溫時獲得比較高的分辨力。這是通過改變計數(shù)器對溫度每增加一度所需計數(shù)的的值來實現(xiàn)的。因此,要想獲得所需的分辨力,必須同時知道在給定溫度下計數(shù)器的值和每一度的計數(shù)值。




回復

使用道具 舉報

630#
ID:513258 發(fā)表于 2019-6-27 15:54 | 只看該作者
主要特性
(1) 獨特的單線接口方式,與單片機連接時僅需要一條口線;
(2) 測溫范圍為- 55~ + 125℃,在- 10~ + 85℃范圍內(nèi)精度為±0. 5 ℃;
(3) 通過編程可實現(xiàn)9~ 12 位的數(shù)字讀數(shù)方式;
(4) 用戶可自設定非易失性的報警上下限值;
(5) 外圍電路簡單,使用時不需要外圍元件,可用數(shù)據(jù)總線供電,電壓范圍為3. 0 ~ 5. 5 V 無需備用電源;
(6)無需外部元件,獨特的一線接口,電源和信號混合在一起;
(7)每個芯片唯一編碼,支持聯(lián)網(wǎng)尋址,零功耗等待;
(8)DS18B20 有TO 92、SOIC 及CSP 封裝,其中VDD 為外接供電電源輸入端,GND 為公共地,DQ為數(shù)字信號輸出端;
(9)適用于冷凍庫,糧倉,儲罐,GPS衛(wèi)星定位系統(tǒng),電訊機房,電力機房,電纜線槽等測溫和控制領域。



回復

使用道具 舉報

631#
ID:513258 發(fā)表于 2019-6-27 16:07 | 只看該作者
部件描述
存儲器---DS18B20的存儲器包括高速暫存器RAM和可電擦除RAM,可電擦除RAM又包括溫度觸發(fā)器TH和TL,以及一個配置寄存器。存儲器能完整的確定一線端口的通訊,數(shù)字開始用寫寄存器的命令寫進寄存器,接著也可以用讀寄存器的命令來確認這些數(shù)字。當確認以后就可以用復制寄存器的命令來將這些數(shù)字轉(zhuǎn)移到可電擦除RAM中。當修改過寄存器中的數(shù)時,這個過程能確保數(shù)字的完整性。高速暫存器RAM是由8個字節(jié)的存儲器組成;用讀寄存器的命令能讀出第九個字節(jié),這個字節(jié)是對前面的八個字節(jié)進行校驗。

64-位光刻ROM---前8位是DS18B20的自身代碼,接下來的48位為連續(xù)的數(shù)字代碼,最后的8位是對前56位的CRC校驗。64-位的光刻ROM又包括5個ROM的功能命令:讀ROM,匹配ROM,跳躍ROM,查找ROM和報警查找。 [2]
外部電源的連接。DS18B20可以使用外部電源VDD,也可以使用內(nèi)部的寄生電源。當VDD端口接3.0V—5.5V的電壓時是使用外部電源;當VDD端口接地時使用了內(nèi)部的寄生電源。無論是內(nèi)部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電阻。

配置寄存器---配置不同的位數(shù)來確定溫度和數(shù)字的轉(zhuǎn)化。可以知道R1,R0是溫度的決定位,由R1,R0的不同組合可以配置為9位,10位,11位,12位的溫度顯示。這樣就可以知道不同的溫度轉(zhuǎn)化位所對應的轉(zhuǎn)化時間,四種配置的分辨率分別為0.5℃,0.25℃,0.125℃和0.0625℃,出廠時以配置為12位。

溫度的讀取---DS18B20在出廠時以配置為12位,讀取溫度時共讀取16位,前5個位為符號位,當前5位為1時,讀取的溫度為負數(shù);當前5位為0時,讀取的溫度為正數(shù)。溫度為正時讀取方法為:將16進制數(shù)轉(zhuǎn)換成10進制即可。溫度為負時讀取方法為:將16進制取反后加1,再轉(zhuǎn)換成10進制即可。例:0550H = +85 度,F(xiàn)C90H = -55 度。




回復

使用道具 舉報

632#
ID:513258 發(fā)表于 2019-6-27 16:23 | 只看該作者
使用要點
DS18B20 采用的是單線總線協(xié)議方式,即在一條數(shù)據(jù)線上實現(xiàn)數(shù)據(jù)的雙向傳輸,而單片機硬件上不支持單總線協(xié)議,因此必須采用軟件方法來模擬單總線的協(xié)議是序來完成對DS18B20 芯片的訪問。由于DS18B20 是在一根I/ O 線上讀寫數(shù)據(jù),因此對讀寫的數(shù)據(jù)位有嚴格的時序要求,它有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序: 初始化時序、讀時序、寫時序。所有時序都是將單片機作為主設備,DS18B20 作為從設備,而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求DS18B20 回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。




回復

使用道具 舉報

633#
ID:513258 發(fā)表于 2019-6-27 16:28 | 只看該作者
幾個應用電路












回復

使用道具 舉報

634#
ID:513258 發(fā)表于 2019-6-27 16:44 | 只看該作者
DS18B20單總線數(shù)字溫度傳感器模塊
一、尺寸:長28mm X寬12mm X高10mm
二、主要芯片:18B20溫度傳感器
三、工作電壓:直流5V




回復

使用道具 舉報

635#
ID:513258 發(fā)表于 2019-6-27 17:17 | 只看該作者
模塊特點
1、分辨率調(diào)整范圍:9-12位
2、帶安裝孔方便安裝,孔徑:2.5
3、溫度測量范圍:-55~+125℃
4、溫度測量精度:0.5℃
5、工作電壓:DC5V
6、數(shù)字信號輸出




回復

使用道具 舉報

636#
ID:513258 發(fā)表于 2019-6-27 17:26 | 只看該作者
引腳接線
Arduino Uno      <------>         18B20溫度傳感器模塊  
Pin 3                  <------>          OUT (S)      
5V                      <------>          VCC   
GND                   <------>          GND  




回復

使用道具 舉報

637#
ID:513258 發(fā)表于 2019-6-27 17:31 | 只看該作者
搜索、下載庫文件-DallasTemperature



回復

使用道具 舉報

638#
ID:513258 發(fā)表于 2019-6-27 17:34 | 只看該作者

回復

使用道具 舉報

639#
ID:513258 發(fā)表于 2019-6-27 18:05 | 只看該作者
后來又安裝了一個庫-OneWire



回復

使用道具 舉報

640#
ID:513258 發(fā)表于 2019-6-27 18:10 | 只看該作者
  1. /*
  2. 【Arduino】37種傳感器模塊系列實驗(39)
  3. 實驗三十九:DS18B20單總線數(shù)字溫度傳感器模塊
  4. */

  5. #include <OneWire.h>
  6. #include <DallasTemperature.h>

  7. #define ONE_WIRE_BUS 3

  8. OneWire oneWire(ONE_WIRE_BUS);

  9. DallasTemperature sensors(&oneWire);

  10. void setup(void)
  11. {
  12.   Serial.begin(9600);
  13.   Serial.println("Dallas Temperature IC Control Library Demo");

  14.   sensors.begin();
  15. }

  16. void loop(void)
  17. {
  18.   Serial.print(" Requesting temperatures...");
  19.   sensors.requestTemperatures();
  20.   Serial.println("DONE");

  21.   Serial.print("Temperature for Device 1 is: ");
  22.   Serial.print(sensors.getTempCByIndex(0));  
  23.   
  24.   delay(500);
  25. }
復制代碼


回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
<form id="wm9mo"></form>

<menu id="wm9mo"></menu>