電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>了解如何創(chuàng)建Arduino保險(xiǎn)箱

了解如何創(chuàng)建Arduino保險(xiǎn)箱

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

資料介紹

描述

介紹

通過反射檢測(cè)物體的功能有多種應(yīng)用,主要是在自動(dòng)化領(lǐng)域,例如遠(yuǎn)程控制命令。

通過可以檢測(cè)物體存在的傳感器輔助自動(dòng)化,可以通過數(shù)字打印、燈的自動(dòng)激活、可以根據(jù)不同表面反射到達(dá)的光的方式分配不同功能的系統(tǒng)來開發(fā)系統(tǒng)。 .

因此,這些應(yīng)用之一存在于物體檢測(cè)中,例如在使用 TCRT5000 傳感器和 LCD 顯示器的教學(xué)保險(xiǎn)箱中,如下圖 1 所示。

pYYBAGOD0BCAZRT7AABOzOt9FYk843.png
圖 1 - 使用 LCD 顯示器和 TCRT5000 傳感器的教學(xué)保險(xiǎn)箱案例。
?

為了開發(fā)這個(gè)保險(xiǎn)箱的教學(xué)案例,您將學(xué)習(xí)使用 Arduino 組裝基本電路和編程。

實(shí)施的教學(xué)保險(xiǎn)箱結(jié)構(gòu)簡(jiǎn)單,包含 LCD(液晶顯示器)顯示器、TCRT5000 反射式物體傳感器和按鈕。

當(dāng)硬幣通過特定孔插入保險(xiǎn)箱時(shí),傳感器會(huì)檢測(cè)到它的存在并使用開發(fā)程序中的內(nèi)部條件計(jì)算硬幣的總量。

硬幣的檢測(cè)是由反射傳感器TCRT5000進(jìn)行的,它使用LED發(fā)光,當(dāng)光被反射時(shí)光電晶體管被激活,從而進(jìn)行計(jì)數(shù)。

在本文中,您將學(xué)習(xí)如何編程和使用 TCRT5000 反射式傳感器,以及了解其物理結(jié)構(gòu),因?yàn)樵搨鞲衅魇褂梅瓷渥鳛?a href='http://www.ttokpm.com/v/tag/773/' target='_blank' class='arckwlink_none'>工作原理。

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

  • 了解帶晶體管輸出的 TCRT5000 反射式光學(xué)傳感器的結(jié)構(gòu);
  • 了解帶晶體管輸出的 TCRT5000 反射式光學(xué)傳感器的操作;
  • 在具有晶體管輸出的 TCRT5000 反射式光學(xué)傳感器和 Arduino UNO R3 之間執(zhí)行通信;
  • 將帶晶體管輸出的 TCRT5000 反射式光學(xué)傳感器的結(jié)構(gòu)展示給 SILICIOS LAB 開發(fā)的教學(xué)案例。
  • 為錢柜構(gòu)建您的 PCBGOGO 印刷電路板。

現(xiàn)在,我們將開始全面介紹使用 LCD 和 TCRT5000 反射式傳感器的教學(xué)安全的開發(fā)。

項(xiàng)目開發(fā)方法論

該項(xiàng)目包括展示一個(gè)使用 TCRT5000 反射式光學(xué)傳感器和 Arduino UNO 開發(fā)板的保險(xiǎn)箱教學(xué)模型。

該項(xiàng)目由光學(xué)傳感器組成,負(fù)責(zé)通過發(fā)射紅外光來檢測(cè)物體的存在,并在檢測(cè)到物體反射的光時(shí)激活光電晶體管。

Arduino UNO開發(fā)板將負(fù)責(zé)接收傳感器發(fā)送的邏輯電平并提供電源使傳感器工作,最后處理傳感器接收到的信號(hào)。如圖 2 所示。

poYBAGOD0BWAM74EAAcMhXUUy0M712.jpg
圖 2 - 建議用于教學(xué)保險(xiǎn)箱操作的電路。
?

反射式傳感器的紅外光LED發(fā)出的信號(hào)發(fā)射出去,這樣光就檢測(cè)到硬幣了,很快,光在幾個(gè)方向上反射,一部分被反射式傳感器的光電晶體管捕捉到如圖 3 所示。

poYBAGOD0BeAOkzcAABw8d8YrS4335.jpg
圖 3 - TCRT5000 反射式傳感器的發(fā)射和接收。
?

TCRT5000反射式傳感器基本由一個(gè)紅外發(fā)光LED、負(fù)責(zé)進(jìn)行光切換的光電晶體管和用于耦合上述兩個(gè)器件的結(jié)構(gòu)構(gòu)成。

紅外 LED 向多個(gè)方向發(fā)射光,當(dāng)光照射到硬幣表面時(shí),它反射光,光電晶體管捕獲光。

通過這種方式,傳感器向 Arduino 的數(shù)字引腳發(fā)送一個(gè)低邏輯電平,另一方面,當(dāng)傳感器沒有檢測(cè)到任何物體時(shí),它發(fā)送一個(gè)高邏輯電平。

教學(xué)保險(xiǎn)箱的所有通信都將通過液晶顯示屏完成,液晶顯示屏將向用戶發(fā)送指示性消息。

按鈕將用于向 Arduino 的數(shù)字引腳 7 發(fā)送低邏輯電平,從而完成程序中實(shí)現(xiàn)的硬幣計(jì)數(shù)器的歸零。

為此,將使用一個(gè) 10 kΩ 的上拉電阻來確保引腳具有高邏輯電平,使其在激活按鈕時(shí)達(dá)到低邏輯電平,從而避免溢出。

要設(shè)置實(shí)驗(yàn),首先,確保您的 Arduino 已通過從 USB 電纜上斷開來關(guān)閉。

現(xiàn)在,將組件連接起來,如下圖 5 所示。

poYBAGOD0ByAOznaAAEvCWIFiOY245.jpg
圖 5 - 建議電路的接線圖。
?

根據(jù)圖5所示的接線圖,實(shí)驗(yàn)由反射式傳感器電路、Arduino UNO電路、Push Button電路和LCD顯示電路組成。

TCRT5000 傳感器有 4 個(gè)引腳(兩個(gè)引腳用于 LED,兩個(gè)用于光電晶體管),有兩個(gè)電源引腳 (Vdc),光電晶體管的電源引腳連接到 10kΩ 電阻器,該電阻器將連接到 Arduino 的 5 伏Uno 通過原型板,它還將連接到 Arduino 的數(shù)字引腳 6 以發(fā)送信號(hào),同時(shí)為 LED 供電的引腳將連接到 220 Ω 電阻器,該電阻器將連接到 5 伏總線原型板。

剩下的兩個(gè)引腳,LED 和光電晶體管都將連接到原型板的參考總線,原型板將連接到 arduino 的 GND 引腳。

Arduino uno 將負(fù)責(zé)對(duì)整個(gè)電路的信號(hào)進(jìn)行處理,并提供電源和參考。使用的按鈕將連接到參考和上拉電阻,以確保只要未按下按鈕,arduino 的數(shù)字引腳 6 上的邏輯電平就很高。

LCD 顯示電路將是標(biāo)準(zhǔn)的使用 4 位連接(D4、D5、D6 和 D7)以及負(fù)責(zé)對(duì)比度的 10 kΩ 電位器和連接到陽極引腳的 330 Ω 電阻器。

教學(xué)保險(xiǎn)箱的所有編程邏輯都是按照以下程序的注釋開發(fā)的:

/*
Conex?es do display LCD ao arduino uno:
* LCD RS pino para o digital pino 12
* LCD Enable pin para o digital pino 11
* LCD D4 pino para o digital pino 5
* LCD D5 pino para o digital pino 4
* LCD D6 pino para o digital pino 3
* LCD D7 pino para o digital pino 2
* LCD R/W pino para o ground
* LCD VSS pino para o ground
* LCD VDD pino para o 5V
* LCD V0 pino para o potenci?metro
*/
#include //importando a biblioteca das fun?oes do LCD
//pinos de interface da biblioteca
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
//********************INICIO-SENSOR TCRT5000***********************
int Objeto = 0;//variável utilizada para as informa??es do sensor
int Sensor = 6;// o pino de dados do sensor será conectado ao pino digital 6 do arduino
int moedas = 0;//variavel responsavel por contar as moedas
int botao_zerar_contagem = 7;//variavel responsável pelo botao que ira reiniciar a contagem das moedas.
int estado_botao;//variável utilizada para verificar o estada do bot?o.
//********************FIM-SENSOR TCRT5000***********************
void setup() { //fun??o responsável por definir os pinos de entrada e saida do arduino
//********************INICIO-SENSOR TCRT5000***********************
pinMode(Sensor,INPUT);//define o pino Sensor como entrada de dados
pinMode(botao_zerar_contagem,INPUT);//define o pino do botao como entrada de dados
//********************FIM-SENSOR TCRT5000***********************
//  Número de linhas e colunas do LCD utilizado
lcd.begin(16, 2);
// Fun??o responsável 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(2,1);//setando o cursor do LCD na coluna 2 linha 1
lcd.print("Cofre 1 real");//mensagem enviada para o LCD
delay(4000);//aguarda 4 segundos para iniciar
lcd.clear();//apaga os caracteres no LCD
}
void loop() {
estado_botao = digitalRead(botao_zerar_contagem);//lendo o estado do bot?o.
if(estado_botao==LOW)//se o estada do bot?o for LOW, a contagem será reiniciada
{
lcd.setCursor(0,0);//desloca o cursor para a posi??o específica do texto da contagem
lcd.clear();//limpa a contagem anterior
moedas=0;//zera a contagem das moedas e reinicia a contagem.
}
else//se o estado do bot?o for contrário a LOW, ou seja, HIGH, o programa ira continuar o seu fluxo       normalmente
{
}
Objeto = digitalRead(Sensor);//analise o sinal enviado pelo pino de dados do sensor
if(Objeto==0)//caso o sinal do sensor seja nível lógico 0, o sensor terá detectado um objeto
{
Serial.println("Moeda Recebida");//mensagem no monitor Serial
// inicia o curso do LCD na coluna 0, linha 1
lcd.clear();//apaga os caracteres no LCD
lcd.setCursor(0, 1);//setando o cursor do LCD na coluna 0 linha 1
// print the number of seconds since reset:
lcd.print("Moeda Recebida");
moedas=moedas+1;//a cada passagem por esta linha, o contador é incrementado com o valor 1.
lcd.setCursor(0, 0);// inicia o curso do LCD na coluna 0, linha 0
// print the number of seconds since reset:
lcd.print("Moedas = ");//mensagem enviada para o LCD
lcd.print(moedas);//mostra o valor da variável "moedas" no LCD
int aux=Objeto;//variável utilizada para armazenar a leitura atual do sensor
while(aux==LOW){//loop responsável por impedir o sensor de conte mais de uma vez a moeda enquanto ela está sendo colocada no cofre.
moedas=moedas;//enquanto o loop durar, o valor da variável será o mesmo.
lcd.setCursor(0,0);
lcd.print("Moedas = ");
lcd.print(moedas);
aux=digitalRead(Sensor);
}
}
else //caso o valor seja nível lógico 1, o sensor n?o estará detectando a presen?a de nenhum objeto
{
lcd.setCursor(0, 0);// inicia o curso do LCD na coluna 0, linha 1
lcd.clear();
// print the number of seconds since reset:
lcd.print("Moedas = ");
lcd.print(moedas);
Serial.println("Objeto nao detectado");
// inicia o curso do LCD na coluna 0, linha 1
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print("Esperando Moedas");
}
if(botao_zerar_contagem==0)
{
lcd.setCursor(0,0);//desloca o cursor para a posi??o específica do texto da contagem
lcd.clear();//limpa a contagem anterior
moedas=0;//zera a contagem das moedas e reinicia a contagem.
moedas=0;
}
}

對(duì)于這個(gè)項(xiàng)目,開發(fā)了一個(gè)合適的案例,它將接收 TCRT5000 反射式光學(xué)傳感器、LCD 顯示器和按鈕,只留下 Arduino Uno 引腳連接,以便可以以教學(xué)方式使用,如圖所示在圖 6 中。

pYYBAGOD0B6ADRJXAABQxOBTLp0879.png
圖 6 - 用于 TCRT5000 反射式傳感器、LCD 顯示屏和按鈕的教學(xué)案例。
?

從電路的組裝和 Arduino Uno 的編程來看,可以將 LCD 顯示器固定在教學(xué)箱的前面,也可以通過小支架將反射傳感器安裝在蓋子的上部區(qū)域。硬幣的入口。

按鈕固定在 LCD 下方,因此,在放置硬幣后,可以通過教學(xué)保險(xiǎn)箱后面的小門將它們?nèi)〕?,如圖 7 所示。

pYYBAGOD0CCABirMAABjLOnfWro028.png
圖 7 - 機(jī)箱的小門。
?

與后部區(qū)域有一個(gè)用于從反射傳感器引出電線的孔相同的方式,側(cè)面區(qū)域也有一個(gè)用于從 LCD 顯示器和按鈕引出電線的孔。

教學(xué)保險(xiǎn)箱的說明性圖像有一些透明區(qū)域,以便更好地了解箱子的內(nèi)部結(jié)構(gòu)。

接下來,我們將展示用于現(xiàn)金保險(xiǎn)箱的PCBGOGO 印刷電路板。

PCBGOGO印刷電路板

印刷電路板開發(fā)是為了控制現(xiàn)金保險(xiǎn)箱的設(shè)計(jì)。下圖以 3D 形式顯示了印刷電路板。

poYBAGOD0COAUiSLAABY6nwKEBo704.png
圖 9 - PCBGOGO 印刷電路板。
?

PCBGOGO 印刷電路板是通過以下電子原理圖開發(fā)的。

pYYBAGOD0CeATm-fAALKxHCcfo0334.png
圖 10 - 印刷電路板的電子原理圖。
?

您可以下載印刷電路板文件并在 PCBGOGO 使用此鏈接中的 50 美元折扣券購買。

結(jié)論

因此,通過本項(xiàng)目的開發(fā),除了通過開發(fā)的程序分析與Arduino Uno的通信外,還可以了解具有晶體管輸出的TCRT5000反射式光學(xué)傳感器的結(jié)構(gòu)并了解其操作。

由于傳感器通過 LED 發(fā)射紅外光,然后反射光激活光電晶體管,因此分析對(duì)象(在本例中為 1 枚真幣)必須位于距離物體 5 毫米至 10 毫米的位置。傳感器,為了保證它的檢測(cè),并以這種方式,教學(xué)保險(xiǎn)箱的主要組件適應(yīng)了教學(xué)案例。

致謝

感謝PCBGOGO 印刷電路板對(duì)本項(xiàng)目開發(fā)的支持。

我們還要感謝巴西的Rob? Lúdico學(xué)校。


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

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  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)用手冊(cè)
  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電氣工程師手冊(cè)免費(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)