電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>如何使用Arduino和LM35傳感器制作溫度計

如何使用Arduino和LM35傳感器制作溫度計

2022-11-24 | zip | 0.04 MB | 次下載 | 2積分

資料介紹

描述

測量給定環(huán)境的溫度非常重要,因為通過此參數(shù),可以控制各種過程,例如工業(yè)過程、與孵化器相關的過程、冷藏小型設備或大型系統(tǒng)的過程,以及中央處理器CPU)的計算機,以及其他應用程序。

除了這些應用之外,適當配置的溫度傳感器還可用于激活其他設備,當環(huán)境溫度高于或低于預定值時,例如,當環(huán)境溫度高于設定值時,空調(diào)的動作會更加強烈值,導致更多熱量從環(huán)境中排出,直到達到設定溫度。

因此,在使用 LM35 溫度傳感器的 Didactic 溫度計的情況下開發(fā)了類似的應用程序,如圖 1 所示。

pYYBAGN-3e-ACY8aAABAdmaKxJI034.jpg
?

圖 1 - 使用 LM35 傳感器的教學溫度計案例。

隨著這個教學溫度計案例的開發(fā),您將學習如何像以前的項目一樣使用 Arduino 組裝基本電路,以及如何對其進行編程。

實施的教學溫度計結構簡單,具有 LCD 顯示屏(液晶顯示屏)、LM35 溫度傳感器、3 個綠色 LED、3 個黃色 LED、3 個紅色 LED 和一個蜂鳴器。

LM35溫度傳感器檢測環(huán)境溫度,并將數(shù)值傳給Arduino,Arduino負責處理信號,然后根據(jù)程序中配置的溫度范圍激活蜂鳴器中相應的LED。

在本文中,您將學習如何編程和使用 LM35 溫度傳感器,因為這是一個具有重要精度裕度的模擬溫度傳感器。

因此,通過本文,您將了解到:

  • 了解 Didactic 溫度計和模擬溫度傳感器 LM35 的外殼結構;
  • 了解 LM35 模擬溫度傳感器如何與家中的其他設備完美配合;
  • 執(zhí)行 LM35 模擬溫度傳感器、LED、蜂鳴器、LCD 顯示器和 Arduino UNO 之間的通信
  • 將 LM35 模擬溫度傳感器和其他組件的結構與開發(fā)的教學案例相結合。
  • 為該項目開發(fā)JLCPCB 印刷電路板

現(xiàn)在,我們將開始完整介紹使用 LM35 溫度傳感器開發(fā)的教學溫度計。

開發(fā)溫度計項目

該項目包括展示溫度計的教學模型,該模型使用帶有 UNO Arduino 開發(fā)板的 LM35 溫度傳感器。

該項目主要由溫度傳感器組成,負責檢測環(huán)境溫度,并通過其外殼將該溫度轉(zhuǎn)換為模擬信號。

LED 和蜂鳴器將用作信標,最后,我們有 LCD 顯示屏,將顯示過程溫度值,如圖 2 所示。

pYYBAGN-3fOANpQTAACia8T149Q048.jpg
?

圖 2 - 建議用于教學溫度計操作的電路。

LM35 溫度傳感器由一個形狀接近于帶有三個引腳的半圓柱體的外殼組成。

根據(jù)其數(shù)據(jù)表,該傳感器的分辨率為 10mV / oC,即每 1 攝氏度,它的輸出提供 10 mV。等式 1 說明了轉(zhuǎn)換。

poYBAGN-3faAbVDqAAAknNVLMcU823.png
?

公式 1 - LM35 傳感器上的溫度轉(zhuǎn)換。資料來源:德州儀器。

這樣,Arduino 就可以捕捉到信號,從而可以將 0 到 1023(模擬值)范圍內(nèi)的信號轉(zhuǎn)換為 0V 到 5V 的信號(電壓信號)。

之后,在這些值之間進行線性插值,可以找到與傳感器捕獲的溫度對應的電壓值。

最后,將該值除以分辨率,從而找到傳感器記錄的溫度值。圖 4 顯示了 LM35 溫度傳感器。

教學溫度計的所有通信都將通過液晶顯示屏完成,液晶顯示屏將向用戶發(fā)送信息

LM35 傳感器將通過其包裹將其所在位置的溫度轉(zhuǎn)換為模擬值。不久之后,該值將通過其中心引腳發(fā)送到 Arduino UNO 的模擬引腳。

然后,通過開發(fā)的程序,將模擬值轉(zhuǎn)換為 0 到 5 伏之間的電壓值。根據(jù)獲得的溫度值,蜂鳴器信號會在短時間內(nèi)激活,然后立即點亮多個 LED,以直觀地指示溫度范圍。最后,傳感器記錄的溫度值顯示在 LCD 顯示屏上。

要設置實驗,首先,確保您的 Arduino 已通過從 USB 電纜上斷開來關閉。現(xiàn)在,將組件連接起來,如下圖 6 所示。

poYBAGN-3fiADgUgAADaAhZBhPE490.jpg
?

圖 3 - 建議電路的接線圖。

Led 的電路由 9 個 LED 組成,3 個綠色、3 個黃色和 3 個紅色,以及它們各自的 220 Ω 電阻。每個 LED 代表 5 攝氏度的變化,從第一個綠色 LED 開始,到最后一個紅色 LED 結束。

大多數(shù) LED 都連接到數(shù)字引腳,以便引腳的強度最大,但是,每個 LED 數(shù)量使用 3 個模擬引腳,對于這些,使用表示 LED 的高邏輯電平的值 1023。數(shù)字引腳。

由于 LED 以 5 伏與陽極連接,因此所有 LED 都以連接引腳上的低邏輯電平激活。

LCD 顯示電路將成為標準使用 4 位連接(D4、D5、D6 和 D7),以及負責對比度的 10 kΩ 電位器,以及連接到陽極引腳的 220 電阻。

Arduino Uno 將負責對整個電路的信號進行處理,并為原型板總線提供電源和參考,從而為開發(fā)項目的電路供電。

從上面介紹的方案中,我們將了解所開發(fā)的編程邏輯的操作。

系統(tǒng)編程邏輯的開發(fā)

教學溫度計的所有編程邏輯都是根據(jù)以下程序的評論開發(fā)的:

#include //importando a biblioteca das fun?oes do LCD
//pinos de interface da biblioteca
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int lm35 = A0;//pino do sensor lm35 conectado ao pino analogico A0 inicializado com o valor 0.
float valor_lm35 = 0;//valor que será lido pelo pino analogico do sensor lm35 inicializado com o valor 0.
float temperatura = 0;//varaivel utilizada para receber e armazenar o valor de tempersrura convertido do valor analogico.
//INICIO - intervalos de temperatura em graus celsius
int temp0=0;
int temp1=5;
int temp2=10;
int temp3=15;
int temp4=20;
int temp5=25;
int temp6=30;
int temp7=35;
int temp8=40;
int temp9=45;
//FIM - intervalos de temperatura em graus celsius
// INICIO - verificadores do buzzer
int aux01;
int aux12;
int aux23;
int aux34;
int aux45;
int aux56;
int aux67;
int aux78;
int aux89;
/*
* Os veriicadores aux forma utilizados para verificar se o buzzer ja foi acionada a cada rodada da fun??o loop. Assim que o
* intervalo de temepratura é selecionado, ′pe verificado se o aculumador aux possui um valor igual a zero. Caso seja igual a zero,
* o buzzer é acionado e o contador é incrementado, e ocm isso, ele se rona diferente de zero, e na oroxima rodada da fun??o
* loop o buzzer nao será acionado. E Caso o intervalo de temperatira mude, o contador será zerado no proxima intervbalo que entrar,
* e o sistema será adotado pelo proximo contador.
*/
//FIM - verificadores do buzzer
//INICIO - leds indicativos
int Led_verde1 = A4;//0
int Led_verde2 = A5;//1
int Led_verde3 = 6;//6
int Led_laranja1 = 7;//7
int Led_laranja2 = 8;//8
int Led_laranja3 = 9;//9
int Led_vermelho1 = 10;//10
int Led_vermelho2 = 13;//13
int Led_vermelho3 = A3;//porta analogica A1
//FIM - leds indicativos
//INICIO - pino do buzzer
int pino_buzzer = A2;// pino correspondente ao buzzer
//FIM - pino do buzzer

void setup() {
//inicio - definindo os pinos do leds como saida
pinMode(Led_verde1,OUTPUT);
pinMode(Led_verde2,OUTPUT);
pinMode(Led_verde3,OUTPUT);
pinMode(Led_laranja1,OUTPUT);
pinMode(Led_laranja2,OUTPUT);
pinMode(Led_laranja3,OUTPUT);
pinMode(Led_vermelho1,OUTPUT);
pinMode(Led_vermelho2,OUTPUT);
pinMode(Led_vermelho3,OUTPUT);
//fim - definindo os pinos do leds como saida

pinMode(pino_buzzer,OUTPUT);//definindo o pino do buzzer como saida
pinMode(lm35,INPUT);

//  Numero de linhas e colunas do LCD utilizado
lcd.begin(16, 2);

// Funcao responsavel por retornar a mensagem no LCD
lcd.setCursor(2,0);//setando o cursor do LCD na coluna 2 linha 0
lcd.print("SILICIOS LAB");//mensagem enviada para o LCD
lcd.setCursor(0,1);//setando o cursor do LCD na coluna 2 linha 1
lcd.print("TERMOM. DIDATICO");//mensagem enviada para o LCD
delay(4000);//aguarda 4 segundos para iniciar
lcd.clear();//apaga os caracteres no LCD
}

void loop() {

lcd.setCursor(0,0);//desloca o cursor para a posi??o especifica do texto da contagem
lcd.clear();//limpa a contagem anterior
valor_lm35=analogRead(lm35);//ler o valor analogico enviado pelo pino analogico utilizado
temperatura=(((5*valor_lm35)/1023)/0.01);
/*
*

*******INICIO - CACULO DE CONVERSAO DO LM34**********
temperatura_t=temperatura_v/10mV = temperatura_v/0.01;
5v (valor de tensao maxima no pino) -----> 1023 (valor analogico do pino)
xv (valor de tensao maxima no pino) -----> y (valor analogico do pino)
x = [(5*y)/1023]V
resolu??o do lm34 = 10mV//oC = 0.01V/oC
temperatura = x / resolu??o =  [(5*y)/1023]V / [0.01]V/oC = {(5*y)/1023] / [0.01]}oC
********FIM - CACULO DE CONVERSAO DO LM34*************
*
*/

//INICIO -  CONDI?OES DOS LEDS
if(temp0&&temperatura
aux12=0;//zerando os contadores dos outros intervalos
aux23=0;
aux34=0;
aux45=0;
aux56=0;
aux67=0;
aux78=0;
aux89=0;

//
if(aux01==0)//verificando se o buzzer ja foi acionado nessa rodada da fun??o loop
{
analogWrite(pino_buzzer,1023);//ativa o pino analogico do buzzer para que ele sinalize a mudan?a de temperatura
delay(30);//deixa o buzzer ativado por 1 segundo
analogWrite(pino_buzzer,0);//desativa o pino do buzzer
}

else{

}
aux01++;//incrementado o acumulador para que o buzzer nao seja acionado mais de uma vez durante o mesmo intervalo de temperatura.
analogWrite(Led_verde1, 0);//Leds indicativos
analogWrite(Led_verde2,1023);
digitalWrite(Led_verde3,HIGH);
digitalWrite(Led_laranja1,HIGH);
digitalWrite(Led_laranja2, HIGH);
digitalWrite(Led_laranja3, HIGH);
digitalWrite(Led_vermelho1,HIGH);
digitalWrite(Led_vermelho2,HIGH);

analogWrite(Led_vermelho3,1023);

lcd.clear();//apaga os caracteres no LCD
lcd.setCursor(0, 0);// inicia o curso do LCD na coluna 0, linha 0
lcd.print("Temperatura:");//mensagem enviada para o LCD
lcd.setCursor(0, 1);// inicia o curso do LCD na coluna 0, linha 0

// lcd.print(aux);//mostra o valor da variavel "moedas" no LCD

lcd.setCursor(6,1);
lcd.print("graus C.");//mensagem enviada para o LCD
delay(100);
lcd.clear();
}

else 

if(temp1&&temperatura
{
aux01=0;
aux23=0;
aux34=0;
aux45=0;
aux56=0;
aux67=0;
aux78=0;
aux89=0;

if(aux12==0)
{
analogWrite(pino_buzzer,1023);//ativa o pino analogico do buzzer para que ele sinalize a mudan?a de temperatura
delay(30);//deixa o buzzer ativado por 1 segundo
analogWrite(pino_buzzer,0);//desativa o pino do buzzer
}

else{}

aux12++;
analogWrite(Led_verde1, 0);
analogWrite(Led_verde2, 0);
digitalWrite(Led_verde3,HIGH);
digitalWrite(Led_laranja1,HIGH);
digitalWrite(Led_laranja2, HIGH);
digitalWrite(Led_laranja3, HIGH);
digitalWrite(Led_vermelho1,HIGH);
digitalWrite(Led_vermelho2,HIGH);
analogWrite(Led_vermelho3,1023);

lcd.clear();
lcd.setCursor(0, 0);// inicia o curso do LCD na coluna 0, linha 0
lcd.print("Temperatura:");//mensagem enviada para o LCD
lcd.setCursor(0, 1);// inicia o curso do LCD na coluna 0, linha 0
lcd.setCursor(6,1);
lcd.print("graus C.");//mensagem enviada para o LCD
delay(100);
lcd.clear();
}

else 

if(temp2&&temperatura
{
aux01=0;
aux12=0;
aux34=0;
aux45=0;
aux56=0;
aux67=0;
aux78=0;
aux89=0;

if(aux23==0)
{
analogWrite(pino_buzzer,1023);//ativa o pino analogico do buzzer para que ele sinalize a mudan?a de temperatura
delay(30);//deixa o buzzer ativado por 1 segundo
analogWrite(pino_buzzer,0);//desativa o pino do buzzer
}
else
{}

aux23++;
analogWrite(Led_verde1, 0);
analogWrite(Led_verde2, 0);
digitalWrite(Led_verde3,LOW);
digitalWrite(Led_laranja1,HIGH);
digitalWrite(Led_laranja2, HIGH);
digitalWrite(Led_laranja3, HIGH);
digitalWrite(Led_vermelho1,HIGH);
digitalWrite(Led_vermelho2,HIGH);
analogWrite(Led_vermelho3,1023);

lcd.clear();
lcd.setCursor(0, 0);// inicia o curso do LCD na coluna 0, linha 0
lcd.print("Temperatura:");//mensagem enviada para o LCD
lcd.setCursor(0, 1);// inicia o curso do LCD na coluna 0, linha 0
lcd.setCursor(6,1);
lcd.print("graus C.");//mensagem enviada para o LCD
delay(100);
lcd.clear();
}
else 

if(temp3&&temperatura
{
aux01=0;
aux12=0;
aux23=0;
aux45=0;
aux56=0;
aux67=0;
aux78=0;
aux89=0;

if(aux34==0)
{
analogWrite(pino_buzzer,1023);//ativa o pino analogico do buzzer para que ele sinalize a mudan?a de temperatura
delay(30);//deixa o buzzer ativado por 1 segundo
analogWrite(pino_buzzer,0);//desativa o pino do buzzer
}

else{}

aux34++;
analogWrite(Led_verde1, 0);
analogWrite(Led_verde2, 0);
digitalWrite(Led_verde3,LOW);
digitalWrite(Led_laranja1,LOW);
digitalWrite(Led_laranja2, HIGH);
digitalWrite(Led_laranja3, HIGH);
digitalWrite(Led_vermelho1,HIGH);
digitalWrite(Led_vermelho2,HIGH);
analogWrite(Led_vermelho3,1023);

lcd.clear();
lcd.setCursor(0, 0);// inicia o curso do LCD na coluna 0, linha 0
lcd.print("Temperatura:");//mensagem enviada para o LCD
lcd.setCursor(0, 1);// inicia o curso do LCD na coluna 0, linha 0
lcd.setCursor(6,1);
lcd.print("graus C.");//mensagem enviada para o LCD
delay(100);
lcd.clear();
}

else 

if(temp4&&temperatura
{
aux01=0;
aux12=0;
aux23=0;
aux34=0;
aux56=0;
aux67=0;
aux78=0;
aux89=0;

if(aux45==0)
{
analogWrite(pino_buzzer,1023);//ativa o pino analogico do buzzer para que ele sinalize a mudan?a de temperatura
delay(30);//deixa o buzzer ativado por 1 segundo
analogWrite(pino_buzzer,0);//desativa o pino do buzzer
}

else{}

aux45++;
analogWrite(Led_verde1, 0);
analogWrite(Led_verde2, 0);
digitalWrite(Led_verde3,LOW);
digitalWrite(Led_laranja1,LOW);
digitalWrite(Led_laranja2, LOW);
digitalWrite(Led_laranja3, HIGH);
digitalWrite(Led_vermelho1,HIGH);
digitalWrite(Led_vermelho2,HIGH);
analogWrite(Led_vermelho3,1023);

lcd.clear();
lcd.setCursor(0, 0);// inicia o curso do LCD na coluna 0, linha 0
lcd.print("Temperatura:");//mensagem enviada para o LCD
lcd.setCursor(0, 1);// inicia o curso do LCD na coluna 0, linha 0
lcd.setCursor(6,1);
lcd.print("graus C.");//mensagem enviada para o LCD
delay(100);
lcd.clear();

}

else 

if(temp5&&temperatura
{
aux01=0;
aux12=0;
aux23=0;
aux34=0;
aux45=0;
aux67=0;
aux78=0;
aux89=0;

if(aux56==0)
{
analogWrite(pino_buzzer,1023);//ativa o pino analogico do buzzer para que ele sinalize a mudan?a de temperatura
delay(30);//deixa o buzzer ativado por 1 segundo
analogWrite(pino_buzzer,0);//desativa o pino do buzzer
}

else

{
}

aux56++;
analogWrite(Led_verde1, 0);
analogWrite(Led_verde2, 0);
digitalWrite(Led_verde3,LOW);
digitalWrite(Led_laranja1,LOW);
digitalWrite(Led_laranja2, LOW);
digitalWrite(Led_laranja3, LOW);
digitalWrite(Led_vermelho1,HIGH);
digitalWrite(Led_vermelho2,HIGH);
analogWrite(Led_vermelho3,1023);

float aux=temperatura;//variavel utilizada para armazenar a leitura autal do sensor

lcd.clear();
lcd.setCursor(0, 0);// inicia o curso do LCD na coluna 0, linha 0
lcd.print("Temperatura:");//mensagem enviada para o LCD
lcd.setCursor(0, 1);// inicia o curso do LCD na coluna 0, linha 0
lcd.print(temperatura);//mostra o valor da variavel "moedas" no LCD
lcd.setCursor(6,1);
lcd.print("graus C.");//mensagem enviada para o LCD
delay(100);
lcd.clear();
}
else 

if(temp6&&temperatura
{
aux01=0;
aux12=0;
aux23=0;
aux34=0;
aux45=0;
aux56=0;
aux78=0;
aux89=0;

if(aux67==0){
analogWrite(pino_buzzer,1023);//ativa o pino analogico do buzzer para que ele sinalize a mudan?a de temperatura
delay(30);//deixa o buzzer ativado por 1 segundo
analogWrite(pino_buzzer,0);//desativa o pino do buzzer
}

else{}

aux67++;
analogWrite(Led_verde1, 0);
analogWrite(Led_verde2, 0);
digitalWrite(Led_verde3,LOW);
digitalWrite(Led_laranja1,LOW);
digitalWrite(Led_laranja2, LOW);
digitalWrite(Led_laranja3, LOW);
digitalWrite(Led_vermelho1,LOW);
digitalWrite(Led_vermelho2,HIGH);
analogWrite(Led_vermelho3,1023);

lcd.clear();
lcd.setCursor(0, 0);// inicia o curso do LCD na coluna 0, linha 0
lcd.print("Temperatura:");//mensagem enviada para o LCD
lcd.setCursor(0, 1);// inicia o curso do LCD na coluna 0, linha 0
lcd.print(temperatura);//mostra o valor da variavel "moedas" no LCD
lcd.setCursor(6,1);
lcd.print("graus C.");//mensagem enviada para o LCD
delay(100);
lcd.clear();
}
else 

if(temp7&&temperatura
{
aux01=0;
aux12=0;
aux23=0;
aux34=0;
aux45=0;
aux56=0;
aux67=0;
aux89=0;

if(aux78==0){
analogWrite(pino_buzzer,1023);//ativa o pino analogico do buzzer para que ele sinalize a mudan?a de temperatura
delay(30);//deixa o buzzer ativado por 1 segundo
analogWrite(pino_buzzer,0);//desativa o pino do buzzer
}

else{}

aux78++;
analogWrite(Led_verde1, 0);
analogWrite(Led_verde2, 0);
digitalWrite(Led_verde3,LOW);
digitalWrite(Led_laranja1,LOW);
digitalWrite(Led_laranja2, LOW);
digitalWrite(Led_laranja3, LOW);
digitalWrite(Led_vermelho1,LOW);
digitalWrite(Led_vermelho2,LOW);
analogWrite(Led_vermelho3,1023);
lcd.clear();
lcd.setCursor(0, 0);// inicia o curso do LCD na coluna 0, linha 0
lcd.print("Temperatura:");//mensagem enviada para o LCD
lcd.setCursor(0, 1);// inicia o curso do LCD na coluna 0, linha 0
lcd.print(temperatura);//mostra o valor da variavel "moedas" no LCD
lcd.setCursor(6,1);
lcd.print("graus C.");//mensagem enviada para o LCD
delay(100);
lcd.clear();
}
else if(temp8&&temperatura
aux01=0;
aux12=0;
aux23=0;
aux34=0;
aux45=0;
aux56=0;
aux67=0;
aux78=0;
if(aux89==0){
analogWrite(pino_buzzer,1023);//ativa o pino analogico do buzzer para que ele sinalize a mudan?a de temperatura
delay(30);//deixa o buzzer ativado por 1 segundo
analogWrite(pino_buzzer,0);//desativa o pino do buzzer
}
else{}
aux89++;
analogWrite(Led_verde1, 0);
analogWrite(Led_verde2, 0);
digitalWrite(Led_verde3,LOW);
digitalWrite(Led_laranja1,LOW);
digitalWrite(Led_laranja2, LOW);
digitalWrite(Led_laranja3, LOW);
digitalWrite(Led_vermelho1,LOW);
digitalWrite(Led_vermelho2,LOW);
analogWrite(Led_vermelho3,0);
lcd.clear();
lcd.setCursor(0, 0);// inicia o curso do LCD na coluna 0, linha 0
lcd.print("Temperatura:");//mensagem enviada para o LCD
lcd.setCursor(0, 1);// inicia o curso do LCD na coluna 0, linha 0
lcd.print(temperatura);//mostra o valor da variavel "moedas" no LCD
lcd.setCursor(6,1);
lcd.print("graus C.");//mensagem enviada para o LCD
delay(100);
lcd.clear();
}
else  {
// inicia o curso do LCD na coluna 0, linha 1
lcd.setCursor(0, 0);// inicia o curso do LCD na coluna 0, linha 0
// print the number of seconds since reset:
lcd.print("Temp. fora de ");//mensagem enviada para o LCD
lcd.setCursor(0, 1);
lcd.print("escala");//mensagem enviada para o LCD
lcd.clear();//apaga os caracteres no LCD
delay(100);
}
//FIM -  CONDI?OES DOS LEDS
}

對于這個項目,開發(fā)了一個專有案例,它將接收 LM35 溫度傳感器、LCD 顯示器、蜂鳴器信號、LED,只剩下 Arduino UNO 的電阻器和引腳,以便它可以用于教學方式,如圖 7 所示。

poYBAGN-3fqATPo3AAA5cNNLrWU761.jpg
?

圖 4 - 使用 Arduino 的溫度計的機械結構。

接下來,我們將介紹控制項目的印刷電路板的結構。

開發(fā)印刷電路板

從使用 Arduino 設計溫度計,開發(fā)了JLCPCB 印刷電路板。印刷電路板如下圖所示。

pYYBAGN-3fyAKy2IAABtJztTlf4070.png
?

該板有一個 Arduino、5 個 JST 連接器和一個 pin bar。

三個連接器用于連接結構按鈕。此外,我們還有 JST 連接器用于連接 LCD 顯示器和 LM35 溫度傳感器。

最后,我們有一個 pin bar 允許我們連接溫度計的 LED 燈塔。

印刷電路板電路是根據(jù)下面的電子圖開發(fā)的,您可以在文末下載文件。

poYBAGN-3f-Ab_olAAEeKSJjN9Q836.png
圖 6 - 項目的電子原理圖。
?

下載文件后,您可以在JLCPCB 工廠網(wǎng)站上免費購買 10 個單元。

通過這個電子原理圖,您可以設置您的項目并使用 Arduino 開展多項創(chuàng)意活動。

結論

因此,從這個項目的開發(fā)中,可以知道LM35溫度傳感器,蜂鳴器標志的結構。

此外,我們可以通過開發(fā)的程序分析與Arduino Uno的通信。

由于溫度傳感器具有取決于其外殼的轉(zhuǎn)換系數(shù),因此與進行測量的區(qū)域的溫度相比,測得的溫度值顯示出大約 3 度的誤差。

但是,用于比較的值是該地區(qū)的溫度,而不是位置的值。

致謝

我們感謝JLCPCB PCB 工廠對本項目開發(fā)的支持。

此外,我們要感謝Rob? Lúdico Brazillian School開發(fā)該項目。

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

評論

查看更多

下載排行

本周

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

本月

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

總榜

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