Სარჩევი:
- ნაბიჯი 1: საჭირო კომპონენტები
- ნაბიჯი 2: Arduino ქრონომეტრების მიმოხილვა სიგნალის წარმოქმნისათვის
- ნაბიჯი 3: LED მოციმციმე
- ნაბიჯი 4: LED Dimmer
- ნაბიჯი 5: ციფრული ანალოგური გადამყვანი (DAC)
- ნაბიჯი 6: მეტრონომი
- ნაბიჯი 7: ხმის სპექტრი
- ნაბიჯი 8: სერვო მოტორსი
- ნაბიჯი 9: ძაბვის გაორმაგება და ინვერტორი
- ნაბიჯი 10: უკაბელო ენერგიის გადაცემა
ვიდეო: Arduino ქრონომეტრები: 8 პროექტი: 10 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
Arduino Uno– ს ან Nano– ს შეუძლიათ შექმნან ზუსტი ციფრული სიგნალები ექვს გამოყოფილ პინზე სამი ჩაშენებული ქრონომეტრის გამოყენებით. მათ მხოლოდ რამდენიმე ბრძანება სჭირდებათ, რათა შეიქმნას და არ გამოიყენონ პროცესორის ციკლი გასაშვებად!
ქრონომეტრების გამოყენება შეიძლება შემაშინებელი იყოს, თუ დაიწყებთ ATMEGA328– ის სრული მონაცემთა ფურცლიდან, რომელსაც აქვს 90 გვერდი, რომელიც ეძღვნება მათ აღწერილობას! რამდენიმე ჩაშენებული Arduino ბრძანება უკვე იყენებს ტაიმერს, მაგალითად millis (), delay (), tone (), AnalogWrite () და servo ბიბლიოთეკას. მაგრამ მათი სრული სიმძლავრის გამოსაყენებლად, თქვენ დაგჭირდებათ მათი შექმნა რეესტრების საშუალებით. მე გაგიზიარებთ რამოდენიმე მაკროსა და ფუნქციას, რომ ეს უფრო ადვილი და გამჭვირვალე გახდეს.
ქრონომეტრების ძალიან მოკლე მიმოხილვის შემდეგ, მიჰყევით 8 მაგარ პროექტს, რომელიც ეყრდნობა სიგნალის გენერირებას ქრონომეტრებით.
ნაბიჯი 1: საჭირო კომპონენტები
რვავე პროექტის შესაქმნელად დაგჭირდებათ:
- Arduino Uno ან თავსებადი
- პროტოტიპის ფარი მინი პროტობორდით
- 6 breadboard jumper კაბელები
- 6 მოკლე ბორბლიანი მხტუნავები (გააკეთეთ თავი 10 სმ მყარი ბირთვიანი მავთულისგან)
- 2 ნიანგის ტყვია
- 1 თეთრი 5 მმ LED
- 220 Ohm რეზისტორი
- 10kOhm რეზისტორი
- 10kOhm პოტენომეტრი
- 2 კერამიკული 1muF კონდენსატორი
- 1 ელექტროლიტური 10muF კონდენსატორი
- 2 დიოდი, 1n4148 ან მსგავსი
- 2 მიკრო სერვო ძრავა SG90
- 1 8 Ohm სპიკერი
- 20 მ თხელი (0.13 მმ) ემალირებული მავთული
ნაბიჯი 2: Arduino ქრონომეტრების მიმოხილვა სიგნალის წარმოქმნისათვის
Timer0 და timer2 არის 8 ბიტიანი ქრონომეტრები, რაც იმას ნიშნავს, რომ მათ შეუძლიათ დათვლა 0-დან 255-მდე. ტაიმერი 1 არის 16 ბიტიანი ქრონომეტრი, ასე რომ მას შეუძლია 65535-მდე დათვლა. თითოეულ ტაიმერს აქვს ორი გამომავალი ქინძი: 6 და 5 ტაიმერისთვის 0, 9 და 10 ტაიმერისთვის 1, 11 და 3 ქრონომეტრისთვის 2. ტაიმერი იზრდება Arduino– ს საათის თითოეულ ციკლზე, ან სიჩქარით, რომელიც მცირდება წინასწარი მასშტაბის ფაქტორით, რაც არის 8, 64, 256 ან 1024 (32 და 128 ასევე დასაშვებია ტაიმერისთვის 2). ტაიმერები ითვლიან 0 -დან "TOP" - მდე და შემდეგ ისევ (სწრაფი PWM) ან ქვევით (ფაზის სწორი PWM). "TOP" - ის მნიშვნელობა ამდენად განსაზღვრავს სიხშირეს. გამომავალ ქინძისთავებს შეუძლიათ დაადგინონ, გადატვირთონ ან შეცვალონ გამომავალი შედარების რეესტრის მნიშვნელობა, ასე რომ ისინი განსაზღვრავენ მოვალეობის ციკლს. მხოლოდ ტაიმერს 1 აქვს შესაძლებლობა დამოუკიდებლად განსაზღვროს სიხშირე და სამუშაო ციკლი ორივე გამომავალი ქინძისთავისთვის.
ნაბიჯი 3: LED მოციმციმე
ყველაზე დაბალი სიხშირე, რომლის მიღწევაც შესაძლებელია 8 ბიტიანი ქრონომეტრებით არის 16 MHz/(511*1024) = 30, 6Hz. ასე რომ, LED- ის მოციმციმე 1 ჰც -ით, ჩვენ გვჭირდება ტაიმერი 1, რომელსაც შეუძლია მიაღწიოს სიხშირეებს 256 -ჯერ პატარა, 0.12 ჰც.
შეაერთეთ LED მისი ანოდით (გრძელი ფეხი) pin9- თან და დააკავშირეთ მისი კათოდი 220 Ohm რეზისტორთან მიწასთან. ატვირთეთ კოდი. LED აციმციმდება ზუსტად 1 Hz– ზე, სამუშაო ციკლი 50%–ით. მარყუჟის () ფუნქცია ცარიელია: ტაიმერი ინიციალიზებულია დაყენებისას () და არ საჭიროებს დამატებით ყურადღებას.
ნაბიჯი 4: LED Dimmer
პულსის სიგანის მოდულაცია არის ეფექტური გზა LED ინტენსივობის რეგულირებისთვის. სათანადო დრაივერთან ერთად, ასევე სასურველი მეთოდია ელექტრომოტორების სიჩქარის რეგულირება. ვინაიდან სიგნალი არის 100% ჩართული ან 100% გამორთული, ენერგიის ნაკლებობა არ იკარგება სერიის წინააღმდეგობაზე. ძირითადად, ეს იგივეა, რაც LED უფრო სწრაფად ანათებდეს, ვიდრე თვალი მოჰყვება. 50 ჰერცი პრინციპში საკმარისია, მაგრამ შეიძლება მაინც ციმციმდეს და როდესაც LED ან თვალები მოძრაობს, შეიძლება შემაშფოთებელი უწყვეტი "ბილიკი" გამოჩნდეს. 64 – ის წინასწარი მასშტაბის გამოყენებით 8 – ბიტიანი ტაიმერით, ჩვენ ვიღებთ 16 MHz/(64*256) = 977Hz, რაც შეესაბამება მიზანს. ჩვენ ვირჩევთ timer2- ს, რომ timer1 ხელმისაწვდომი იყოს სხვა ფუნქციებისთვის და ჩვენ არ ჩავერიდოთ Arduino time () ფუნქციას, რომელიც იყენებს timer0- ს.
ამ მაგალითში მოვალეობის ციკლი და, შესაბამისად, ინტენსივობა, რეგულირდება პოტენომეტრით. მეორე LED შეიძლება დამოუკიდებლად დარეგულირდეს იმავე ტაიმერით პინ 3 -ში.
ნაბიჯი 5: ციფრული ანალოგური გადამყვანი (DAC)
Arduino– ს არ აქვს ნამდვილი ანალოგური გამომავალი. ზოგიერთი მოდული იღებს ანალოგიურ ძაბვას პარამეტრების დასარეგულირებლად (ჩვენების კონტრასტი, გამოვლენის ბარიერი და ა. შ.). მხოლოდ ერთი კონდენსატორითა და რეზისტორით, ტაიმერი 1 შეიძლება გამოყენებულ იქნას ანალოგური ძაბვის შესაქმნელად 5 მვ ან უკეთესი გარჩევადობით.
დაბალგამტარ ფილტრს შეუძლია PWM სიგნალის 'საშუალო' ანალოგური ძაბვისკენ. კონდენსატორი რეზისტორის საშუალებით არის დაკავშირებული PWM პინთან. მახასიათებლები განისაზღვრება PWM სიხშირით და რეზისტორისა და კონდენსატორის მნიშვნელობებით. 8 ბიტიანი ქრონომეტრების გარჩევადობა იქნება 5V/256 = 20mV, ამიტომ ჩვენ ვირჩევთ Timer1- ს 10 ბიტიანი გარჩევადობის მისაღებად. RC წრე არის პირველი რიგის დაბალი გამავლობის ფილტრი და მას ექნება ტალღა. RC მიკროსქემის დროის მასშტაბი უნდა იყოს ბევრად უფრო დიდი ვიდრე PWM სიგნალის პერიოდი, რათა შეამციროს ტალღა. პერიოდი, რომელსაც ვიღებთ 10-ბიტიანი სიზუსტისთვის არის 1024/16MHz = 64mus. თუ ჩვენ ვიყენებთ 1muF კონდენსატორს და 10kOhm რეზისტორს, RC = 10ms. პიკიდან პიკამდე ტალღა არის მაქსიმუმ 5V*0.5*T/(RC) = 16mV, რაც აქ საკმარისად ითვლება.
გაითვალისწინეთ, რომ ამ DAC– ს აქვს ძალიან მაღალი გამომავალი წინაღობა (10 kOhm), ამიტომ ძაბვა მნიშვნელოვნად შემცირდება, თუ ის დენს გამოიტანს. ამის თავიდან ასაცილებლად, ის შეიძლება იყოს ბუფერირებული opamp– ით, ან R და C– ის სხვა კომბინაციის არჩევა, მაგალითად 1 kOhm 10 muF– ით.
მაგალითში, DAC გამომავალი მართულია პოტენომეტრით. მეორე დამოუკიდებელი DAC არხის გაშვება შესაძლებელია timer1– ით პინ 10 – ზე.
ნაბიჯი 6: მეტრონომი
მეტრონომი ხელს უწყობს რიტმის თვალყურის დევნებას მუსიკის დაკვრისას. ძალიან მოკლე იმპულსებისთვის, არდუინოს ქრონომეტრის გამომუშავება შესაძლებელია პირდაპირ დინამიკზე, რომელიც გამოიღებს მკაფიოდ მოსმენილ დაწკაპუნებებს. პოტენომეტრით, დარტყმის სიხშირე შეიძლება დარეგულირდეს 40 -დან 208 დარტყმამდე წუთში, 39 საფეხურზე. ტაიმერი 1 საჭიროა საჭირო სიზუსტისთვის. "TOP" - ის მნიშვნელობა, რომელიც განსაზღვრავს სიხშირეს, იცვლება მარყუჟის () ფუნქციის შიგნით და ეს მოითხოვს ყურადღებას! თქვენ ხედავთ, რომ WGM რეჟიმი განსხვავდება სხვა მაგალითებისგან, რომლებსაც აქვთ ფიქსირებული სიხშირე: ამ რეჟიმს, TOP- ით დადგენილი OCR1A რეგისტრით, აქვს ორმაგი ბუფერული დაცვა და იცავს დაკარგული TOP- ისგან და გრძელი შეცდომისგან. თუმცა, ეს ნიშნავს, რომ ჩვენ შეგვიძლია გამოვიყენოთ მხოლოდ 1 გამომავალი პინი.
ნაბიჯი 7: ხმის სპექტრი
ადამიანებს შეუძლიათ მოისმინონ ხმის სიხშირის 3 -ზე მეტი რიგი, 20 ჰც -დან 20 კჰც -მდე. ეს მაგალითი წარმოქმნის სრულ სპექტრს პოტენომეტრით. 10muF კონდენსატორი მოთავსებულია დინამიკსა და არდუინოს შორის, რათა დაბლოკოს DC დენი. ტაიმერი 1 აწარმოებს კვადრატულ ტალღას. Waveform თაობის რეჟიმი აქ არის ფაზის სწორი PWM. ამ რეჟიმში, მრიცხველი იწყებს ათვლას უკან, როდესაც ის მიაღწევს ზედა, რაც იწვევს იმპულსებს, რომელთა საშუალო მაჩვენებელი ფიქსირდება, მაშინაც კი, როდესაც სამუშაო ციკლი იცვლება. თუმცა, ის ასევე იწვევს პერიოდს (თითქმის) ორმაგად და უბრალოდ ხდება, რომ წინასწარი მასშტაბის 8 -ით ტაიმერი 1 მოიცავს სრულ მოსმენილ სპექტრს, წინასწარი მასშტაბის შეცვლის საჭიროების გარეშე. ასევე აქ, ვინაიდან TOP– ის მნიშვნელობა იცვლება მოძრაობისას, OCR1A– ს ზედა ნაწილის გამოყენება ამცირებს ხარვეზებს.
ნაბიჯი 8: სერვო მოტორსი
არსებობს მძლავრი სერვო ბიბლიოთეკები, მაგრამ თუ თქვენ გაქვთ მხოლოდ ორი სერვო სატრანსპორტო საშუალება, შეგიძლიათ ეს გააკეთოთ უშუალოდ ტაიმერით 1 და ამით შეამციროთ პროცესორი, მეხსიერების გამოყენება და თავიდან აიცილოთ შეფერხებები. პოპულარული SG90 servo იღებს 50Hz სიგნალს და პულსის სიგრძე აფიქსირებს პოზიციას. იდეალურია ტაიმერისთვის 1. სიხშირე ფიქსირებულია, ამიტომ ორივე შედეგი pin 9 -ზე და pin 10 -ზე შეიძლება გამოყენებულ იქნას სერვოების დამოუკიდებლად მართვისთვის.
ნაბიჯი 9: ძაბვის გაორმაგება და ინვერტორი
ზოგჯერ თქვენი პროექტი მოითხოვს ძაბვას, რომელიც აღემატება 5 ვ ან უარყოფით ძაბვას. ეს შეიძლება იყოს MOSFET– ის გაშვება, პიეზო ელემენტის გაშვება, opamp– ის ჩართვა ან EEPROM– ის გადატვირთვა. თუ მიმდინარე გათამაშება საკმარისად მცირეა, m 5mA- მდე, დამუხტვის ტუმბო შეიძლება იყოს უმარტივესი გამოსავალი: მხოლოდ 2 დიოდი და ორი კონდენსატორი, რომელიც დაკავშირებულია ქრონომეტრიდან იმპულსურ სიგნალთან, იძლევა არდუინოს 5V- ის გაორმაგებას 10V- მდე. პრაქტიკაში, არის 2 დიოდური წვეთი, ასე რომ, ეს იქნება უფრო მეტად 8.6V პრაქტიკაში ორმაგად, ან -3,6V ინვერტორზე.
კვადრატული ტალღის სიხშირე საკმარისი უნდა იყოს დიოდების მეშვეობით საკმარისი მუხტის გადასატანად. 1muF კონდენსატორი ცვლის 5muC ცვლილებას, როდესაც ძაბვა იცვლება 0 -დან 5V- მდე, ამიტომ 10mA დენისთვის სიხშირე უნდა იყოს მინიმუმ 2kHz. პრაქტიკაში, უკეთესი სიხშირე უკეთესია, რადგან ის ამცირებს ტალღას. ტაიმერი 2 ითვლის 0 -დან 255 -მდე წინასწარი გაფართოების გარეშე, სიხშირეა 62.5 კჰც, რაც კარგად მუშაობს.
ნაბიჯი 10: უკაბელო ენერგიის გადაცემა
იშვიათი არაა ჭკვიანი საათის დატენვა კაბელების გარეშე, მაგრამ იგივე ადვილად შეიძლება იყოს Arduino პროექტის ნაწილი. მაღალი სიხშირის სიგნალის მქონე კოჭას შეუძლია ენერგიის გადაცემა სხვა მიმდებარე კოჭაზე ინდუქციის გზით, ელექტრული კონტაქტის გარეშე.
პირველი მოამზადეთ კოჭები. მე გამოვიყენე 8.5 სმ დიამეტრის ქაღალდის რულეტი და 0.13 მმ დიამეტრის მინანქარიანი მავთული, რათა გავაკეთო 2 კოჭა: პირველადი 20 ბრუნვით, მეორადი 50 ბრუნვით. ამ ტიპის გრაგნილის თვითინდუქცია N გრაგნილებითა და R რადიუსით არის ~ 5muH * N^2 * R. ასე რომ N = 20 – ისთვის და R = 0.0425 იძლევა L = 85muH, რაც დადასტურდა კომპონენტის შემმოწმებლით. ჩვენ ვაწარმოებთ სიგნალს 516kHz სიხშირით, რის შედეგადაც წინაღობა 2pi*f*L = 275Ohm. ეს იმდენად მაღალია, რომ არდუინო არ გადადის ზედმეტ დენში.
კოჭის ყველაზე ეფექტურად გასაშვებად, ჩვენ გვსურს გამოვიყენოთ ნამდვილი AC წყარო. არსებობს ხრიკი, რომლის გაკეთებაც შესაძლებელია: ტაიმერის ორი გამოსავალი შეიძლება შესრულდეს საპირისპირო ფაზაში, ერთი ამოსვლის შემობრუნებით. იმისათვის, რომ ის კიდევ უფრო დაემსგავსოს სინუსურ ტალღას, ჩვენ ვიყენებთ ფაზის სწორ PWM- ს. ამ გზით, პინ 9 და 10 შორის, ძაბვა იცვლება ორივე 0V, pin 9 +5V, ორივე 0V, pin 10 +5V. ეფექტი ნაჩვენებია სურათზე დიაპაზონის კვალიდან (1024 წინასწარი მასშტაბით, ამ სათამაშოს არ აქვს დიდი გამტარობა).
შეაერთეთ პირველადი კოჭა პინ 9 და 10. შეაერთეთ LED მეორად კოჭასთან. როდესაც მეორადი კოჭა პირვანდელთან ახლოს მიიწევს, LED ნათლად ანათებს.
გირჩევთ:
5 LDR სქემა: ჩამკეტი, ქრონომეტრები, სინათლის და ბნელი სენსორები: 3 ნაბიჯი
5 LDR სქემა: ჩამკეტი, ქრონომეტრები, სინათლისა და ბნელის სენსორები: სინათლის დამოკიდებული რეზისტორი, იგივე LDR, არის კომპონენტი, რომელსაც აქვს (ცვლადი) წინააღმდეგობა, რომელიც იცვლება მასზე დაცემული სინათლის ინტენსივობით. ეს მათ საშუალებას აძლევს გამოიყენონ სინათლის აღქმის სქემები. აქ მე ვაჩვენე ხუთი მარტივი სქემა, რომელიც შეიძლება იყოს
AVR მიკროკონტროლერი. LED- ები ციმციმებს ტაიმერის გამოყენებით. ქრონომეტრები წყვეტს. ტაიმერი CTC რეჟიმი: 6 ნაბიჯი
AVR მიკროკონტროლერი. LED- ები ციმციმებს ტაიმერის გამოყენებით. ქრონომეტრები წყვეტს. ტაიმერი CTC რეჟიმი: გამარჯობა ყველას! ქრონომეტრები მნიშვნელოვანი კონცეფციაა ელექტრონიკის სფეროში. ყველა ელექტრონული კომპონენტი მუშაობს დროის ბაზაზე. ეს დროის ბაზა ხელს უწყობს ყველა სამუშაოს სინქრონიზაციას. ყველა მიკროკონტროლი მუშაობს საათის განსაზღვრული სიხშირით
10 ძირითადი არდუინოს პროექტი დამწყებთათვის! გააკეთეთ მინიმუმ 15 პროექტი ერთი დაფით!: 6 ნაბიჯი
10 ძირითადი არდუინოს პროექტი დამწყებთათვის! გააკეთეთ მინიმუმ 15 პროექტი ერთი დაფით!: Arduino პროექტი & სამეურვეო საბჭო; მოიცავს Arduino– ს 10 ძირითად პროექტს. ყველა კოდის კოდი, გერბერის ფაილი და სხვა. SMD არ არის! მარტივი შედუღება ყველასთვის. ადვილად მოსახსნელი და შესაცვლელი კომპონენტები. თქვენ შეგიძლიათ გააკეთოთ მინიმუმ 15 პროექტი ერთი პროგრამით
ქრონომეტრები 8051 მოციმციმე Led მაგალითით ნაწილი 1: 3 ნაბიჯი
8051-ის ქრონომეტრები მოციმციმე Led მაგალითით ნაწილი 1: ამ გაკვეთილში მე გეტყვით იმაზე, თუ როგორ უნდა დარეკოთ 8051-ის ქრონომეტრები. აქ ჩვენ განვიხილავთ ტაიმერს 0 რეჟიმზე 1. მომდევნო გაკვეთილში განვიხილავთ სხვა რეჟიმებსაც
USB დამწვრობა! ეს პროექტი შეიძლება დაიწვას პლასტმასის / ხის / ქაღალდის საშუალებით (სახალისო პროექტი ასევე უნდა იყოს ძალიან წვრილი ხე): 3 ნაბიჯი
USB დამწვრობა! ეს პროექტი შეიძლება დაიწვას პლასტმასის / ხის / ქაღალდის საშუალებით (სახალისო პროექტი ასევე უნდა იყოს ძალიან წვრილი ხე): არ გააკეთოთ ეს USB– ის გამოყენებით !!!! აღმოვაჩინე, რომ მას შეუძლია დააზიანოს თქვენი კომპიუტერი ყველა კომენტარიდან. ჩემი კომპიუტერი კარგადაა გამოიყენეთ 600ma 5v ტელეფონის დამტენი. მე გამოვიყენე ეს და ის მშვენივრად მუშაობს და არაფერი შეიძლება დაზიანდეს, თუ თქვენ იყენებთ უსაფრთხოების შტეფსელს ელექტროენერგიის შესაჩერებლად