მხუთავი აირის ინდიკატორი
მოცემული სქემა არის გაზის დეტექტორი, რომელიც მხუთავი არის კონცენტრაციის გადაჭარბების შემთხვევაში ჰაერში იწყებს განგაშის ხმის გამოცემასა და 10 სეგმენტა ინდიქატორზე აისახება მონაცემები. სენსორად გამოყენებულია MQ-2 გაზის სენსორი, რომელიც ერთდროულად რამდენიმე ნივთიერების კონცენტრაციას განსაზღვრავს ჰაერშ:
- გათხევადებული ნავთობის აირი (LPG)
- ბუთანი
- პროპანი
- მეთანი
- ალკჰოლი
- ჰიდროგენი
რომელიმე ამ კომპონენტის კონცენტრაციის გადაჭარბებისას სქემა დააფიქსირებს ჩართავს განგაშის ნიშანს, ასე რომ გაითვალისწინეთ.
სქემაში გამოყენებულია
საჭირო ხელსაწყოები
10 სეგმენტა დისპლეი წარმოადგენს 10 ცალი შუქდიოდის ნაკრებს, რომელსაც სათითაოდ აქვს გამოყვანილი პლიუს და მინუს ფეხები. იმისთვის რომ არდუინოთი მიწოდებულმა ძაბვამ არ გადაწვას შუქდიოდები უნდა დავუმატოთ წინაღობა, ჩვენ დავუმატეთ 220 ომიანი წინაღობა თუმცა შეგილიათ სხვა მიახლოებული ნომინალის წინაღობის გამოყენება.
10 სეგმენტა დისპლეის უნდა მივარჩილოთ წინაღობები პლიუს ფეხებზე. ამ გამოყვანილ წინაღობებს კი მივარჩილავთ არდუინოც ციფრულ ფეხებს 2 დან 11 ის ჩათვლით. ხოლო მეორე მხარეს არსებულ ყველა მინუს ფეხს დავაკავშირებთ ერთმანეთს და მივაერთებთ არდუინოს GND (მინუს) ფეხს.
შემდეგ ვუკავშირებთ პიეზო დინამიკსა და გაზის სენსორ MQ-2, ისევე როგორც მოცემულია ზედა სქემაში.
სქემის აწყობის შემდეგ უნდა ატვირთოთ კოდი არდუინოში Arduino IDE-ს გამოყენებით. კოდი არის ყველაზე მარტივი ენით დაწერილი, გამოყენებულია მარტივი ბრძანებები თუმცა კოდი ზომაში არის დიდი, 10 სეგმენტას პინების დეკლარირება შესაძლებელია მასივის გამოყენებით რაც კოდს შეამცირებს ზომაში.
int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int led6 = 7;
int led7 = 8;
int led8 = 9;
int led9 = 10;
int led10 = 11;
int buzzer = 12;
int smokeA0 = A0;
int sensorThres = 100;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(smokeA0, INPUT);
Serial.begin(9600);
}
void loop() {
int analogSensor = analogRead(smokeA0);
Serial.print("Pin A0: ");
Serial.println(analogSensor);
if (analogSensor - 50 > sensorThres)
{
digitalWrite(led1, HIGH); delay(200);
tone(buzzer, 1000, 200);
digitalWrite(led2, HIGH); delay(200);
tone(buzzer, 1000, 200);
digitalWrite(led3, HIGH); delay(200);
tone(buzzer, 1000, 200);
digitalWrite(led4, HIGH); delay(200);
tone(buzzer, 1000, 200);
digitalWrite(led5, HIGH); delay(200);
tone(buzzer, 1000, 200);
Serial.print("განგაში....!!!");
digitalWrite(led6, HIGH); delay(200);
tone(buzzer, 1000, 200);
digitalWrite(led7, HIGH); delay(200);
tone(buzzer, 1000, 200);
digitalWrite(led8, HIGH); delay(200);
tone(buzzer, 1000, 200);
digitalWrite(led9, HIGH); delay(200);
tone(buzzer, 1000, 200);
digitalWrite(led10, HIGH);
tone(buzzer, 1000, 200); delay(200);
}
else
{
digitalWrite(led1, HIGH); delay(200);
digitalWrite(led2, HIGH); delay(200);
digitalWrite(led3, HIGH); delay(200);
digitalWrite(led4, HIGH); delay(200);
digitalWrite(led5, HIGH); delay(200);
digitalWrite(led10, LOW); delay(200);
digitalWrite(led9, LOW); delay(200);
digitalWrite(led8, LOW); delay(200);
digitalWrite(led7, LOW); delay(200);
digitalWrite(led6, LOW); delay(200);
Serial.print(".....ნორმალური.....");
noTone(buzzer);
}
delay(500);
}
კოდის ატვირთვის შემდეგ სქმეა იმუშავებს გამართულად და საშუალება გექნებათ სახლში მუდმივად აკონტროლოთ გაზის გაჭონვის დონე.
შეგახსენებთ რომ ყველა საჭირო ელექტრული კოპონენტის შეძენა შეგიძლიათ მაღაზია DAC.GE-ზე