თანამედროვე ელექტრონიკა წარმოუდგენელია სენსორების გარეშე. ერთ-ერთი გავრცელებული სენსორია მანძილის სენსორი, რომელსაც ულტრასონიკს უწოდებენ. ულტრასონიკი მანძილს ექოლოკაციის მეშვეობით ზომავს. მოდით გავიგოთ რა არის ექოლოკაცია.
ჰაერში ბგერა მუდმივი სიჩქარით ვრცელდება. ვთქვათ გვაქვს მიკროფონი, რომლიდანაც ვრცელდება ბგერები და დინამიკი, რომელსაც ხვდება ბგერები. ვთქვათ მიკროფონიდან გარემოში გავავრცელეთ გარკვეული სახის ბგერა, იგი მოხვდა რაიმე ობიექტს, აირეკლა და ამის შემდეგ არეკლილი ბგერა დააფიქსირა დინამიკმა. თუ გვეცოდინება რა დრო დასჭირდა ბგერას დინამიკამდე „მისასვლელად“ და თუ ამ დროს გავამრავლებთ ბგერის სიჩქარეზე გავიგებთ რა მანძილი გაიარა ბგერამ, ხოლო თუ ამ მანძილს გავყობთ ორზე გვეცოდინება იმ ობიექტამდე მანძილი რამაც აირეკლა ეს ბგერები.
სწორედ ამ პროცესით ითვლის მანძილს ულტრასონიკი. იგი ორი ნაწილისგან შედგება, ერთიდან ვრცელდება ბგერები, მეორე კი აფიქსირებს ბგერას. ულტრასონიკს აქვს ოთხი ფეხი, რომელთაგან ორი კვების ფეხია, პლიუსი და მინუსი. ხოლო დანარჩენი ორი აკონტროლებს მის მუშაობას. ამ ფეხების სახელებია ტრიგერი და ექო. მოდით დავწეროთ პროგრამა რომლითაც ვმართავთ ულტრასონიკს და გავიგებთ მანძილს ობიექტამდე და თუ ეს მანძილი იქნება 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
ელექტრონიკაში ხშირად
იყენებენ სხვადასხვა ტიპის ელექტრულ ძრავებს, იქნება ეს DC ძრავა, ასინქრონული, ბიჯური თუ
სერვო ძრავა. ელექტრომობილების, დრონების და სხვადასხვა ტიპის... read more
H ხიდი გამოიყენება მუდმივი დენის ძრავის (DC) ბრუნვის მიმართულების კონტროლისთვის. მუდმივი დენის
ძრავის მუშაობის პრინციპიდან გამომდინარე, თუ მას ერთ ფეხზე... read more
ტელეფონებისა და სათამაშოებისგან განსხვავებით სახლებში, ოფისებში, ქარხნებში და სხვა შენობებში ელექტროენერგია მიწოდება რათქმაუნდა არ ხდება პატარა ბატარეებით, ისინი არ... read more
რელეს მთავარი დანიშნულება ისტორიულად ინფორმაციის გადაცემაში გამოყენება იყო, მას ტელეგრაფი ეწოდებოდა და მორზეს ანბანის გამოყენებით გადასცემდნენ ინფორმაციას. შემდგომში რელეს... read more
კრისტალური
ოსცილატორი არის ელექტრული ოსცილატორული წრედი, რომელიც იყენებს პიეზოელექტრული მასალის
ვიბრაციით გამოწვეულ მექანიკურ რეზონანს რათა შეიქმნას ელექტრული სიგნალი ზუსტი სიხშირით.
ეს სიხშირე... read more