Სარჩევი:

Arduino LCD სახანძრო უსაფრთხოების გაფრთხილების სისტემა: 9 ნაბიჯი
Arduino LCD სახანძრო უსაფრთხოების გაფრთხილების სისტემა: 9 ნაბიჯი

ვიდეო: Arduino LCD სახანძრო უსაფრთხოების გაფრთხილების სისტემა: 9 ნაბიჯი

ვიდეო: Arduino LCD სახანძრო უსაფრთხოების გაფრთხილების სისტემა: 9 ნაბიჯი
ვიდეო: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, ივლისი
Anonim
Arduino LCD სახანძრო უსაფრთხოების გამაფრთხილებელი სისტემა
Arduino LCD სახანძრო უსაფრთხოების გამაფრთხილებელი სისტემა
Arduino LCD სახანძრო უსაფრთხოების გამაფრთხილებელი სისტემა
Arduino LCD სახანძრო უსაფრთხოების გამაფრთხილებელი სისტემა
Arduino LCD სახანძრო უსაფრთხოების გამაფრთხილებელი სისტემა
Arduino LCD სახანძრო უსაფრთხოების გამაფრთხილებელი სისტემა

ეს არის სტუდენტური პროექტი, რომელიც აერთიანებს LCD ეკრანის, ზარის, RGB და DHT ტემპერატურის სენსორის ფუნქციებს.

მიმდინარე გარემოს ტემპერატურა ნაჩვენებია და განახლებულია LCD ეკრანზე.

LCD ეკრანზე დაბეჭდილი შეტყობინება აცნობებს მომხმარებელს "ხანძრის საფრთხის" დონეს.

ეკრანი მუქდება და ციმციმებს, რომ გააფრთხილოს მომხმარებელი საფრთხის შესახებ.

ზარი უფრო ხმამაღალი და სწრაფი ხდება მომხმარებლის საფრთხის გაფრთხილებისათვის, არსებული რისკის დონის მიხედვით.

RGB იცვლება მწვანე, ყვითელი, ნარინჯისფერი და წითელი მიმდინარე რისკის დონის მიხედვით.

შეიძლება მოთავსდეს 3D ბეჭდვით დანართში უფრო პროფესიონალური გარეგნობისთვის.

ეს წყვეტს რეალურ პრობლემას იმ ადამიანების შესახებ, რომლებმაც არ იციან როდის არის ხანძრის საფრთხე გვიანობამდე

ნაბიჯი 1: მასალების შეგროვება

შეაგროვეთ მასალები
შეაგროვეთ მასალები
შეაგროვეთ მასალები
შეაგროვეთ მასალები
შეაგროვეთ მასალები
შეაგროვეთ მასალები

ამ პროექტში გამოყენებული მასალები:

1x LCD ეკრანი

1x DHT_11 ტემპერატურის სენსორი

1x RGB

1x Piezo Passive Buzzer 1.0v

2x პატარა პურის დაფები

3x სტანდარტული რეზისტორები

1x ჩვეულებრივი ზომის პურის დაფა

1x Arduino UNO

Bluetack მავთულხლართების დასაკეტად.

სხვადასხვა დასრულებული მავთულის ასორტიმენტი, როგორც ღია ბოლოებით, ასევე ერთი ბოლოთი.

მოწყობილობა კოდის გასაშვებად

3D პრინტერზე წვდომა თუ გსურთ გარე გარსი და უფრო გაპრიალებული სახე

ნაბიჯი 2: პურის დაფების დაყენება

პურის დაფების დაყენება
პურის დაფების დაყენება
პურის დაფების დაყენება
პურის დაფების დაყენება

1. შეაერთეთ ფორთოხლის მავთული Arduino- ს დაფაზე "GND" წარწერით და შეაერთეთ იგი პურის დაფის უარყოფით მხარეს (ლურჯად). ამ მომენტიდან, თუ ჩვენ გვჭირდება გამოვიყენოთ GND ნებისმიერი გარე მოწყობილობისთვის, ჩვენ უბრალოდ მოვათავსებთ მათ იმავე სვეტში, როგორც ეს პურის დაფაზე.

2. არდუინოს დაფაზე შეაერთეთ წითელი მავთული პინიდან წარწერით "5V" და შეაერთეთ იგი პურის დაფის დადებით (წითელ) მხარეს. ამ მომენტიდან, თუ ჩვენ გვჭირდება 5 ვ გამოვიყენოთ ნებისმიერი გარე მოწყობილობისთვის, ჩვენ უბრალოდ დავაყენებთ მათ იმავე სვეტში, როგორც ეს პურის დაფაზე.

ნაბიჯი 3: LCD ეკრანის დაყენება

LCD ეკრანის დაყენება
LCD ეკრანის დაყენება
LCD ეკრანის დაყენება
LCD ეკრანის დაყენება
LCD ეკრანის დაყენება
LCD ეკრანის დაყენება

1. გადაატრიალეთ დაფა ისე, რომ ის თავდაყირა დადგეს მარცხენა მხარეს ყველა ქინძისთავით.

2. შეაერთეთ მავთული 5 მარცხნიდან ზემოდან ქინძისთავების ზედა რიგზე და დაუკავშირეთ მას Arduino UNO- ს პინ 4 ნომერზე.

3. შეაერთეთ მავთული 6 მარცხნიდან ზემოდან ქინძისთავების ზედა რიგზე და დაუკავშირეთ მას Arduino UNO- ს პინ 5 ნომერზე.

4. დააკავშირეთ მავთული 7 მარცხნიდან ზემოდან ქინძისთავების ზედა რიგზე და დაუკავშირეთ მას Arduino UNO- ს პინ 6 ნომერზე.

5. შეაერთეთ მავთული 8 მარცხნიდან ზემოდან ქინძისთავების ზედა რიგზე და დაუკავშირეთ მას Arduino UNO- ს პინ 7 ნომერზე.

6. შეაერთეთ მავთული 9 მარცხნიდან ზემოდან ქინძისთავების ზედა რიგში და დაუკავშირეთ მას Arduino UNO- ს პინ 8 ნომერზე.

7. შეაერთეთ მავთული 10 მარცხნიდან ზემოდან ქინძისთავების ზედა რიგში და დაუკავშირეთ მას Arduino UNO- ს პინ 9 ნომერზე.

8. შეაერთეთ მავთული 3 ქვემოდან ქვემოდან და დააკავშირეთ ის 5V მწკრივზე პურის დაფაზე

9. შეაერთეთ მავთული 4 ქვემოდან ქვემოდან და დააკავშირეთ იგი GND მწკრივზე პურის დაფაზე

იხილეთ სურათები, როგორც წრიული დიაგრამა აჩვენებს განსხვავებულ LCD- ს

ნაბიჯი 4: პიეზო ბუზერის დაყენება

პიეზო ბუზერის დაყენება
პიეზო ბუზერის დაყენება
პიეზო ბუზერის დაყენება
პიეზო ბუზერის დაყენება
პიეზო ბუზერის დაყენება
პიეზო ბუზერის დაყენება
პიეზო ბუზერის დაყენება
პიეზო ბუზერის დაყენება

1. შეაერთეთ მავთული ზუზერზე GND პინიდან GND სვეტთან (ცისფერი) პურის დაფაზე

2. შეაერთეთ მავთული VCC პინიდან ზუზერზე 5V სვეტთან (წითელი) პურის დაფაზე

3. შეაერთეთ მავთული ზუზერზე SIG პინიდან arduino UNO დაფაზე დანომრილი "10" პინით

იხილეთ სურათები ზემოთ, როგორც წრიული დიაგრამა აჩვენებს განსხვავებულ ბუზერს

ნაბიჯი 5: DHT ტემპერატურის სენსორის დაყენება

DHT ტემპერატურის სენსორის დაყენება
DHT ტემპერატურის სენსორის დაყენება
DHT ტემპერატურის სენსორის დაყენება
DHT ტემპერატურის სენსორის დაყენება
DHT ტემპერატურის სენსორის დაყენება
DHT ტემპერატურის სენსორის დაყენება
DHT ტემპერატურის სენსორის დაყენება
DHT ტემპერატურის სენსორის დაყენება

1. დააყენეთ DHT სენსორი პურის დაფაზე, როგორც ნაჩვენებია ზემოთ

2. შეაერთეთ პირველი პინი DHT სენსორის მარცხნივ (ნაწილში დიაგრამაში მონიშნულია VCC) 5V სვეტთან (წითელი) პურის დაფაზე

3. შეაერთეთ მეორე პინი DHT სენსორის მარცხნივ (ეტიკეტირებული მონაცემები ნაწილების დიაგრამაში) Adu პორტზე Arduino UNO– ზე

4. შეაერთეთ პირველი პინი DHT სენსორის მარჯვნივ (ლეიბლით GND ნაწილების დიაგრამაში) GND სვეტთან (ლურჯი) პურის დაფაზე

5. ნახეთ გაკვეთილი და დაამატეთ dht.h ბიბლიოთეკა არდუინოს ინსტრუქციის ბოლოს. (ეს სავალდებულოა)

ნაბიჯი 6: RGB- ის დაყენება

RGB- ის დაყენება
RGB- ის დაყენება
RGB- ის დაყენება
RGB- ის დაყენება
RGB- ის დაყენება
RGB- ის დაყენება
RGB- ის დაყენება
RGB- ის დაყენება

1. მოათავსეთ RGB პატარა პურის დაფაზე, როგორც ეს ნაჩვენებია ზემოთ, აქცენტი გააკეთეთ მეორე ფეხი RGB მარცხნიდან ერთი სლოტი უფრო ახლოს ვიდრე დანარჩენი სამი

2. მოათავსეთ სტანდარტული რეზისტორები პირველ, მესამე და მეოთხე ქინძისთავებზე. დატოვეთ ადგილი მინიმუმ ერთი მავთულისთვის (როგორც ნაჩვენებია ზემოთ).

3. შეაერთეთ მავთული RGB– ის მარცხენა პინზე არსებული რეზისტორის უკანა მხარეს, Arduino UNO– ზე ლეიბლით 2.

4. შეაერთეთ მავთული RGB– ის მარცხენა პინიდან უკანა წრიდან უკანა დაფის GND (ლურჯ) სვეტში.

5. შეაერთეთ მავთული რეზისტორის უკნიდან მეორეზე RGB– ის მარჯვენა პინიდან Arduino UNO– ზე მარკირებული 1 – ით.

6. შეაერთეთ მავთული რეზისტორის უკნიდან RGB– ის მარჯვენა პინზე, Arduino UNO– ზე მარკირებული 3 – ით.

ნაბიჯი 7: პირობითი 3D ბეჭდვის სახლი

არჩევითი 3D ბეჭდვის საცხოვრებელი
არჩევითი 3D ბეჭდვის საცხოვრებელი
არჩევითი 3D ბეჭდვის საცხოვრებელი
არჩევითი 3D ბეჭდვის საცხოვრებელი
არჩევითი 3D ბეჭდვის საცხოვრებელი
არჩევითი 3D ბეჭდვის საცხოვრებელი

1. იპოვეთ სამეურვეო გზა, თუ როგორ უნდა 3D ბეჭდვა.

2. დაბეჭდეთ ქვემოთ ჩამოთვლილი დიზაინი Autodesk Fusion 360 –ზე (.stl ფაილი)

3. ამოიღეთ ჭარბი 3D მასალა და გაასუფთავეთ ზედაპირზე

4. იხილეთ სურათი ზემოთ მითითებისთვის, თუ სად უნდა მოათავსოთ არდუინოს ნაწილები.

ნაბიჯი 8: კოდი და ფაილები

კოდი და ფაილები
კოდი და ფაილები

-DHT.h ბიბლიოთეკა თან ერთვის. (UNZIP)

-კოდი დართულია სრული დეტალური კომენტარებით, მაგრამ ასევე არის შემდეგ საფეხურზე.

-. 3D ფაილს თან ერთვის.stl ფაილი

-წრიული დიაგრამა კვლავ ერთვის. დარწმუნდით, რომ მიმართეთ LCD ეკრანისა და პიეზო ზარის რეალურ ნაბიჯებს, რადგან სხვადასხვა კომპონენტი იყო გამოყენებული.

ნაბიჯი 9: Arduino კოდი

არდუინოს კოდი
არდუინოს კოდი
არდუინოს კოდი
არდუინოს კოდი

// LCD FIRE WARNING SYSTEM // კითხულობს DHT ტემპერატურის პინიდან შეყვანას და იმისდა მიხედვით, ცხელია თუ არა, ცვლის rgb და დინამიკს, რომ მიუთითოს მომხმარებელი, არის თუ არა მისი ხანძრის საშიშროება. // ასევე აჩვენებს ტემპერატურას LCD ეკრანზე.

// DHT SETUP

#მოიცავს // ჩართეთ DHT ბიბლიოთეკა

#define dht_dpin A0 // ეუბნება დაფას, რომ DHT პინი არის ანალოგურ შესასვლელში 0

dht DHT; // dht = DHT

// თხევადი კრისტალური დაყენება

#მოიცავს // ჩართეთ თხევადი ბროლის ბიბლიოთეკა

LiquidCrystal LCD (8, 9, 4, 5, 6, 7); // შემცირება LCD- ზე /ეუბნება არდუინოს, რომელი პორტები უკავია LCD- ს

// RGB + BUZZER- ის განსაზღვრა

#განსაზღვრეთ redpin 1 // განსაზღვრავს RGB- ის redpin პორტში 1

#განსაზღვრეთ greenpin 2 // განსაზღვრავს RGB- ის greenpin პორტში 2

#განსაზღვრეთ bluepin 3 // განსაზღვრავს RGB- ის bluepin პორტში 3

#განსაზღვრა buzzerpin 10 // განსაზღვრავს buzzerpin პორტში 10

// ცვალებადი/ს

int temp = analogRead (DHT.temperature); // ადგენს მთელ რიცხვს "temp", რომელიც არის მნიშვნელობა DHT.temperature ბრძანებიდან

void setup () {

// გამოსავალი/შეყვანა

analogWrite (redpin, OUTPUT); // გამოაცხადეთ/განსაზღვრეთ redpin, როგორც გამომავალი

analogWrite (greenpin, OUTPUT); // greenpin- ის გამოცხადება/განსაზღვრა, როგორც გამომავალი

analogWrite (bluepin, OUTPUT); // გამოაცხადოს/განსაზღვროს bluepin, როგორც გამომავალი

pinMode (buzzerpin, OUTPUT); // გამოაცხადეთ/განსაზღვრეთ buzzerpin როგორც გამომავალი

// LCD ეკრანი

lcd. დასაწყისი (16, 2); // განსაზღვრეთ LCD ეკრანი, როგორც 16 სვეტი და 2 სტრიქონი}

ბათილი მარყუჟი () {

// LCD კოდი ცვალებადობის გარეშე

DHT.read11 (dht_dpin); // წაიკითხეთ ასევე dht_dpin– ის შეყვანა (A0)

lcd.setCursor (0, 0); // აყენებს კურსორს სვეტს 0, სტრიქონ 0

lcd.print ("ეს არის"); // წერს "ეს" LCD ეკრანზე

lcd.print (DHT.temperature); // ბეჭდავს DHT. ტემპერატურის მნიშვნელობას DHT პინიდან სვეტში 0, სტრიქონი 0

lcd.print (""); // დაბეჭდავს სივრცეს ტემპერატურის შემდეგ

lcd.print ((char) 223); // ბეჭდავს ხარისხის ნიშანს ტემპერატურის შემდეგ

lcd.print ("C"); // გრადუსების ნიშნის შემდეგ ბეჭდავს "გ" ცელსიუსის სიმბოლოს

// LCD FLASHING

lcd.setCursor (0, 1); // აყენებს კურსორს სვეტში 0, სტრიქონი 1

lcd.noDisplay ();

lcd.print ("ხანძრის საშიშროების გარეშე"); // ბეჭდავს "ცეცხლის შანსი არ არის"

lcd.noDisplay (); // გამორთავს LCD ეკრანს (ფლეშის ნაწილი)

შეფერხება (1000); // ჩერდება 1 წამი

lcd. ჩვენება (); // ისევ ჩართავს LCD ეკრანს

შეფერხება (1000); // რჩება 1 წამის განმავლობაში

// RGB + BUZZER კოდი

analogWrite (redpin, 0); // წითელი პინიდან გამომავალი არ არის

analogWrite (greenpin, 255); // 255 გამომავალი greenpin– დან (იღებს RGB მწვანეს)

analogWrite (bluepin, 0); // არ არის გამომავალი ლურჯი პინიდან

ტონი (ბუზერპინი, 20, 20); // // ასხივებს სიხშირე 20 ჰერცი 0.02 წამის განმავლობაში ზუზუნიდან

// თუ TEMP არის 25-30

თუ ((int (DHT.temperature)> = 25.00) && (int (DHT.temperature) <= 30.00)) {

lcd. წმინდა (); // ასუფთავებს LCD ეკრანს

lcd.setCursor (0, 1); // აყენებს კურსორს სვეტში 0, სტრიქონი 1

lcd.print ("მცირე გაფრთხილება"); // ბეჭდავს "მცირე გაფრთხილებას" სვეტში 0, რიგი 1

lcd.noDisplay (); // გამორთავს LCD ეკრანს (ფლეშის ნაწილი)

შეფერხება (1000); // ჩერდება 1 წამი

lcd. ჩვენება (); // ისევ ჩართავს LCD ეკრანს

შეფერხება (1000); // რჩება 1 წამის განმავლობაში

analogWrite (redpin, 255); // 255 გამომავალი redpin– დან (იღებს RGB ყვითელს)

analogWrite (greenpin, 255); // 255 გამომავალი greenpin– დან (იღებს RGB ყვითელს)

analogWrite (bluepin, 0); // არ არის გამომავალი ლურჯი პინიდან

ტონი (buzzerpin, 200, 100); // ასხივებს 200 ჰერცის სიხშირეს 0,1 წამი ზუზუნიდან

დაგვიანება (300); //.3 მეორე შეფერხება

} // თუ TEMP IS 31-37 სხვა შემთხვევაში ((int (DHT.temperature) = 37.00)) {

lcd. წმინდა (); // ასუფთავებს LCD ეკრანს

lcd.setCursor (0, 1); // აყენებს კურსორს სვეტში 0, სტრიქონი 1

lcd.print ("საშუალო გაფრთხილება"); // ბეჭდავს "საშუალო გაფრთხილებას" სვეტში 0, რიგი 1

lcd.noDisplay (); // გამორთავს LCD ეკრანს (ფლეშის ნაწილი)

შეფერხება (500); // რჩება 0.5 წამის განმავლობაში

lcd. ჩვენება (); // ისევ ჩართავს LCD ეკრანს

შეფერხება (500); // რჩება 0.5 წამის განმავლობაში

analogWrite (redpin, 255); // 255 გამომავალი redpin– დან (იღებს RGB ფორთოხალს)

analogWrite (greenpin, 165); // 165 გამომავალი greenpin– დან (იღებს RGB ფორთოხალს)

analogWrite (bluepin, 0); // Bluepin– დან გამომავალი არ არის

ტონი (buzzerpin, 500, 900); // ასხივებს სიხშირე 500 ჰერცი 0.9 წამი ზუზუნიდან

დაგვიანება (300); //.3 მეორე შეფერხება

} // თუ TEMP არის 38-100

სხვა შემთხვევაში თუ ((int (DHT.temperature) = 100.00)) {

lcd. წმინდა (); // ასუფთავებს LCD ეკრანს

lcd.setCursor (0, 1); // აყენებს კურსორს სვეტში 0, სტრიქონი 1

lcd.print ("დარეკეთ 000"); // ბეჭდავს "დარეკეთ 000" სვეტზე 0, რიგი 1

lcd.noDisplay (); // გამორთავს LCD ეკრანს (ფლეშის ნაწილი)

შეფერხება (250); // ჩერდება 0.25 წამი

lcd. ჩვენება (); // ისევ ჩართავს LCD ეკრანს

შეფერხება (250); // რჩება 0.25 წამი

analogWrite (redpin, 255); // 255 გამომავალი redpin– დან (იღებს RGB წითელს)

analogWrite (greenpin, 0); // greenpin– დან გამომავალი არ არის

analogWrite (bluepin, 0); // Bluepin– დან გამომავალი არ არის

ტონი (buzzerpin, 1000, 900); // ასხივებს 1000 ჰერცის სიხშირეს 0.9 წამი ზუზუნიდან

დაგვიანება (300); //.3 მეორე შეფერხება

}}

გირჩევთ: