Мазмуну:

TMP36 температура сенсору жана LCD дисплейи Arduino (Tinkercad) аркылуу: 7 кадам
TMP36 температура сенсору жана LCD дисплейи Arduino (Tinkercad) аркылуу: 7 кадам

Video: TMP36 температура сенсору жана LCD дисплейи Arduino (Tinkercad) аркылуу: 7 кадам

Video: TMP36 температура сенсору жана LCD дисплейи Arduino (Tinkercad) аркылуу: 7 кадам
Video: Lesson 12: Using Arduino Programming function and switch | SunFounder Robojax 2024, Июнь
Anonim
TMP36 температура сенсору жана LCD дисплейи Arduino (Tinkercad) менен
TMP36 температура сенсору жана LCD дисплейи Arduino (Tinkercad) менен
TMP36 температура сенсору жана LCD дисплейи Arduino (Tinkercad) менен
TMP36 температура сенсору жана LCD дисплейи Arduino (Tinkercad) менен

Баарыңарга салам! Биз Тун Хусейн Онн Малайзия Университетинин студенттерибиз (UTHM) UQD0801 (Robocon 1) программабыздын бир бөлүгү катары Tinkercad аркылуу температура сенсорун, LCD жана Arduino моделдештирүү боюнча долбоорду ишке ашырууда.

Температура сенсорлору жана ЖК бөлмө температурасын көзөмөлдөө, ал тургай өсүмдүктөрдү көзөмөлдөө же температураны маанилүү элемент катары караган ар кандай жагдайларда жөнөкөй механизм катары кызмат кыла алат!

1 -кадам: Керектүү компоненттердин тизмеси

Керектүү компоненттердин тизмеси
Керектүү компоненттердин тизмеси

Бул долбоор рынокто оңой эле сатып алына турган компоненттерди талап кылат.

Компоненттердин тизмеси:

1. Arduino Uno R3 (1)

2. Температура сенсору (TMP36) (1)

3. ЖК 16x2 (1)

4. 250kΩ потенциометр (1)

5. 220Ω резистор (1)

2 -кадам: Tinkercadдагы Circuit Connection

Тинкеркаддагы райондук байланыш
Тинкеркаддагы райондук байланыш

Tinkercad колдонуучуларга нөлдөн баштап өз схемаларын татаалдаштырбоого жардам бере турган алдын ала курулган схемаларды камсыз кылат.

Circuit Desingerде биз lcd издей алабыз, бул Arduino менен ЖКнын ортосунда алдын ала туташкан схемасы бар стартердик схема бар экенин көрсөтөт.

3 -кадам: TMP36 Температура сенсору

TMP36 температура сенсору
TMP36 температура сенсору

Tinkercadда бир гана температура сенсору бар, бул TMP36.

TMP36 температурага сезгич каршылыкка ээ эмес. Анын ордуна бул сенсор диоддордун касиетин колдонот; диоддун температурасы өзгөргөндө чыңалуу аны менен белгилүү ылдамдыкта өзгөрөт. Сенсор кичинекей өзгөрүүнү өлчөйт жана анын негизинде 0 менен 1.75VDC ортосундагы аналогдук чыңалууну чыгарат. Температураны алуу үчүн, биз өндүрүштү өлчөп, Цельсий градусына айландыруу үчүн кээ бир эсептөөлөрдү жүргүзүшүбүз керек.

4 -кадам: TMP36ны Arduino менен туташтырыңыз

TMP36ны Arduino менен туташтырыңыз
TMP36ны Arduino менен туташтырыңыз

TMP36 сенсордун жалпак тарабын байкоо аркылуу оңой эле аныктала турган 3 төөнөгүчкө ээ.

Биринчи пин +5V пин болуп саналат, ал камсыздоого туташтырылат.

Экинчи пин-Vout, ал аналогдук пинге туташат (A0-A5 болушу мүмкүн). Биз бул долбоор үчүн A0 колдондук.

Үчүнчү пин - бул Arduino жерге туташтырыла турган GND пини.

5 -кадам: Келгиле, кодирование кылалы

Келгиле, кодирование кылалы!
Келгиле, кодирование кылалы!

Башында, Tinkercadдан табылган код редакторунда код болот.

Себеби биз Tinkercadдан баштапкы схеманы колдонуп, анын кодун жүктөп, жаңы колдонуучуларга өндүрүштү изилдөөгө жана окшоштурууга мүмкүнчүлүк бердик.

Биз мунун баарын жок кылып, кодубузду иштеп чыга алабыз.

Биз иштеп чыга турган Arduino коду үчүн, биз долбоорго байланыштуу китепканалардын камтылышын камсыз кылышыбыз керек.

Бул учурда бизге эки китепкана керек; ЖК үчүн китепкана (LiquidCrystal.h)

Сериялык байланыш үчүн китепкана (SoftwareSerial.h)

Бул эки китепкана тең Тинкеркадда бар, башкача айтканда эч кандай китепкананы тышкы булактардан жүктөөнүн кажети жок.

Ошондуктан; коддун биринчи саптары

#кошуу

#кошуу

6 -кадам: Коддун калган бөлүгү

Калган код
Калган код

// китепкана кодун камтыйт: #include

#кошуу

LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // rs, en, d4, d5, d6, d7 төөнөгүчтөрүн 12 11 5 4 3 2 пиндеги arduino менен туташтыруу

int celsius; // цельсий функциясын бүтүн сан деп жарыялоо

жараксыз орнотуу ()

{

Serial.begin (9600); // байдын ылдамдыгын секундасына 9600 битке коюңуз

lcd.begin (16, 2); // lcd өлчөмү 16x2 // ЖКга билдирүү басып чыгаруу.

lcd.print ("Temp Display");

Serial.println ("Temp Display"); // билдирүүнү сериялык мониторго басып чыгаруу}

боштук цикл ()

{

celsius = карта (((analogRead (A0) -20) * 3.04), 0, 1023, -40, 125); // температураны математикалык түрдө алуу үчүн. Карта 0 = -40 градус жана 1023 = 125 градус

lcd.setCursor (0, 0); // курсор lcdдин биринчи пикселине коюлган.

lcd.print ("Temp Display"); // билдирүүнү lcdге басып чыгаруу

lcd.setCursor (0, 1); // курсор экинчи пикселдин биринчи пикселине коюлган

lcd.print (celsius); // окулган аналогдон Цельсий чыгарылышын lcdге 0, 1де басып чыгарат

lcd.print ("C"); // "c" алфавитин басып чыгаруу

Serial.println (celsius); // сериялык монитордо көрсөтүлгөн чыгаруу

кечигүү (1000); // окуу 1 секунд сайын жаңырат

lcd.clear (); // LCDди тазалайт

}

Кээде, Тинкеркадга көчүрүлгөндө, линиялардын ортосундагы боштуктун ортосунда "*" белгиси болушу мүмкүн. Компиляция учурунда каталарды болтурбоо үчүн жогоруда табылган коддон башка бардык белгилердин өчүрүлүшүн камсыз кылыңыз

Сунушталууда: