Სარჩევი:
- მარაგები
- ნაბიჯი 1: ნაბიჯი 1: სქემა
- ნაბიჯი 2: ნაბიჯი 2: კოდი და რეზისტორული გამოთვლები
- ნაბიჯი 3: ნაბიჯი 3: მოდით გამოვცადოთ ეს
ვიდეო: Arduino Volt Meter (0-100V DC) - ვერსია 2 (უკეთესი): 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:15
ამ ინსტრუქციულად, მე ავაშენე ვოლტმეტრი, რომ გავზომოთ მაღალი ძაბვები DC (0-100v) შედარებით სიზუსტით და სიზუსტით Arduino Nano- ს და ADS 1115 ADC გამოყენებით.
ეს არის ვოლტმეტრის მეორე ვერსია, რომელიც გამოყენებულია ჩემი წინა ინსტრუქციით აქ:
ტესტის გაზომვები იყო ზუსტი, ძირითადად სტანდარტული ვოლტმეტრით გაზომილი ფაქტობრივი ძაბვის 0.1 ვ ფარგლებში (მე გამოვიყენე Astro AI DM6000AR).
ეს ბევრად უკეთესი და ადვილია ჩემი აზრით, ვიდრე არდუინოს გარე ძაბვის მითითების გამოყენება.
მარაგები
1 x Arduino Nano - ბმული
1 x Oled ეკრანი (SSD 1306) - ბმული
1 x ADS 1115 - 16 ბიტიანი ADC - ბმული
1 x 1/4W (მე ვთავაზობ 1W რეზისტორების გამოყენებას) 1% რეზისტორები - 220k ohm - ბმული
1 x 1/4W (მე ვთავაზობ 1W რეზისტორების გამოყენებას) 1% რეზისტორები - 10k ohm - ბმული
პურის დაფა და მავთულები - ბმული
Astro AI DM6000AR - ბმული
USB დენის ბანკი - ბმული
9V ბატარეები - ბმული
CanadianWinters არის Amazon Services LLC Associates პროგრამის მონაწილე, შვილობილი სარეკლამო პროგრამა, რომელიც შექმნილია იმისთვის, რომ უზრუნველყოს საიტებზე საფასურის გამომუშავება Amazon.com– თან და მასთან დაკავშირებულ საიტებთან დაკავშირებით. ამ ბმულების გამოყენებით, როგორც ამაზონის ასოცირებული, მე ვიღებ შემოსავალს შესარჩევი შესყიდვებიდან, თუნდაც სხვა რამის ყიდვა-და ეს არაფერს დაგიჯდებათ.
ნაბიჯი 1: ნაბიჯი 1: სქემა
მე დავაკავშირე ყველა ნაწილი ზემოთ მოცემული სქემის მიხედვით.
მე მიბმული მაქვს ADC1115– ის ADDR პინი მიწასთან. ეს ადგენს ADC მისამართს 0x48.
ნაბიჯი 2: ნაბიჯი 2: კოდი და რეზისტორული გამოთვლები
როგორც წინა ინსტრუქციებში, სქემის იდეა იმაში მდგომარეობს, რომ DC ძაბვა გასაზომად გადის ძაბვის რეზისტორზე. გაფართოებული ძაბვა და შემდეგ შედის ADC კონვერტორის ანალოგიურ პინში წასაკითხად, შემდეგ გადადის Arduino– ზე I2C– ით და შემდეგ ხელახლა მასშტაბირდება და ნაჩვენებია OLed ეკრანზე.
ამ შემთხვევაში მე არ გამოვიყენე კოდის საშუალო გადიდება ან დამარბილება, რადგან კითხვები საკმაოდ ზუსტი და ზუსტი ჩანს. ხმაურის შესამცირებლად, შეიძლება დაგჭირდეთ მცირე კონდენსატორის დამატება A0 (ADC) - სა და მიწას შორის. ეს არ იყო საჭირო ჩემი გამოცდისთვის.
ერთი რამ შევნიშნე, იყო ცოტა ხმაური, როდესაც ბატარეა არ იყო ჩართული (0 ვოლტი). მე გამოვიყენე Arduino– ს სერიული მონიტორი ADC მნიშვნელობის საჩვენებლად და კოდის საშუალებით შესწორება/კორექტირება.
როგორც წინა ინსტრუქციებში, მე შევქმენი ცხრილი, რომელიც ავტომატიზირებს გამოთვლებს იმ შემთხვევაში, თუ გსურთ ძაბვის გამყოფში გამოიყენოთ სხვადასხვა რეზისტორული მნიშვნელობები: ბმული Google Sheet– ზე
აქ არის კოდი, რომელიც გამოვიყენე ამ პროექტისთვის:
#ჩართეთ
#მოიცავს #მოიცავს #მოიცავს Adafruit_ADS1115 რეკლამას (0x48); // ADC U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (როტაცია, [გადატვირთვა]) int calib = 7; // ADS1115- ის დაკალიბრების მნიშვნელობა შეცდომის მცურავი ძაბვის შესამცირებლად = 0; // გამოიყენება ძაბვის მნიშვნელობის float Radjust = 0.043421905 შესანახად; // ძაბვის გამყოფი ფაქტორი (R2 / R1+R2) float vbat = 0; // საბოლოო ძაბვა გამოთვლის შემდეგ- ბატარეის ძაბვა // ცვლადი ეკრანის განახლებისთვის ხელმოუწერელი გრძელი წინა გამოყენების გარეშე მილიისი = 0; // შეინახავს ბოლო დროს როდესაც ეკრანი განახლდა // მუდმივები არ შეიცვლება: const ხანგრძლივი ინტერვალი = 250; // ინტერვალი, რომლის დროსაც ხდება ეკრანის განახლება (მილიწამი) void setup (void) {Serial.begin (9600); u8g2. დაიწყოს (); ads.begin (); } void loop (void) {int16_t adc0; // 16 ბიტიანი ADC წაკითხვის შესასვლელი A0 adc0 = ads.readADC_SingleEnded (0); ძაბვა = ((adc0 + calib) * 0.1875)/1000; ხელმოუწერელი გრძელი მიმდინარემილის = მილილი (); vbat = ძაბვა/გასწორება; // თავიდან აიცილოთ უარყოფითი ძაბვის ჩვენება, როდესაც ბატარეა გათიშულია, თუ (vbat = ინტერვალი) {previousMillis = currentMillis; u8g2.clearBuffer (); // გაასუფთავეთ შიდა მეხსიერება // პაკეტის ძაბვის ჩვენება - შრიფტები ამ გვერდზე: https://github.com/olikraus/u8g2/wiki/fntlistall //u8g2.setFont(u8g2_font_fub20_tr); // 20px შრიფტი u8g2.setFont (u8g2_font_fub35_tr); // 35px შრიფტი u8g2.setCursor (1, 42); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // 10 px შრიფტი u8g2.setCursor (1, 60); u8g2.print ("ვოლტი"); } u8g2.sendBuffer (); // შიდა მეხსიერების გადატანა ჩვენების დაყოვნებაზე (1); }
ნაბიჯი 3: ნაბიჯი 3: მოდით გამოვცადოთ ეს
ამ ვოლტმეტრის შესამოწმებლად გამოვიყენე 10x 9v ბატარეები, რომლებიც მივიღე ადგილობრივ მაღაზიაში. ამჯერად 97 ვოლტამდე გავზომე! მე ვგეგმავ გამოვიყენო ეს ვოლტმეტრი, რომ გავზომო ძაბვა ჩემს ელექტრო ველოსიპედის ბატარეებზე (მათ აქვთ ძაბვა 24-60 ვ-დან, ზოგჯერ 72 ვ).
მას შემდეგ, რაც ელექტრონიკა შეფუთულია კომპიუტერში და პატარა ყუთში, ეს გახდება ლამაზი და პორტატული ბატარეის მრიცხველი. OLED გრაფიკა და შრიფტები შეიძლება მორგებული იყოს თქვენს საჭიროებებზე (მაგ. უფრო დიდი შრიფტი ადვილი წასაკითხად). ჩემი მიზანი იყო ძაბვის კითხვა Oled/Arduino მეტრზე არც ისე შორს ჩემი ციფრული მულტიმეტრისგან. მე ვცდილობდი +/- 0, 3v max დელტაზე.
როგორც ხედავთ ვიდეოდან ინსტრუქციის დასაწყისში, მე შევძელი ამის არქივირება! კითხვების უმეტესობა ადგილზე იყო!
ვიმედოვნებ, რომ მოგეწონათ ეს ინსტრუქცია და გამაგებინეთ თქვენი აზრი!
გირჩევთ:
უკეთესი ალიგატორის კლიპები: 3 ნაბიჯი (სურათებით)
ალიგატორის უკეთესი კლიპები: როდესაც ბიჭი ვიყავი, ალიგატორის კლიპები მძიმე იყო და კარგად მუშაობდა. ისინი დამზადებული იყო მძიმე ფოლადისაგან ხრახნიანი ტერმინალებით და კარგი ზამბარებით. ახლა ალიგატორის კლიპები ანემიური წვრილმანებია წვრილი უსარგებლო ყბის გახსნით. მე მინდოდა უკეთესი ალიგატორის კლიპი
როგორ გააკეთოთ და გამოსცადოთ უკეთესი DAC ESP32– ით: 5 ნაბიჯი
როგორ გააკეთოთ და გამოსცადოთ უკეთესი DAC ESP32– ით: ESP32– ს აქვს 2 8 ბიტიანი ციფრული ანალოგური გადამყვანი (DAC). ეს DAC- ები გვაძლევს საშუალებას წარმოქმნათ თვითნებური ძაბვები გარკვეულ დიაპაზონში (0-3.3V) 8 ბიტიანი გარჩევადობით. ამ ინსტრუქციაში, მე გაჩვენებთ თუ როგორ უნდა ავაშენოთ DAC და დავახასიათო მისი
უკეთესი პროექტები PCB– ის გამოყენებით: 6 ნაბიჯი
უკეთესი პროექტები PCB– ის გამოყენებით: თუ თქვენ გაატარეთ დრო ელექტრონიკის პროექტებთან მუშაობაში, მაშინ იცით რამდენად სახალისო და ამაღელვებელი შეიძლება იყოს. არაფერია უფრო ამაღელვებელი, ვიდრე იმის დანახვა, რომ შენი წრე ცოცხლდება თვალწინ. ეს კიდევ უფრო ამაღელვებელი ხდება, როდესაც თქვენი პროექტი გადაიქცევა
ინსტრუქციაზე ფაილების სანახავად/დოკუმენტურად უკეთესი გზა: 4 ნაბიჯი
Instructables– ზე ფაილების ნახვის/დოკუმენტის უკეთესი გზა: ხალხი ხშირად შეიცავს ფაილებს პროექტისთვის Instructables– ის ატვირთვით. ხშირად ეს არის პროგრამული უზრუნველყოფის წყაროს ფაილები, რომლებიც შეიძლება იყოს სასწავლო ინსტრუქციის ცემის გული. მაგრამ Instructables არ აძლევს მკითხველს კოდის წაკითხვისა და გადახედვის მარტივ გზას. (
შექმენით უკეთესი ჟოლოს სიმძლავრის ღილაკი: 4 ნაბიჯი
შექმენით უკეთესი ჟოლოს სიმძლავრის ღილაკი: ძალიან ადვილია ჟოლოს გამორთვის ან გამორთვის ღილაკის გაკეთება. ინტერნეტში უამრავი ასეთი პროექტია და აქ არის Instructables, მაგრამ არცერთი მათგანი (რომელსაც მე ვხედავ) არ გითხრათ, როდის დაამთავრა თქვენი Pi ფაქტობრივად დახურვა და