Mündəricat:
- Addım 1: Avadanlıq Tələbi
- Addım 2: CloudX M633 mikro nəzarətçi
- Addım 3: Bağlantıları bağlayın
- Addım 4: Dövrə Şeması
- Addım 5: Əməliyyat prinsipi
- Addım 6: Proqram Proqramı
Video: CloudX ilə rəqəmsal voltmetr: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Batareyalar, dövrələrdə işləyərkən daha təmiz bir DC (birbaşa cərəyan) gücü təmin edir. Aşağı səs -küy səviyyələri onları çox həssas sxemlərə mükəmməl uyğunlaşdırır. Bununla birlikdə, gərginlik səviyyələri müəyyən bir eşik nöqtəsinin altına düşdükdə, dövrələr - (güc üçün nəzərdə tutulmuşdur), düzensiz bir davranışa girə bilər; xüsusilə də bunu idarə etmək üçün yaxşı dizayn edilmədikdə.
Bu səbəbdən, tam doldurulma vaxtı və ya şarj oluna biləcəyi halda bizə düzgün yol göstərmək üçün batareyanın güc səviyyəsini mütəmadi olaraq izləmək ehtiyacı yaranır. Buna görə də, bu DIY -də (Özünüz Et) CloudX -dən istifadə edərək sadə bir batareya gərginliyi ölçücü dizayn etməliyik - 7Segmenti ekranınız kimi istifadə edərək.
Addım 1: Avadanlıq Tələbi
CloudX Mikrokontrolör Modulu
CloudX USB
SoftCard
7 Bölmə Ekranı
Rezistorlar
Enerji təchizatı vahidi
Çörək lövhəsi
Bağlayıcı tellər
Addım 2: CloudX M633 mikro nəzarətçi
CloudX Mikrokontrolör Modulu
CloudX modulu, sadə bir mikrokontrolör lövhəsi vasitəsi ilə fiziki dünya ilə çox rahat və asan bir əlaqə qurmağa imkan verən bir elektronika dizayn aparat vasitəsidir. Bütün platforma açıq mənbəli fiziki hesablamalara əsaslanır. Bir IDE (İnteqrasiya edilmiş İnkişaf Mühiti) sadəliyi onu yeni başlayanlar üçün mükəmməl bir hala gətirir, lakin inkişaf etmiş son istifadəçilərin yollarını keçməsinə imkan verən kifayət qədər funksionallığı saxlayır. Bir qoz qabığında CloudX, mikrokontrolörün idarə edilməsinin çox sadələşdirilmiş bir prosesini təmin edir-bununla əlaqəli normal kompleks detalları çıxararaq; eyni zamanda çox zəngin bir istifadəçi təcrübəsi platforması təqdim edərkən. Məktəblər, böyük bir Təhsil vasitəsi olaraq; sənaye və ticarət məhsulları; və bir hobbiçinin əlində böyük bir köməkçi vasitə kimi geniş tətbiqləri tapır.
Addım 3: Bağlantıları bağlayın
7 seqmentli pinlər: A, B, C, D, E, F, G, 1, 2 və 3 CloudX-MCU pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9, müvafiq olaraq pin10 və pin11.
Addım 4: Dövrə Şeması
Burada mərkəzi mərhələdə olan mikrokontrolör modulu açıla bilər:
lövhədəki Vin və Gnd nöqtələri vasitəsilə (yəni onları müvafiq olaraq xarici enerji təchizatı cihazınızın +ve və -ve terminallarına bağlayaraq);
və ya CloudX USB proqram kartı modulu vasitəsilə
. Yuxarıdakı dövrə diaqramından asanlıqla göründüyü kimi, giriş batareyasının gərginliyi MCU (mikrokontrolör) modulu ilə əlaqələndirilir ki, gərginlik bölücü şəbəkəsinin – nöqtəsi MCU pininin A0 -na qoşulsun..
və belə bir şəkildə seçilir:
şəbəkədən axan cərəyanın miqdarını məhdudlaşdırmaq;
MCU üçün təhlükəsiz (0 - 5) V aralığında limit.
Düsturdan istifadə edərək: VOUT = (R2/(R1+R2)) * VIN; və asanlıqla qiymətləndirilə bilər.
Voutmax = 5V
və bu layihə üçün seçirik: Vinmax = 50V;
5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 Məsələn R2 = 10kΩ alaraq; R1 = 45/5 * 10 = 90kΩ
Addım 5: Əməliyyat prinsipi
Giriş ölçülmüş gərginlik, gərginlik bölücü şəbəkənin VOUT nöqtəsi ilə oxunduqda, məlumatlar daha sonra seqment vahidində göstərilən son faktiki dəyəri qiymətləndirmək üçün MCU -da işlənir. Bu (sistem dizaynı) avtomatik ondalık nöqtəsi yer tutucusudur, çünki (ondalık nöqtəsi) float dəyərinin zamanın istənilən nöqtəsində diktə etdiyi şeyə uyğun olaraq əslində ekran bölməsindəki mövqeyini dəyişir. Sonra, bütün 7-Segment ekran vahidi multiplex rejimində bağlanır. MCU-dan eyni məlumat ötürücüsünün (8 məlumat pinləri) ekran bölməsindəki üç aktiv 7 seqmenti qidalandırdığı xüsusi bir tənzimləmədir. Hər bir komponent hissəsinə məlumat modelinin göndərilməsi Tarama adlanan bir proseslə əldə edilir. Tarama, 7 seqmentin hər bir hissəsinə məlumatların göndərilməsini əhatə edən bir texnikadır; və müvafiq məlumatları gəldikcə onları ardıcıl olaraq işə salmaq (yəni açmaq). Hər birinə müraciət etmək dərəcəsi, insan görmə qabiliyyətini aldadaraq, hamısının (komponent hissələrinin) eyni anda işə salındığını (ünvanlandığını) inandırmağa müvəffəq olacaq şəkildə edilir. Bu (tarama), əslində, Vizyonun Davamlılığı olaraq bilinən bir fenomendən istifadə edir.
Addım 6: Proqram Proqramı
#daxil edin
#daxil edin
#daxil edin
#seqmenti təyin edin1 pin9
#seqmenti təyin edin2 pin10
#seqment 3 pin11 təyin edin
float batt_voltage;
int decimalPoint, batt;
/*hər verilən rəqəm üçün seqment modelini saxlayan massivlər*/
char CCathodeDisp = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
char CAnodeDisp = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
int disp0, disp1, disp2;
göstər () {
imzasız char i;
if (decimalPoint <10) {
disp0 = (int) batt_voltage /100; // MSD (Ən Önəmli Rəqəm) alır
// ən yüksək çəkili olmaq
/* növbəti çəkili rəqəmi alır; və s */
disp1 = ((int) batt_voltage % 100)/10;
disp2 = ((int) batt_voltage % 10);
}
başqa {
disp0 = (int) batt_voltage /1000;
disp1 = ((int) batt_voltage % 1000)/100;
disp2 = ((int) batt_voltage % 100)/10;
}
/*Nümunələr nümayiş üçün tökülür; və ondalık nöqtəni əlavə edən 0x80 simvolu
əlaqəli şərt doğrudursa*/
üçün (i = 0; i <50; i ++) {
pin9 = pin10 = pin11 = YÜKSƏK;
əgər (decimalPoint <10)
portWrite (1, CCathodeDisp [disp0] | 0x80);
else portWrite (1, CCathodeDisp [disp0]);
seqment1 = DÜŞÜK;
seqment2 = YÜKSƏK;
seqment3 = YÜKSƏK;
gecikmə Ms (5);
pin9 = pin10 = pin11 = YÜKSƏK;
if ((decimalPoint> = 10) && (decimalPoint <100))
portWrite (1, CCathodeDisp [disp1] | 0x80);
else portWrite (1, CCathodeDisp [disp1]);
seqment1 = YÜKSƏK;
seqment2 = DÜŞÜK;
seqment3 = YÜKSƏK;
gecikmə Ms (5);
pin9 = pin10 = pin11 = YÜKSƏK;
əgər (decimalPoint> = 100)
portWrite (1, CCathodeDisp [disp2] | 0x80);
else portWrite (1, CCathodeDisp [disp2]);
seqment1 = YÜKSƏK;
seqment2 = YÜKSƏK;
seqment3 = DÜŞÜK;
gecikmə Ms (5);
}
}
setup () {// burada quraşdırın
analogSetting (); // analoq portu işə salındı
portModu (1, Çıxış); // 1 -dən 8 -ə qədər sancaqlar çıxış sancaqları kimi konfiqurasiya edilmişdir
/ * çıxış pinləri kimi konfiqurasiya edilmiş sancaqlar */
pin9Mode = Çıxış;
pin10Mode = Çıxış;
pin11Mode = Çıxış;
portWrite (1, LOW);
pin9 = pin10 = pin11 = YÜKSƏK; // tarama sancaqları (aktiv-aşağı)
// başlanğıcda əlil olur
loop () {// Proqram burada
batt_voltage = analogRead (A0); // ölçülmüş dəyəri alır
batt_voltage = ((batt_voltage * 5000) / 1024); // 5Vin üçün dönüşüm faktoru
batt_voltage = (batt_voltage * 50)/5000; // 50Vin üçün dönüşüm faktoru
decimalPoint = batt_voltage; // ondalık nöqtənin göründüyü yerləri işarələyir
// məlumat manipulyasiyasından əvvəl orijinal dəyər
ekran ();
}
}
Tövsiyə:
Waveshare E-ink Ekranı Həssas Voltmetr (0-90v DC) Arduino Nano ilə: 3 addım
Waveshare E-ink Display Precision Voltmeter (0-90v DC) Arduino Nano ilə: Bu Təlimatda, 90-a qədər dəqiq gərginliyi göstərmək üçün Arduino Nano, bir gərginlik bölücü və ADS1115 ilə 2.9 "Waveshare E-Kağız ekranı istifadə edirəm. E-Kağız Ekranında volt DC. Bu təlimat əvvəlki iki layihəni birləşdirir:- Ardui
Rəqəmsal kaliper necə sökülür və rəqəmsal kaliper necə işləyir: 4 addım
Rəqəmsal kaliper necə söküləcək və rəqəmsal kaliper necə işləyir: Bir çox insan ölçü üçün kaliperdən necə istifadə edəcəyini bilir. Bu dərslik sizə rəqəmsal kaliperin necə yıxılacağını və rəqəmsal kaliperin necə işlədiyini izah edəcək
Rəqəmsal Arduino Voltmetr: 3 addım
Rəqəmsal Arduino Voltmetr: Bir Voltmetr və ya Gərginlik Ölçən, gərginliyi ölçmək üçün istifadə olunan bir ölçmə vasitəsidir
ICL7107 ADC istifadə edərək şarj edilə bilən rəqəmsal voltmetr: 7 addım (şəkillərlə)
ICL7107 ADC istifadə edərək şarj edilə bilən rəqəmsal voltmetr: Bu təlimatda sizə 20 mV -dən 200 V -a qədər gərginliyi ölçə bilən super sadə rəqəmsal voltmetr hazırlamağı göstərəcəyəm. Bu layihə arduino kimi heç bir mikro nəzarətçi istifadə etməyəcək. Bunun yerinə bir ADC, yəni ICL7107 bəzi keçidlərlə istifadə ediləcək
Rəqəmsal Voltmetr: 5 addım
Rəqəmsal Voltmetr: İstifadəsi asan və Ucuz DIY Voltmetrdir. Bu layihəni həyata keçirməyin ümumi dəyəri 200 INR -dən və ya yalnız 2,5 dollardan azdır