პროექტი № 11 – პიეზო სირენა.

ციფრულ კონტაქტებზე პიეზო დიმნამიკის მიერთებით გავაკეთოთ სირენა. ეს პროექტი მეშვიდე გაკვეთილის მსგავსია. შუქდიოდის ნაცვლად გამოყენებულია პიეზო დინამიკი.

დაგვჭირდება:

პიეზო დისკი

კონტაქტები*

*ამ პროექტისთვის აუცილებელი არ არის. შეგიძლიათ პიეზო ელემენტის გამომყვანებს მიარჩილოთ 22 awg მავთული(იხ. გაკვეთლი 1, სურ. 2-8.) და ჩართოთ დაფაში, ან არდუინოში.

სქემის აწყობა.

სქემა მარტივია, განმარტებები საჭირო არ არის.

მხოლოდ ერთი: არდუინო უნდა იყოს გამორთული

პროგრამული კოდი .

აკრიფეთ ქვემოთ მოყვანილი კოდი, შეამოწმეთ და ჩატვირთეთ არდუინოში.

// Project 11 – პიეზო სირენა

float sinVal;
int toneVal;
void setup() {
     pinMode(8, OUTPUT); 
}
void loop() {
     for (int x=0; x<180; x++) {
                   // გრადუსის გადაყვანა რადიანებში
         sinVal = (sin(x*(3.1412/180)));
                   // სინუსის მნიშვნელობიდან სიხშირის მიღება
         toneVal = 2000+(int(sinVal*1000));
         tone(8, toneVal);
         delay(2);
     }
}

კოდის ჩატვირთვის და მცირედი დაყოვნების შემდეგ, პიეზო სირენა დაიწყებს ცვლადი სიმაღლის სიგნალის გამოცემას.

კოდის განხილვა.

ვაცხადებთ ორ ცვლადს:

 
float sinVal;
int toneVal;

float ტიპის ცვლადი sinVal ინახება სინუსის მნიშვნელობა რომელიც გამოიყენება ხმის მოსამატებლად და შესამცირებლად ისევე, როგორც მე–7 გაკვეთილში იცვლებოდა შუქდიოდის ნათება. toneVal ცვლადი იყენებს sinVal–ის მნიშვნელობებს და გარდაქმნის ჩვენთვის სასურველ სიხშირეში.

setup ფუნქციაში მე-8 კონტაქტი გამოცხადებულია როგორც გამომავალი.

 
void setup() {
     pinMode(8, OUTPUT);
}

მთავარ ციკლში, ჩასმულია for ციკლი 0 დან 179 ჩათვლით იმისათვის, რომ გამოვრიცხოთ სინუსის უარყოფითი მნიშვნელობები (იხ. გაკვეთილი 7):

for (int x=0; x<180; x++) {

გადავიყვანოთ x -ის გრადუსული ზომა რადიანებში (იხ. გაკვეთილი 7):

sinVal = (sin(x*(3.1412/180)));

მიღებული მნიშვნელობები გადავიყვანოთ სიხშირულ დიაპაზონად.

toneVal = 2000+(int(sinVal*1000));

2000-ს ემატება sinVal გამრავლებული 1000-ზე და ვღებულობთ 2000-3000ჰც დიაპაზონს

შემდეგ სტრიქონში გამოყენებულია tone() ბრძანება რომელიც გენერირებს და აგზავნის სიხშირეს პიეზო დინამიკზე:

tone(8, toneVal);

tone() ბრძანებას გადაეცემა ორი ან სამი პარამეტრი

tone(pin, frequency) – (კონტაქტი, სიხშირე)

tone(pin, frequency, duration) – (კონტაქტი, სიხშირე, ხანგრძლივობა)

სადაც კონტაქტი აღნიშნავს იმ ციფრული გამომყვანის ნომერს რომელზეც მიერთებულია პიეზო ელემენტი. სიხშირე კი მითითებული უნდა იყოს ჰერცებში. მესამე, დამატებითი პარამეტრი კი არის პიეზო დინამიკიდან გამოსული სიგნალის ხანგრძლივობა მილიწამებში. თუ ხანგრძლივობა მითითებული არა არის მაშინ ბგერის გამოცემა გაგრძელდება მანამ, სანამ არ გადავალთ ახალ სიხშირეზე ან არ გამოვიყენებთ ბრძანებას noTone(pin) იმისათვის, რომ შევწყვიტოთ ფრჩხილებში მითითებულ კონტაქტზე სიგნალის მიწოდება.

ბოლო სტრიქონში ჩაწერილი გვაქვს 2 მილიწამიანი დაყოვნება, სიხშირის ახალ ცვლილებამდე.

პიეზო ელემენტი.

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

პიეზოელექტრულ ნივთიერებებს გააჩნიათ ელექტროობის წარმოქმნის უნარი მათზე მექანიკური ზემოქმედების დროს და პირიქით, ანუ შეიცვალონ ზომები მათზე ელექროობის ზემოქმედებით (კრისტალზე ბოლოებზე პოტენციალთა სხვაობის მიწოდებისას) . პიეზო ელენეტები ფართოდ გამოიყენება როგორც ვიბრაციის, ხმის, წნევის, მცირე გაადგილების დეტექტორად. ასევე ბგერის წარმოსაქმნელად , მაღალი ძაბვის მისაღებად, სიხშირის გენერირებისათვის, ოპტიკურ სისტემებში ზუსტი ფოკუსირებისათვის და ა.შ.

One Response to პროექტი № 11 – პიეზო სირენა.

  1. scienceasm says:

    წიგნის თარგმანი ქვეყნდება forum.ge – ზე Hinkalino-ს მიერ.
    დამატებითი შეკითხვები თემაში
    ==========================================
    “Arduino ს ინტერფეისი”
    ==========================================
    http://forum.ge/?f=48&showtopic=34393677

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: