Სარჩევი:
- ნაბიჯი 1: გადახედვა
- ნაბიჯი 2: რატომ ანაზღაურებს AnalogRead () მნიშვნელობას 0 -დან 1023 -მდე?
- ნაბიჯი 3: მაშ რა არის AREF?
- ნაბიჯი 4: გარე AREF
- ნაბიჯი 5: შიდა AREF
ვიდეო: Arduino AREF პინი: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ამ გაკვეთილში ჩვენ შევხედავთ, თუ როგორ შეგიძლიათ გაზომოთ მცირე ძაბვები უფრო დიდი სიზუსტით თქვენი Arduino- ს ან თავსებადი დაფის ანალოგური პინების გამოყენებით AREF პინთან ერთად. თუმცა, პირველ რიგში, ჩვენ გავაკეთებთ გადახედვას, რომ გაზარდოთ სიჩქარე. გთხოვთ, წაიკითხოთ ეს პოსტი მთლიანად AREF– თან პირველად მუშაობის დაწყებამდე.
ნაბიჯი 1: გადახედვა
შეიძლება გახსოვდეთ, რომ თქვენ შეგიძლიათ გამოიყენოთ Arduino analogRead () ფუნქცია სენსორებიდან ელექტრული დენის ძაბვის გასაზომად და ასე შემდეგ ანალოგური შეყვანის ერთ -ერთი ქინძისთავის გამოყენებით. AnalogRead () - დან დაბრუნებული მნიშვნელობა იქნება ნულიდან 1023 -მდე, ნული წარმოადგენს ნულოვან ვოლტს და 1023 წარმოადგენს Arduino დაფის მუშა ძაბვას.
და როდესაც ჩვენ ვამბობთ საოპერაციო ძაბვას - ეს არის ძაბვა, რომელიც ხელმისაწვდომია არდუინოსთვის კვების ბლოკის შემდეგ. მაგალითად, თუ თქვენ გაქვთ ტიპიური Arduino Uno დაფა და გაუშვით იგი USB ბუდედან - რა თქმა უნდა, თქვენს კომპიუტერში ან კვანძში USB სოკეტიდან დაფაზე ხელმისაწვდომია 5 ვ - მაგრამ ძაბვა ოდნავ მცირდება, რადგან ახლანდელი ქარი მიკროკონტროლერთან დაკავშირება - ან USB წყარო უბრალოდ არ არის ნაკაწრი.
ამის მარტივად დემონსტრირება შესაძლებელია Arduino Uno– ს USB– თან დაკავშირებით და მულტიმეტრის დაყენებით ძაბვის გასაზომად 5V და GND ქინძისთავებზე. ზოგიერთი დაფა დაუბრუნდება 4.8 ვ -მდე, ზოგი უფრო მაღალი, მაგრამ მაინც 5 ვ -ზე დაბლა. ასე რომ, თუ თქვენ სიზუსტეს ისურვებთ, გამორთეთ დაფა გარე კვების ბლოკიდან DC ბუდეში ან Vin pin- ის საშუალებით, როგორიცაა 9V DC. ამის შემდეგ გადის დენის მარეგულირებელი წრე თქვენ გექნებათ ლამაზი 5V, მაგალითად სურათი.
ეს მნიშვნელოვანია, რადგან ნებისმიერი analogRead () მნიშვნელობის სიზუსტეზე გავლენას მოახდენს ნამდვილი 5 ვ. მაგალითად, თუ თქვენი ძაბვაა 4.8V - analogRead () დიაპაზონი 0 ~ 1023 იქნება 0 ~ 4.8V და არა 0 ~ 5V. ეს შეიძლება ტრივიალურად ჟღერდეს, თუმცა თუ თქვენ იყენებთ სენსორს, რომელიც დააბრუნებს მნიშვნელობას ძაბვის სახით (მაგ. TMP36 ტემპერატურის სენსორი) - გამოთვლილი მნიშვნელობა არასწორი იქნება. ასე რომ, სიზუსტის ინტერესებიდან გამომდინარე, გამოიყენეთ გარე კვების წყარო.
ნაბიჯი 2: რატომ ანაზღაურებს AnalogRead () მნიშვნელობას 0 -დან 1023 -მდე?
ეს გამოწვეულია ADC– ის რეზოლუციით. რეზოლუცია (ამ სტატიისათვის) არის ის ხარისხი, თუ რამდენად შეიძლება რაღაცის რიცხობრივად წარმოდგენა. რაც უფრო მაღალია რეზოლუცია, მით უფრო დიდი სიზუსტეა შესაძლებელი რაღაცის წარმოდგენა. ჩვენ ვზომავთ რეზოლუციას რეზოლუციის ბიტების რაოდენობის მიხედვით.
მაგალითად, 1-ბიტიანი გარჩევადობა მხოლოდ ორ (ერთს ერთის სიმძლავრის) მნიშვნელობას მისცემს-ნულს და ერთს. 2-ბიტიანი გარჩევადობა საშუალებას მისცემს ოთხს (ორი სიმძლავრის ორი) მნიშვნელობას-ნულს, ერთს, ორს და სამს. თუ ჩვენ ვცდილობთ გავზომოთ ხუთ ვოლტიანი დიაპაზონი ორ ბიტიანი გარჩევადობით და გაზომილი ძაბვა იყო ოთხი ვოლტი, ჩვენი ADC დააბრუნებდა რიცხვით 3-ს-რადგან ოთხი ვოლტი 3.75-დან 5V- მდეა. უფრო ადვილია ამის წარმოდგენა გამოსახულებით.
ასე რომ, ჩვენი მაგალითით ADC 2-ბიტიანი გარჩევადობით, მას შეუძლია წარმოაჩინოს ძაბვა მხოლოდ ოთხი შესაძლო მნიშვნელობით. თუ შეყვანის ძაბვა 0 -დან 1.25 -მდეა, ADC აბრუნებს რიცხვით 0 -ს; თუ ძაბვა ვარდება 1.25 -დან 2.5 -მდე, ADC აბრუნებს რიცხობრივ მნიშვნელობას 1. და ასე შემდეგ. ჩვენი Arduino– ს ADC დიაპაზონით 0 ~ 1023-ჩვენ გვაქვს 1024 შესაძლო მნიშვნელობა-ან 2 სიმძლავრის 10 – ზე. ასე რომ, ჩვენს Arduinos– ს აქვს ADC 10 – ბიტიანი გარჩევადობით.
ნაბიჯი 3: მაშ რა არის AREF?
მოკლედ რომ ვთქვათ, როდესაც თქვენი Arduino იღებს ანალოგურ კითხვას, ის ადარებს ძაბვას, რომელიც იზომება ანალოგურ ქინძისთავთან და გამოიყენება იმას, რაც ცნობილია როგორც საცნობარო ძაბვა. ნორმალურ ანალოგიურ რეჟიმში წაკითხვისას საცნობარო ძაბვა არის დაფის სამუშაო ძაბვა.
უფრო პოპულარული Arduino დაფებისთვის, როგორიცაა Uno, Mega, Duemilanove და Leonardo/Yún დაფები, საოპერაციო ძაბვა 5V. თუ თქვენ გაქვთ Arduino Due დაფა, სამუშაო ძაბვა არის 3.3V. თუ თქვენ გაქვთ რაიმე სხვა - შეამოწმეთ Arduino პროდუქტის გვერდი ან ჰკითხეთ თქვენი დაფის მიმწოდებელს.
ასე რომ, თუ თქვენ გაქვთ საცნობარო ძაბვა 5V, analogRead () - ით დაბრუნებული თითოეული ერთეული შეფასებულია 0.00488 ვ. (ეს გამოითვლება 1024 -ის 5V- ზე გაყოფით). რა მოხდება, თუ გვსურს გავზომოთ ძაბვები 0 -დან 2 -მდე, ან 0 -დან 4.6 -მდე? როგორ უნდა იცოდეს ADC რა არის ჩვენი ძაბვის დიაპაზონის 100%?
და ამაში მდგომარეობს AREF პინის მიზეზი. AREF ნიშნავს ანალოგიურ მითითებას. ის გვაძლევს საშუალებას არდუინოს მივაწოდოთ საცნობარო ძაბვა გარე კვების ბლოკიდან. მაგალითად, თუ ჩვენ გვინდა გავზომოთ ძაბვები მაქსიმალური დიაპაზონით 3.3V, ჩვენ შესანახი ლამაზი გლუვი 3.3V შევიდა AREF pin - ალბათ ძაბვის მარეგულირებელი IC.
შემდეგ ADC– ის თითოეული საფეხური წარმოადგენდა დაახლოებით 3,22 მილივოლტს (გაყავით 1024 – დან 3,3 – ზე). გაითვალისწინეთ, რომ ყველაზე დაბალი საცნობარო ძაბვა, რაც შეიძლება გქონდეთ არის 1.1 ვ. AREF– ის ორი ფორმა არსებობს - შიდა და გარე, ამიტომ მოდით შევამოწმოთ ისინი.
ნაბიჯი 4: გარე AREF
გარე AREF არის ადგილი, სადაც თქვენ მიაწოდებთ გარე საცნობარო ძაბვას არდუინოს დაფაზე. ეს შეიძლება მოდიოდეს რეგულირებადი კვების წყაროდან, ან თუ გჭირდებათ 3.3V, შეგიძლიათ მიიღოთ Arduino– ს 3.3V პინიდან. თუ თქვენ იყენებთ გარე კვების ბლოკს, აუცილებლად დააკავშირეთ GND Arduino– ს GND პინთან. ან თუ იყენებთ არდუნოს 3.3 ვ წყაროს - უბრალოდ აწარმოეთ მხტუნავი 3.3 ვ პინიდან AREF პინზე.
გარე AREF- ის გასააქტიურებლად გამოიყენეთ შემდეგი ბათილად დაყენებისას ():
analogReference (EXTERNAL); // გამოიყენეთ AREF საცნობარო ძაბვისთვის
ეს ადგენს მითითებულ ძაბვას რასაც თქვენ დაუკავშირდით AREF პინს - რომელსაც, რა თქმა უნდა, ექნება ძაბვა 1.1V და გამგეობის ძაბვას შორის. ძალიან მნიშვნელოვანი შენიშვნა - გარე ძაბვის მითითების გამოყენებისას, თქვენ უნდა დააყენოთ ანალოგური მითითება EXTERNAL analogRead () - ის გამოყენებამდე. ეს ხელს შეუშლის აქტიური შიდა საცნობარო ძაბვისა და AREF პინის შემცირებას, რამაც შეიძლება დააზიანოს დაფაზე არსებული მიკროკონტროლერი. საჭიროების შემთხვევაში თქვენი განაცხადისათვის, თქვენ შეგიძლიათ დაუბრუნდეთ დაფის სამუშაო ძაბვას AREF- ისთვის (ანუ - ნორმალურ რეჟიმში) შემდეგით
analogReference (DEFAULT);
ახლა ვაჩვენოთ გარე AREF სამსახურში. 3.3V AREF– ის გამოყენებით, ესკიზი ზომავს ძაბვას A0– დან და აჩვენებს მთლიანი AREF– ის პროცენტს და გამოთვლილ ძაბვას:
#მოიცავს "LiquidCrystal.h"
LiquidCrystal LCD (8, 9, 4, 5, 6, 7);
int analoginput = 0; // ჩვენი ანალოგური პინი
int analogamount = 0; // ინახავს შემომავალი მნიშვნელობის float პროცენტს = 0; // გამოიყენება ჩვენი პროცენტული მნიშვნელობის მცურავი ძაბვის შესანახად = 0; // გამოიყენება ძაბვის მნიშვნელობის შესანახად
ბათილად დაყენება ()
{lcd. დასაწყისი (16, 2); analogReference (EXTERNAL); // გამოიყენეთ AREF საცნობარო ძაბვისთვის}
ბათილი მარყუჟი ()
{lcd.clear (); analogamount = analogRead (analoginput); პროცენტი = (ანალოგი/1024.00)*100; ძაბვა = ანალოგური რაოდენობა*3.222; // მილივოლტებში lcd.setCursor (0, 0); lcd.print ("% AREF:"); lcd.print (პროცენტი, 2); lcd.setCursor (0, 1); lcd.print ("A0 (mV):"); lcd.println (ძაბვა, 2); დაგვიანება (250); }
ესკიზის შედეგები ნაჩვენებია ვიდეოში.
ნაბიჯი 5: შიდა AREF
ჩვენს არდუინოს დაფებზე არსებულ მიკროკონტროლებს ასევე შეუძლიათ შექმნან შიდა საცნობარო ძაბვა 1.1 ვ და ჩვენ შეგვიძლია გამოვიყენოთ ეს AREF მუშაობისთვის. უბრალოდ გამოიყენეთ ხაზი:
analogReference (INTERNAL);
Arduino Mega დაფებისთვის გამოიყენეთ:
analogReference (INTERNAL1V1);
in void setup () და თქვენ გამორთული ხართ. თუ თქვენ გაქვთ Arduino Mega ასევე არსებობს 2.56V საცნობარო ძაბვა, რომელიც გააქტიურებულია:
analogReference (INTERNAL2V56);
და ბოლოს - სანამ გადაწყვეტთ თქვენს AREF პინზე მიღებულ შედეგებს, ყოველთვის შეაფასეთ კითხვები ცნობილი კარგი მულტიმეტრის მიხედვით.
დასკვნა
AREF ფუნქცია გაძლევთ მეტ მოქნილობას ანალოგური სიგნალების გაზომვით.
ეს პოსტი მოაქვს pmdway.com– ით - ყველაფერი მწარმოებლებისთვის და ელექტრონიკის მოყვარულთათვის, უფასო მიწოდებით მთელს მსოფლიოში.
გირჩევთ:
ICSP დამაკავშირებელი არდუინო ნანოსთვის გასაყიდი პინის სათაურის გარეშე, მაგრამ პოგოს პინი: 7 ნაბიჯი
ICSP კონექტორი Arduino Nano– სთვის Soldered Pin Header But Pogo Pin: გააკეთეთ ICSP კონექტორი Arduino Nano– ს გარეშე soldered pin header დაფაზე, მაგრამ Pogo Pin. ნაწილები 3 × 2 Pin Socket x1 - APitch 2.54 მმ Dupont Line Wire Female Pin Connector Housing Terminals x6 -BP75-E2 (1.3 მმ კონუსური თავი) საგაზაფხულო ტესტის ზონდი Pogo Pin
On Off Latch Circuit ერთად UC. ერთი დაჭერით ღილაკი. ერთი პინი. დისკრეტული კომპონენტი .: 5 ნაბიჯი
On Off Latch Circuit ერთად UC. ერთი დაჭერით ღილაკი. ერთი პინი. დისკრეტული კომპონენტი .: გამარჯობა ყველას, ვეძებდით ჩართვის/გამორთვის წრეს ქსელში. ყველაფერი რაც ვიპოვე არ იყო ის რასაც ვეძებდი. ჩემს თავს ვესაუბრებოდი, აუცილებლად არსებობს ამის საშუალება. ეს არის ის, რაც მჭირდებოდა.-მხოლოდ ერთი დაჭერის ღილაკი ჩართვისა და გამორთვისთვის.-უნდა გამოიყენოთ მხოლოდ
ერთი პინი 4 × 4 კლავიატურა: 10 ნაბიჯი
ერთი პინ 4 × 4 კლავიატურა: ყოველ ჯერზე, როდესაც ვხედავ კლავიატურას, მას აქვს ბევრი ქინძისთავები, ეს არის თქვენი Arduino ქინძისთავების დიდი ნარჩენები, ასე რომ შეგვიძლია კლავიატურის გაშვება ერთი და მხოლოდ ერთი პინით?. პასუხი აქ არის
განათებული ანიმაციური სადღესასწაულო პინი: 9 ნაბიჯი (სურათებით)
განათებული ანიმაციური სადღესასწაულო პინი: როდესაც პირველად შევიმუშავე ეს პროექტი, არ ველოდი მისი ღია წყაროს გამოქვეყნებას. ვფიქრობდი, რომ ეს იყო შესანიშნავი იდეა და ჰქონდა კომერციული პოტენციალი, როგორც ნივთი, რომლის გაყიდვაც ხელნაკეთი შოუს დროს შემეძლო. ალბათ ეს გამოწვეულია გამოცდილების თანდაყოლილი ნაკლებობით ან შესაძლოა
AT ბრძანებები Bluetooth მოდულისთვის (HC-05 W/ EN პინი და ღილაკი) Arduino დაფის გამოყენებით!: 5 ნაბიჯი
AT Commands for Bluetooth Module (HC-05 W/ EN Pin და BUTTON) Arduino Board- ის გამოყენებით!: ჯეი ამიელ AjocGensan PH მოდულისთვის AT ბრძანებების გაგზავნის შესახებ მისი კონფიგურაციის/შეცვლის მიზნით (სახელი, გასაღები, baud ra