Სარჩევი:
- ნაბიჯი 1: მასალების შეგროვება
- ნაბიჯი 2: პურის დაფების დაყენება
- ნაბიჯი 3: LCD ეკრანის დაყენება
- ნაბიჯი 4: პიეზო ბუზერის დაყენება
- ნაბიჯი 5: DHT ტემპერატურის სენსორის დაყენება
- ნაბიჯი 6: RGB- ის დაყენება
- ნაბიჯი 7: პირობითი 3D ბეჭდვის სახლი
- ნაბიჯი 8: კოდი და ფაილები
- ნაბიჯი 9: Arduino კოდი
ვიდეო: Arduino LCD სახანძრო უსაფრთხოების გაფრთხილების სისტემა: 9 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ეს არის სტუდენტური პროექტი, რომელიც აერთიანებს 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 ეკრანის დაყენება
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 ტემპერატურის სენსორის დაყენება
1. დააყენეთ DHT სენსორი პურის დაფაზე, როგორც ნაჩვენებია ზემოთ
2. შეაერთეთ პირველი პინი DHT სენსორის მარცხნივ (ნაწილში დიაგრამაში მონიშნულია VCC) 5V სვეტთან (წითელი) პურის დაფაზე
3. შეაერთეთ მეორე პინი DHT სენსორის მარცხნივ (ეტიკეტირებული მონაცემები ნაწილების დიაგრამაში) Adu პორტზე Arduino UNO– ზე
4. შეაერთეთ პირველი პინი DHT სენსორის მარჯვნივ (ლეიბლით GND ნაწილების დიაგრამაში) GND სვეტთან (ლურჯი) პურის დაფაზე
5. ნახეთ გაკვეთილი და დაამატეთ dht.h ბიბლიოთეკა არდუინოს ინსტრუქციის ბოლოს. (ეს სავალდებულოა)
ნაბიჯი 6: 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 ბეჭდვის სახლი
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 მეორე შეფერხება
}}
გირჩევთ:
ავარიის გაფრთხილების სისტემა GSM, GPS და ამაჩქარებლის გამოყენებით: 5 ნაბიჯი (სურათებით)
უბედური შემთხვევის გაფრთხილების სისტემა GSM, GPS და აქსელერომეტრის გამოყენებით: გთხოვთ, მომეცით მონაწილეობა კონკურსში გთხოვთ მიმიწოდოთ კონკურსზე დღესდღეობით ბევრი ადამიანი იღუპება გზაზე უბედური შემთხვევის გამო, მთავარი მიზეზი არის " გადარჩენის გადადება ". ეს პრობლემა ძალიან დიდია განადგურებულ ქვეყნებში, ამიტომ მე შევიმუშავე ეს პროექტი გადარჩენისთვის
ამინდის გაფრთხილების სინათლის სისტემა: 6 ნაბიჯი
ამინდის გამაფრთხილებელი სინათლის სისტემა: ამინდის სიგნალის განათების სისტემა ცვლის განათებას, რომ მიუთითოს ამინდის სხვადასხვა გაფრთხილება ან საათი. ეს სისტემა იყენებს თავისუფლად ხელმისაწვდომ ამინდის მონაცემებს, რათა განათება შეიცვალოს ამინდის სტატუსის მითითებით. ჟოლოს პი (წითელი კვანძის გავლით) ამოწმებს
ძილიანობის გაფრთხილების სისტემა: 3 ნაბიჯი
ძილიანობის გაფრთხილების სისტემა: ყოველწლიურად ბევრი ადამიანი იღუპება სიცოცხლე ფატალური ავტოსაგზაო შემთხვევების გამო მთელს მსოფლიოში და ძილიან ძრავას წარმოადგენს საგზაო შემთხვევებისა და სიკვდილის ერთ -ერთი მთავარი მიზეზი. დაღლილობა და მიკრო ძილი მართვის კონტროლთან ხშირად სერიოზული მიზეზების ძირეული მიზეზია
Hallway Bell გაფრთხილების სისტემა: 4 ნაბიჯი
დარბაზის ზარის გაფრთხილების სისტემა: სკოლაში არის ზარები, რომლებიც მიუთითებენ როდის უნდა მოხდეს კლასის შეცვლა. ისინი ჯერ რეკავს იმის დასანიშნად, როდის უნდა დასრულდეს კლასი, შემდეგ კი მეორედ რეკავს, რომ მიუთითოს როდის უნდა დაიწყოს შემდეგი კლასი. თუ მოსწავლე იგვიანებს, მაშინ მათ ჩვეულებრივ აქვთ
სახანძრო უსაფრთხოების სიგნალიზაცია ტრანზისტორის გარეშე: 5 ნაბიჯი
სახანძრო უსაფრთხოების სიგნალიზაციის ტრანზისტორი