თანამედროვე ელექტრონიკა წარმოუდგენელია სენსორების გარეშე. ერთ-ერთი გავრცელებული სენსორია მანძილის სენსორი, რომელსაც ულტრასონიკს უწოდებენ. ულტრასონიკი მანძილს ექოლოკაციის მეშვეობით ზომავს. მოდით გავიგოთ რა არის ექოლოკაცია.
ჰაერში ბგერა მუდმივი სიჩქარით ვრცელდება. ვთქვათ გვაქვს მიკროფონი, რომლიდანაც ვრცელდება ბგერები და დინამიკი, რომელსაც ხვდება ბგერები. ვთქვათ მიკროფონიდან გარემოში გავავრცელეთ გარკვეული სახის ბგერა, იგი მოხვდა რაიმე ობიექტს, აირეკლა და ამის შემდეგ არეკლილი ბგერა დააფიქსირა დინამიკმა. თუ გვეცოდინება რა დრო დასჭირდა ბგერას დინამიკამდე „მისასვლელად“ და თუ ამ დროს გავამრავლებთ ბგერის სიჩქარეზე გავიგებთ რა მანძილი გაიარა ბგერამ, ხოლო თუ ამ მანძილს გავყობთ ორზე გვეცოდინება იმ ობიექტამდე მანძილი რამაც აირეკლა ეს ბგერები.
სწორედ ამ პროცესით ითვლის მანძილს ულტრასონიკი. იგი ორი ნაწილისგან შედგება, ერთიდან ვრცელდება ბგერები, მეორე კი აფიქსირებს ბგერას. ულტრასონიკს აქვს ოთხი ფეხი, რომელთაგან ორი კვების ფეხია, პლიუსი და მინუსი. ხოლო დანარჩენი ორი აკონტროლებს მის მუშაობას. ამ ფეხების სახელებია ტრიგერი და ექო. მოდით დავწეროთ პროგრამა რომლითაც ვმართავთ ულტრასონიკს და გავიგებთ მანძილს ობიექტამდე და თუ ეს მანძილი იქნება 100 სანტიმეტრზე პატარა ჩაირთვება ხმოვანი განგაში. ამისთვის დაგვჭირდება ულტრასონიკი, არდუინო და პიეზო დინამიკი. პირველრიგში ავაწყოთ შესაბამისი სქემა, ამის შემდეგ კი დავწეროთ კოდი.
int trigPin = 12; // ტრიგერი მიერთებულია მეთორმეტე პინზე
int echoPin = 11; // ექო მიერთებულია მეთერთმეტე პინზე
int piezoPin = 9; // პიეზო მიერთებულია მეცხრე პინზე
float duration, distance; // ამ ცვლადებით ვითვლით მანძილს
void setup() {
pinMode(trigPin, OUTPUT); // ტრიგერს ვაცხადებთ გამოსავალ ფეხად
pinMode(echoPin, INPUT); // ექოს ვაცხადებთ შესავალ ფეხად
}
void loop() {
// ვამზადებთ ტრიგერს მანძილის გასაზომა
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH); // ამ ბრძანებით ვააქტიურებთ ექოპინს რის შედეგადაც გარემოში ვრცელდება ბგერები
distance = (duration * 0.034) / 2; // ვითვლით მანძილს ობიექტამდე
// თუ მანძილი ნალებია 100 სანტიმეტრზე ირთვება პიეზო დინამიკი
if (distance < 100) {
tone(piezoPin, 500);
delay(1000);
noTone(piezoPin);
delay(1000);
}
}
მოდით განვიხილოთ კოდი .
თავდაპირველად განვსაზღვრეთ ულტრასონიკის და პიეზოს პინები, რომლებიც დავიმახსოვრეთ int ტიპის ცვლადში. ასევე შევქმენით ორი float ტიპის ცვლადი duration და distance. duration ითვლის ბგერის გავრჩელების და უკან დაბრუნების დროს, distance კი მანძილს. ხოლო float არის ცვლადის ტიპი სადაც არამთელ რიცხვებს ვინახავთ. Setup-ში ბრძანებით pinMode ტრიგერს ვაცხადებთ შემავალ ექოს კი გამოსავალ პინად.
ახლა გადავიდეთ ლუპზე.
თავდაპირველად ულტრასონიკს ვამზადებთ სამუშაო რეჟიმისთვის. ტრიგერ პინი გადაგვყავს ლოგიკურ ნულში ვიცდით 2 მიკროწამი, რასაც ვაკეთებთ ბრაძებით digitalWrite(trigPin, LOW); delayMicroseconds(2); ამის შემდეგ ტრიგერი გადაგვყავს ლოგიკურ ერთში ვიცდით 10 მიკროწამი და მას ისევ ვაბრუნებთ ნულში. ბრძანებით pulseIn ვააქტიურებთ ექოპინს რის შედეგადაც ვრცელდება ბგერები და ვითვლით მანძილს. შემდეგ მოდის if ფუნქცია რომელიც ამოწმებს არის თუ არა მანძილი 100 სანტიმეტრზე პატარა. თუ ეს შესრულდა ბრძანებით tone ჩაირთვება პიეზო დინამიკი, რომლის სიხშირე იქნება 500 ჰერცი, დავიცდით 1 წამი და ბრძანებით noTone პიეზო გამოირთვება. აღნიშნული სქემა და კოდი შეგვიძლია გამოვიყენოთ მარტივი პარკინგ კონტროლის დანიშნულებით .
უკვე გავეცანით
დიოდის რამდენიმე სახეობას და ვიცით რა არის დიოდის მთავარი თვისება. იგი დენს ატარებს
ერთი მიმართულებით და გამოიყენება ცვლადი დენის... read more
რობოტი არის მანქანა, რომლის მოვალეობაა შეასრულოს ერთი ან მეტი დავალება დამოუკიდებლად, სწრაფად და მაღალი სიზუსტით. არსებობს მრავალი სახის რობოტი... read more
ცვლადი წინაღობების რამდენიმე ნაირსახეობა ჩვენ უკვე შევისწავლეთ, რომლებიც ამა თუ იმ პრინციპით იცვლიდნენ წინაღობის მნიშვნელობას, თუმცა არსებობს ამგვარი წინაღობების... read more
ჩვენ უკვე ვისაუბრეთ ჩვეულებრივ დიოდზე რომლის ფუნქციაც დენის მხოლოდ ერთი მიმართულებით გატარება იყო, შებრუნებულად ჩართვის შემთხვევაში კი დენს არ... read more
ელექტრული კომპონენტებია ელქტრული სქემის მთავარი შემადგენელი ნაწილი, რომელიც განსაზღვრავს სქემის მუშაობის ლოგიკას. ელქტროინჟინრის მთავარი ფუნქციაა ელექტრული კომპონენტების სიღრმისეულად ცოდნა... read more
დღევანდელ დღეს ხშირად იყენებენ სხვადასხვა ტიპის მთვლელებს.
მაგალითად ბანკებში ფულის დასათვლელად, სხვადასხვა ფაბრიკა-ქარხნებში წარმოებული პროდუქტის
დასათვლელად და ასე შემდეგ. დღეს განვიხილავთ... read more
ჩვენ უკვე გავიცანით ელექტრული კომპონენტი - წინაღობა და გავიგეთ მისი დანიშნულება ელექტრონიკაში. აგრეთვე ვისაუბრეთ წინაღობის იმ კატეგორიაზე რასაც ცვლადი... read more
მაგნიტი ერთ-ერთი ყველაზე გავრცელებული ფიზიკური აღმოჩენაა. მათი „მუშაობის“ პრინციპი საკმაოდ მარტივია - ისინი განიზიდავენ ან მიიზიდავენ ერთმანეთს. მაგნიტებს გააჩნიათ... read more
კონდენსატორი არის კომპონენტი, რომელიც გამოიყენება მუხტების დასაგროვებლად. თუ კონდესატორს მოვდებთ ძაბვას ის დაიწყებს დამუხტვას, ანუ მასში მოხდება მუხტების დაგროვება... read more
ჩვენ უკვე ვიცით
რა არის ელექტრული სიგნალი, ასევე ვიცით როგორ გავფილტროთ ჩვენთვის არასასურველი ინფორმაცია.
თუმცა ელექტრონიკაში ძალიან დიდი ყურადღება ექცევა რაიმე... read more