Здравейте! Като доставчик на едноцифрен 7-сегментен светодиод, имам желание да споделя с вас как да използвате тези изящни малки устройства във верига за показване на температурата.
Първо, нека разберем основно какво представлява едноцифрен 7-сегментен светодиод.Едноцифрен 7-сегментен светодиоде компонент на дисплея, който се състои от седем отделни сегмента, подредени по начин, който образува различни числа. Всеки сегмент е светодиод и чрез осветяване на различни комбинации от тези сегменти можем да показваме числа от 0 до 9. Това е прост, но ефективен начин за показване на цифрова информация, което го прави идеален за температурни дисплеи.


Защо да изберете едноцифрен 7-сегментен светодиод за температурен дисплей?
Има няколко причини, поради които едноцифреният 7-сегментен светодиод е чудесен избор за схеми за показване на температурата. Първо, работата с него е супер лесна. Ако сте нов в електрониката или просто търсите просто решение, тези светодиоди са лесни за интегриране във вашата верига. Второ, те са рентабилни. Не е нужно да разбивате парите, за да получите точен и надежден температурен дисплей. И накрая, те се виждат от разстояние. Независимо дали наблюдавате температурата в малка стая или по-голяма площ, яркият и ясен дисплей на едноцифрения 7-сегментен светодиод го прави лесен за четене.
Първи стъпки с веригата
Нека започнем да изграждаме веригата за показване на температурата с помощта на едноцифрен 7-сегментен светодиод. Първото нещо, от което се нуждаете, е температурен датчик. Препоръчвам да използвате цифров температурен сензор като DS18B20. Той е точен, лесен за свързване с микроконтролери и може да предостави температурни показания в Целзий или Фаренхайт.
След това ще ви трябва микроконтролер. Arduino е популярен избор за начинаещи, защото е лесен за програмиране и има голяма общност от потребители. Можете да използвате Arduino Uno, Nano или всяка друга съвместима платка. Микроконтролерът ще прочете данните за температурата от сензора и ще управлява едноцифрения 7-сегментен светодиод за показване на температурата.
Ето разбивка на компонентите, от които се нуждаете за веригата:
- Едноцифрен 7-сегментен светодиод
- Цифров температурен сензор (напр. DS18B20)
- Микроконтролер (напр. Arduino)
- Breadboard и джъмперни кабели
- Резистори (за ограничаване на тока)
Окабеляване на веригата
Сега нека свържем веригата. Първо свържете температурния сензор към микроконтролера. За DS18B20 ще трябва да свържете щифтовете за захранване, заземяване и данни към съответните щифтове на Arduino. Обикновено щифтът за данни отива към щифт за цифров вход на Arduino.
След това нека свържем едноцифрения 7-сегментен светодиод. Светодиодът има 7 сегмента (a, b, c, d, e, f, g) плюс десетична точка (ако има такава). Всеки сегмент се управлява от отделен щифт на светодиода. Ще трябва да свържете тези щифтове към цифровите изходни щифтове на микроконтролера. Уверете се, че сте добавили резистори последователно към всеки сегмент, за да ограничите тока и да предотвратите изгарянето на светодиодите.
Ето една проста електрическа схема:
- Свържете VCC щифта на температурния сензор към 5V щифта на Arduino.
- Свържете щифта GND на температурния сензор към щифта GND на Arduino.
- Свържете щифта за данни на температурния сензор към щифта за цифров вход (напр. D2) на Arduino.
- Свържете сегментите на едноцифрения 7-сегментен светодиод (a, b, c, d, e, f, g) към цифровите изходни щифтове на Arduino (напр. D3 - D9).
- Свържете резистор (напр. 220 ома) последователно с всеки сегмент.
- Свържете общия щифт на светодиода (общ анод или общ катод) към подходящия източник на захранване или заземяване.
Програмиране на микроконтролера
След като веригата е свързана, е време да програмирате микроконтролера. Arduino IDE улеснява писането и качването на код към платката Arduino. Ето прост примерен код за четене на температурата от сензора и показването й на едноцифрен 7-сегментен светодиод:
#include <OneWire.h> #include <DallasTemperature.h> // Кабелът за данни е свързан към цифров пин 2 #define ONE_WIRE_BUS 2 // Настройване на екземпляр на oneWire за комуникация с всякакви OneWire устройства OneWire oneWire(ONE_WIRE_BUS); // Предаване на нашата препратка от oneWire към сензора за температура в Далас DallasTemperature сензори (&oneWire); // Дефиниране на сегменти от 7-сегментен светодиод int segmentPins[] = {3, 4, 5, 6, 7, 8, 9}; int digitPins[] = {10}; // Сегменти за всяка цифра int digitSegments[10][7] = { {1, 1, 1, 1, 1, 1, 0}, // 0 {0, 1, 1, 0, 0, 0, 0}, // 1 {1, 1, 0, 1, 1, 0, 1}, // 2 {1, 1, 1, 1, 0, 0, 1} // 3 {0, 1, 1, 0, 0, 1, 1}, // 4 {1, 0, 1, 1, 0, 1, 1}, // 5 {1, 0, 1, 1, 1, 1, 1}, // 6 {1, 1, 1, 0, 0, 0, 0}, // 7 {1, 1, 1, 1, 1, 1, 1}, // 8 {1, 1, 1, 1, 0, 1, 1} // 9 }; void setup() { // Стартиране на серийна комуникация за отстраняване на грешки Serial.begin(9600); // Стартиране на сензорната библиотека sensors.begin(); // Задаване на сегментни пинове като изходи за (int i = 0; i < 7; i++) { pinMode(segmentPins[i], OUTPUT); } // Задаване на цифрови пинове като изходи за (int i = 0; i < 1; i++) { pinMode(digitPins[i], OUTPUT); } } void loop() { // Изискване на температура от сензорите sensors.requestTemperatures(); // Получаване на температура в Целзий float temperatureC = sensors.getTempCByIndex(0); // Проверете дали температурата е валидна if (temperatureC != DEVICE_DISCONNECTED_C) { // Отпечатайте температурата на серийния монитор Serial.print("Temperature: "); Serial.print(temperatureC); Serial.println("°C"); // Получаване на цялата част от температурата int tempInt = (int)temperatureC; // Получаване на цифрата за показване int digit = tempInt % 10; // Активиране на цифрата digitalWrite(digitPins[0], HIGH); // Показване на цифрата за (int i = 0; i < 7; i++) { digitalWrite(segmentPins[i], digitSegments[digit][i]); } } // Закъснение за кратко време delay(1000); }
Този код чете температурата от сензора DS18B20, преобразува я в цяло число и показва последната цифра от температурата на едноцифрения 7-сегментен светодиод. Можете да промените кода, за да показва различни цифри или да показва температурата във Фаренхайт.
Други видове 7-сегментни светодиоди
Ако трябва да покажете повече цифри или имате по-сложни температурни показания, може да помислите за други видове 7-сегментни светодиоди.Четирицифрен 7-сегментен светодиодиДвуцифрен седемсегментен светодиодса страхотни опции за показване на многоцифрени числа. Те работят по подобен начин на едноцифрения 7-сегментен светодиод, но имат множество цифри, които могат да се управляват независимо.
Заключение
Използването на едноцифрен 7-сегментен светодиод във верига за показване на температура е забавен и възнаграждаващ проект. Това е чудесен начин да научите повече за електрониката, програмирането и сензорите. Независимо дали сте начинаещ или опитен производител, можете лесно да интегрирате тези светодиоди във вашите проекти.
Ако се интересувате от закупуването на едноцифрени 7-сегментни светодиоди или други видове 7-сегментни светодиоди, не се колебайте да се свържете с нас за обсъждане на поръчките. Ние сме тук, за да ви помогнем да намерите правилните продукти за вашите нужди.
Референции
- Документация на Arduino: www.arduino.cc/en/Reference/HomePage
- Библиотека с температурни сензори на Далас: www.milesburton.com/Dallas_Temperature_Control_Library
