Мазмуну:

Үйдү автоматташтыруу: Сигнал жана ЖК дисплейи Температура босого мааниден жогору болгондо: 5 кадам
Үйдү автоматташтыруу: Сигнал жана ЖК дисплейи Температура босого мааниден жогору болгондо: 5 кадам

Video: Үйдү автоматташтыруу: Сигнал жана ЖК дисплейи Температура босого мааниден жогору болгондо: 5 кадам

Video: Үйдү автоматташтыруу: Сигнал жана ЖК дисплейи Температура босого мааниден жогору болгондо: 5 кадам
Video: Lesson 1: What is Arduino? Types of Arduino Boards and SunFounder Kit | SunFounder Robojax 2024, Ноябрь
Anonim
Үйдү автоматташтыруу: Температура босого мааниден жогору болгондо, сигналды жана дисплейди ЖКда угуңуз
Үйдү автоматташтыруу: Температура босого мааниден жогору болгондо, сигналды жана дисплейди ЖКда угуңуз

Бул блог үйдүн автоматташтыруу системасын кантип жасоону көрсөтөт, ал температура программаланган босогодон ашкан сайын сигнал бере баштайт. Бул бөлмөдө учурдагы темп -раны ЖКда көрсөтүүнү улантат жана керектүү иш -аракеттерди (мис. Темпти төмөндөтүү) темп босогодон жогору болгондо. Бул окуу куралында, мен Analog Devices жана AG-1005G Buzzer тарабынан өндүрүлгөн AD22100 темп сенсорун колдонуп жатам. AD22100 - бул сигналды кондиционерлөөчү Чыңалуу Чыгуу Температура Сенсору

1 -кадам: Бөлүктөр

Бул бузулгус ишти баштоодон мурун бул бөлүктөр сизге керек

1. Arduino UNO Board

2. ЖК дисплей (16х2)

3. Buzzer - 2 Pin (AC -1005G)

4. Temp Sensor - 3 Pin (AD22100)

2 -кадам: Arduino UNO менен түрдүү бөлүктөрдүн туташуусу

LCD байланыш Arduino UNO тактасы менен

LCD RS Pin (Pin 4) Arduino тактасынын 7 пини менен

LCD иштетүү Pin (Pin 6) Arduino тактасынын 8 пин менен

LCD D4 Pin (Pin 11) Arduino тактасынын 9 пини менен

LCD D5 Pin (Pin 12) Arduino тактасынын 10 пини менен

LCD D6 Pin (Pin 13) Arduino тактасынын Pin 11 менен

LCD D7 Pin (Pin 14) Arduino тактасынын 12 пини менен

+5v (Pot Pin 1) жана GND (Pot Pin 3) үчүн 10 KΩ Pot кошуңуз, Поттун ортоңку пинин (Pot Pin 2) LCD V0 пинге (Pin 3) туташтырыңыз.

LCD VDD Pin (Pin 2) жана LCD A Pin (Pin 15) +5v менен Arduino тактасында.

LCD VSS Pin (Pin 1) жана LCD K Pin (Pin 16) Arduino тактасында GND менен.

AD22100 Temp Sensor Arduino UNO Board менен байланыш

AD22100'дун Pin 1 (V +) Arduino тактасындагы +5 v менен туташтырылышы керек.

AD22100 Pin 2 (Vo) Arduino тактасындагы Pin A1 менен туташтырылышы керек.

AD22100 Pin 3 (GND) Arduino тактасындагы GND менен туташышы керек

Buzzer (AC-1005G) Arduino UNO Board менен байланыш

Arduino тактасынын 6 PWM чыгышы Buzzerдин +ve киришине туташтырылышы керек.

Arduino Boardтун GND Buzzerдин -ve киргизүү менен туташышы керек

3 -кадам: Arduino коддору

Аны түзүңүз жана Arduino тактасына жүктөңүз жана Үй автоматташтыруу системасынын демосун байкаңыз

// Программа ушул жерден башталат

int val;

int tempPin = A1;

int buzzer = 6;

#кошуу LiquidCrystal lcd (7, 8, 9, 10, 11, 12);

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

// орнотуу кодуңузду бул жерге коюңуз, бир жолу иштетүү үчүн:

lcd.begin (16, 2);

lcd.clear ();

Serial.begin (9600);

pinMode (ызы -чуу, ЧЫГУУ);

}

void loop () {// кайра иштетүү үчүн негизги кодуңузду бул жерге коюңуз:

val = analogRead (tempPin); // AD22100 Pin A1ге туташкан

/*

*25C үчүн, val 900 дегенди билдирет, демек

* 900 1.9375 v туура келет

* Transfer Function (V +/5) * (1.375 + 22.5 mv/degC * 25 degC), * AD22100 маалымат барагын окуңуз

*/

float cel = (((((1.9375/900) * val) - 1.375) /22.5) * 1000;

float farh = (cel*9)/5 + 32;

Serial.print (val);

Serial.println ();

Serial.print ("TEMPRATURE =");

Serial.print (cel); Serial.print (“*C”);

Serial.println ();

if (cel> 26) {

обон (коңгуроо, 1000);

lcd.clear ();

lcd.print ("Темп босогодон жогору");

lcd.setCursor (0, 1);

lcd.print ("Температураны төмөндөтүү");

}

башка

{noTone (ызылдак);

lcd.clear ();

lcd.print ("Температура көзөмөлдө");

lcd.setCursor (0, 1);

lcd.print ("Temp =");

lcd.print (cel);

lcd.print ("degC");

}

кечигүү (500);

}

// Программа ушул жерде аяктайт

4 -кадам: Программаны деталдуу түрдө түшүнүү

Мен коддун бир нече бөлүмүн түшүндүрүүгө аракет кылам.

If/else билдирүүсүнө байланыштуу функциялар

Эгерде темп босого мааниден чоң болсо, мен коңгуроонун сигналын коём жана сигналды коддун төмөнкү бөлүмү менен темпти төмөндөтүү үчүн ЖКда көрсөтөм.

эгер (cel> 26)

{тон (ызылдак, 1000);

lcd.clear ();

lcd.print ("Темп босогодон жогору");

lcd.setCursor (0, 1);

lcd.print ("Температураны төмөндөтүү");

}

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

башка

{noTone (ызылдак);

lcd.clear ();

lcd.print ("Температура көзөмөлдө");

lcd.setCursor (0, 1);

lcd.print ("Temp =");

lcd.print (cel);

lcd.print ("degC");

}

Buzzer менен байланышкан функциялар

тон (ызгырык, 1000) - бул функция 1 кГц сигналды PIN 6 деп аныкталган пинзерге жөнөтөт, ал эми Магниттик зумер Pin 6 боюнча туташкан Ошентип, шыңгыроо токтойт

Temp Sensor менен байланышкан функциялар

Температураны окуунун аналогдук маанисин градустан C мааниге которуу, өткөрүп берүү функциясын колдонуу менен жасалат, аны төмөндө жазылгандай AD22100 маалымат барагынан билүүгө болот.

Vout = (V +/5 V) × (1.375 V + 22.5 mV/° C × TA) жана ошол эле көрсөткүч ЖК дисплейде басылып чыгат.

5 -кадам: Instructables Demo

Программа түзүлүп, Arduino UNO тактасына жүктөлгөндөн кийин

Келгиле, AD22100 темп -сенсору аркылуу сезилген температураны жогорулатууга жана Үйдү автоматташтыруу системасынан ырахат алууга аракет кылалы.

Сенсордун температурасын жогорулатуу үчүн, мен аны Лабораторияда бар ширетүүчү темир менен тийип жатам.

Бул жерден демонстрацияны карап көрсөңүз болот..

Үйдү автоматташтыруу системасынын демосу

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