電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>單像素溫度計(jì)開源分享

單像素溫度計(jì)開源分享

2022-11-10 | zip | 0.29 MB | 次下載 | 免費(fèi)

資料介紹

描述

一像素溫度計(jì)

歡迎大家,今天我們正在創(chuàng)建一個(gè)單像素溫度計(jì)。

零件清單

我們將需要以下內(nèi)容:

  • 1 x 共陽極 RGB LED
  • 1 x NTK100 熱敏電阻
  • 一些跳線
  • 一個(gè)阿杜諾
  • 和一個(gè)面包板

?

?
pYYBAGNsVDqAAsymAAEtxWeYN7s359.png
?

編碼

在我們構(gòu)建電路之前,讓我們快速瀏覽一下代碼。

我的 LED 將從 0 攝氏度變?yōu)樗{(lán)色,42 攝氏度變?yōu)榧t色,在舒適的 21 攝氏度變?yōu)榫G色。

?

?
poYBAGNsVEaAPZRxAABwRtH0DkI250.png
?

代碼中的“定義”允許程序具有一定的靈活性,我將最高溫度設(shè)置為 42 攝氏度,將最低溫度設(shè)置為 0。我將使用 3 個(gè) PWM 引腳 3、5 和 6 來控制“一個(gè)像素”。

#define minTemp 0   
#define maxTemp 42 
#define pinR 4     // Red PWM Pin       use 0 on ATTINY85 (pin 5) 
#define pinG 0     // Green PWM Pin     use 1 on ATTINY85 (pin 6) 
#define pinB 1     // Blue PWM Pin      use 4 on ATTINY85 (pin 3) 
#define pinT A1    // Thermistor Pin    use A1 on ATTINY85 (pin 7) 

聲明一些將在主循環(huán)中使用的全局變量。

// Variables to calculate Centigrade from the Thermistor Pin input value 
int Vo; 
float R1 = 10000, logR2, R2, T, c1 = 1.009249522e-03,  
c2 = 2.378405444e-04, c3 = 2.019202697e-07; // <<<---- Magic numbers apparently 

在 Setup 函數(shù)中,我設(shè)置了每個(gè) in 將做什么。三個(gè) PWM 引腳是 OUTPUT 引腳。熱敏電阻引腳為INPUT。

void setup() { 
// Init Serial 
//  Serial.begin(115200); 
// Init Pins 
 pinMode(pinR, OUTPUT); 
 pinMode(pinG, OUTPUT); 
 pinMode(pinB, OUTPUT); 
//Dont really need to do this for the UNO but I'm doing it anyway 
 pinMode(pinT, INPUT); 
} 

在我程序的主循環(huán)中,我根據(jù)熱敏電阻值計(jì)算攝氏度,然后將該數(shù)字轉(zhuǎn)換為 0 到 512 的范圍。然后我使用一些數(shù)學(xué)來獲得我的 LED 的紅色、綠色和藍(lán)色值。LED 的顏色每 100 毫秒更新一次。如果您希望它以較慢的速度更新,請將值更改得更高。

void loop() { 
// Calculate Centigrade : Got function from http://www.circuitbasics.com/arduino-thermistor-temperature-sensor-tutorial/ 
 Vo = analogRead(pinT); 
 R2 = R1 * (1023.0 / (float)Vo - 1.0); 
 logR2 = log(R2); 
 T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2)); 
 T = T - 273.15; 
// Map to the range outlined in minTemp and maxTemp 
 int temp = map(T,minTemp,maxTemp,0,512); 
// Assign a RGB value to the range 0 to 512 found in temp 
 int r = constrain(temp-256,0,255);             
 int g = constrain(256-abs(temp-256),0,255);    
 int b = constrain(256-temp,0,255);             
// PWM Write to get "faded colours" 
// Remove "255 -" if LED's are common Cathode 
 analogWrite(pinR,255 - r); 
 analogWrite(pinG,255 - g); 
 analogWrite(pinB,255 - b); 
// Print Temperature to Serial 
//  Serial.println(T); 
 delay(100); 
} 

將此草圖上傳到 Arduino,拔下它并從電路開始。

一個(gè)像素

我從 RGB LED 或 Pixel 開始

在最常見的陽極 RGB LED 上,長引腳是陽極。以陽極為 2nd pin 看 LED 時(shí),第一個(gè) Pin 為紅色;第三個(gè)是綠色,最后一個(gè)是藍(lán)色。

?
pYYBAGNsVE2AJfdyAAF03tLWJOM424.png
?
  • 我把 LED 放在面包板上
  • 連接紅色、綠色和藍(lán)色引腳和 3 個(gè)其他端子排上的三個(gè) 220 歐姆限流電阻。
  • 將一根引線連接到 LED 的陽極和 220 歐姆電阻器的 3 根引線。

我用紅色、綠色和藍(lán)色引線來表示,嗯,紅色綠色和藍(lán)色。我用白色做陽極

?
pYYBAGNsVFCAAPsIAAFO8zC0nf8227.png
?

溫度感應(yīng)器

移動(dòng)到溫度傳感器部分

  • 將熱敏電阻放在 2 個(gè)端子條之間
  • 然后是熱敏電阻一端和另一個(gè)接線板的 100k 電阻。
  • 連接熱敏電阻未連接端的引線和正軌。

當(dāng)我在做正極引線時(shí),我也會(huì)將陽極連接到正極軌,并準(zhǔn)備 2 根正極和接地引線連接到 Arduino。我用白色表示正極,黑色表示接地

  • 將接地軌的引線連接到 100K 電阻器的另一端
  • 然后在兩部分相遇的地方連接一根引線,我用黃色表示輸入。
?
poYBAGNsVFOAJ2HvAAFEHqe0rWI994.png
?

Arduino聯(lián)播

現(xiàn)在可以快速輕松地將所有松散的引線連接到 Arduino

  • 白到5v
  • 黑去地
  • 黃色到 A0
  • 紅到 3
  • 綠色到 5 和
  • 藍(lán)色到 6
?
poYBAGNsVFeAf6AHAAEwFi5qb-c906.png
?

插入 Arduino

我們有一個(gè) 1 像素的溫度計(jì)

我用一個(gè)由熱膠和一管銀紙制成的擴(kuò)散器覆蓋了 LED。

如果我在熱敏電阻上點(diǎn)燃火焰,您將看到 LED 變?yōu)榧t色,表示溫度為 42 或更高。

?
pYYBAGNsVF2AB9ZWAAFOAGDj6XQ777.png
?

如果我在熱敏電阻上放一個(gè)冷罐,LED 會(huì)變藍(lán)

?
poYBAGNsVGCAOrr5AAFnK7Vlhv0648.png
?

該程序還將溫度輸出到串行。

使用串行繪圖儀,當(dāng)觸摸傳感器時(shí),我可以看到火焰的閃爍和“冷罐”。

?
pYYBAGNsVGOAE1sHAACpvU6u2Vk678.png
?

這就是今天的內(nèi)容。

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)