Mundarija:
- 1 -qadam: Uskuna talablari
- 2 -qadam: CloudX M633 mikrokontroller
- 3 -qadam: Ulanishlarni ulash
- 4 -qadam: O'chirish diagrammasi
- 5 -qadam: ishlash printsipi
- 6 -qadam: Dasturiy ta'minot dasturi
Video: CloudX bilan raqamli voltmetr: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Batareyalar kontaktlarning zanglashiga olib kelganda, toza (doimiy) tok kuchini beradi. Ularning past shovqin darajasi ularni har doim juda sezgir davrlarga moslashtiradi. Biroq, ba'zida ularning kuchlanish darajasi ma'lum bir chegaradan pastga tushganda, davralar (ular quvvat uchun mo'ljallangan) tartibsiz xatti -harakatlarga kirishishi mumkin; ayniqsa, ular bu vazifani bajarish uchun yaxshi ishlab chiqilmagan bo'lsa.
Shunday qilib, batareya quvvati darajasini doimiy ravishda kuzatib borish zarurati tug'iladi, bu esa bizni to'liq zaryadlash yoki qayta zaryadlanuvchi batareyani zaryad qilish kerak bo'lganda to'g'ri yo'l -yo'riq beradi. Shuning uchun, bu DIY -da (O'zing qil), biz 7X segmentini displey sifatida ishlatib, CloudX yordamida oddiy batareya kuchlanish o'lchagichini ishlab chiqishimiz kerak.
1 -qadam: Uskuna talablari
CloudX mikrokontroller moduli
CloudX USB
SoftCard
7 segmentli displey
Rezistorlar
Elektr ta'minoti birligi
Non paneli
O'tish simlari
2 -qadam: CloudX M633 mikrokontroller
CloudX mikrokontroller moduli
CloudX moduli - bu elektron konstruktiv apparat vositasi bo'lib, u sizga oddiy mikrokontroldorlar paneli orqali jismoniy dunyo bilan aloqa qilishning juda qulay va oson usulini beradi. Butun platforma ochiq manbali jismoniy hisoblashlarga asoslangan. IDE (Integrated Development Environment) ning soddaligi uni yangi boshlanuvchilar uchun juda mos qiladi, lekin ilg'or oxirgi foydalanuvchilarga o'z yo'llarini bosib o'tishlari uchun etarli funktsiyalarni saqlab qoladi. Yong'oq qobig'ida CloudX mikrokontroller bilan ishlashning soddalashtirilgan jarayonini ta'minlaydi-u bilan bog'liq bo'lgan oddiy murakkab detallarni chiqarib tashlash; bir vaqtning o'zida juda boy foydalanuvchi tajribasi platformasini taklif qiladi. U keng ko'lamli dasturlarni topadi: maktablar, ajoyib o'quv vositasi; sanoat va tijorat mahsulotlari; va sevimli mashg'ulot qo'lida ajoyib yordamchi vosita sifatida.
3 -qadam: Ulanishlarni ulash
7 segmentli pinlar: A, B, C, D, E, F, G, 1, 2 va 3 CloudX-MCU pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9, pin10 va pin11 mos ravishda.
4 -qadam: O'chirish diagrammasi
Bu erda markaziy bosqichda bo'lgan mikrokontroller moduli yoqilishi mumkin:
bortdagi Vin va Gnd nuqtalari orqali (ya'ni, ularni mos ravishda tashqi quvvat manbaining +ve va -ve terminallariga ulash);
yoki CloudX USB karta moduli orqali
. Yuqorida ko'rsatilgan sxemadan ko'rinib turibdiki, batareyaning kirish voltaji MCU (mikrokontroller) moduli bilan bog'langan, shuning uchun kuchlanish bo'luvchi tarmoqning nuqtasi (va undan hosil bo'lgan) MCU pinining A0 ga ulangan..
va ular quyidagicha tanlanadi:
tarmoq orqali o'tadigan oqim miqdorini cheklash;
MCU uchun xavfsiz oraliq chegarasi (0 - 5) V.
Formuladan foydalanib: VOUT = (R2/(R1+R2)) * VIN; va oson baholanishi mumkin.
Voutmax = 5V
va bu loyiha uchun biz tanlaymiz: Vinmax = 50V;
5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 Masalan, R2 = 10kΩ ni olish; R1 = 45/5 * 10 = 90kΩ
5 -qadam: ishlash printsipi
Kirish o'lchanadigan kuchlanish kuchlanish taqsimlash tarmog'ining VOUT nuqtasi orqali o'qilganda, ma'lumotlar segmentda ko'rsatiladigan yakuniy haqiqiy qiymatni baholash uchun MCUda qayta ishlanadi. Bu (tizim dizayni) avtomatik kasrli joylashtiruvchi, chunki u (o'nlik nuqta) ko'rsatgich birligidagi pozitsiyani ma'lum bir vaqtda float qiymati belgilaganiga mos ravishda o'zgartiradi. Keyin, 7-segmentli uskunaning butun displeyi multipleks rejimida ulanadi. Bu maxsus kelishuv bo'lib, MCU bir xil ma'lumotlar shinasi (8 ta ma'lumotlar pinlari) displey blokidagi uchta faol 7 segmentni oziqlantiradi. Har bir tarkibiy qismga ma'lumotlar naqshini yuborish skanerlash deb ataladigan jarayon yordamida amalga oshiriladi. Skanerlash-bu 7-segmentli komponentlarning har biriga ma'lumotlarni uzatishni o'z ichiga olgan usul; va tegishli ma'lumotlar kelganda ularni ketma -ket yoqish (ya'ni. yoqish). Ularning har biriga murojaat qilish tezligi shunday bo'ladiki, u bir vaqtning o'zida hammasi (tarkibiy qismlari) yoqilgan (ko'rib chiqilgan), deb ishonib, odamlarning tasavvurini aldashga muvaffaq bo'ladi. Bu (skanerlash), aslida, ko'rishning doimiyligi deb nomlanuvchi hodisadan foydalanadi.
6 -qadam: Dasturiy ta'minot dasturi
#qo'shing
#qo'shing
#qo'shing
#segmentni belgilang1 pin9
#segmentni belgilang 2 pin10
#segmentni belgilang3 pin11
float batt_voltage;
int decimalPoint, batt;
/*har bir berilgan raqam uchun segment naqshini saqlaydigan massivlar*/
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;
ko'rsatish () {
imzosiz char i;
if (decimalPoint <10) {
disp0 = (int) batt_voltage /100; // MSD (eng muhim raqam) ni oladi
// eng yuqori vaznli
/* keyingi og'irlikdagi raqamni oladi; va hokazo */
disp1 = ((int) batt_voltage % 100)/10;
disp2 = ((int) batt_voltage % 10);
}
boshqa {
disp0 = (int) batt_voltage /1000;
disp1 = ((int) batt_voltage % 1000)/100;
disp2 = ((int) batt_voltage % 100)/10;
}
/*Namunalar ko'rsatish uchun quyiladi; va 0x80 belgi kasr nuqtasini qo'shadi
agar bog'liq shart to'g'ri bo'lsa*/
uchun (i = 0; i <50; i ++) {
pin9 = pin10 = pin11 = YUQORI;
if (decimalPoint <10)
portWrite (1, CCathodeDisp [disp0] | 0x80);
else portWrite (1, CCathodeDisp [disp0]);
segment1 = LOW;
segment2 = YUQORI;
segment3 = YUQORI;
kechiktirishlar (5);
pin9 = pin10 = pin11 = YUQORI;
if ((decimalPoint> = 10) && (decimalPoint <100))
portWrite (1, CCathodeDisp [disp1] | 0x80);
else portWrite (1, CCathodeDisp [disp1]);
segment1 = YUQORI;
segment2 = LOW;
segment3 = YUQORI;
kechiktirishlar (5);
pin9 = pin10 = pin11 = YUQORI;
agar (decimalPoint> = 100)
portWrite (1, CCathodeDisp [disp2] | 0x80);
else portWrite (1, CCathodeDisp [disp2]);
segment1 = YUQORI;
segment2 = YUQORI;
segment3 = LOW;
kechiktirishlar (5);
}
}
setup () {// bu erda sozlash
analog sozlash (); // analog port ishga tushirildi
portMod (1, OUTPUT); // 1 dan 8 gacha pinlar chiqish pinlari sifatida sozlangan
/ * chiqish pinlari sifatida sozlangan skanerlar */
pin9Mode = Chiqish;
pin10Mode = Chiqish;
pin11Mode = Chiqish;
portWrite (1, LOW);
pin9 = pin10 = pin11 = YUQORI; // skanerlar (faol-past)
// boshida o'chirilgan
loop () {// Dastur bu erda
batt_voltage = analogRead (A0); // o'lchangan qiymatni oladi
batt_voltage = ((batt_voltage * 5000) / 1024); // 5Vin uchun konvertatsiya koeffitsienti
batt_voltage = (batt_voltage * 50)/5000; // 50V uchun konvertatsiya koeffitsienti
decimalPoint = batt_voltage; // kasr nuqtasi qaerda paydo bo'lishini belgilaydi
// ma'lumotlar manipulyatsiyasidan oldingi asl qiymat
ko'rsatish ();
}
}
Tavsiya:
Waveshare elektron siyoh displeyi aniq voltmetr (0-90v DC) Arduino Nano bilan: 3 qadam
Waveshare elektron siyoh displeyi aniq voltmetr (0-90v DC) Arduino Nano bilan: Ushbu yo'riqnomada men 90 dyuymgacha aniq kuchlanishlarni ko'rsatish uchun Arduino Nano, kuchlanish bo'luvchi va ADS1115 bilan 2,9 dyuymli elektron qog'ozli displeydan foydalanaman. Elektron qog'oz displeyidagi volt DC. Bu ko'rsatma oldingi ikkita loyihani birlashtiradi:- Ardui
Raqamli Arduino voltmetr: 3 qadam
Raqamli Arduino voltmetr: voltmetr yoki kuchlanish o'lchagichi - bu kuchlanishni o'lchash uchun ishlatiladigan asbob
ICL7107 ADC yordamida qayta zaryadlanuvchi raqamli voltmetr: 7 qadam (rasmlar bilan)
ICL7107 ADC yordamida qayta zaryadlanuvchi raqamli voltmetr: Ushbu qo'llanmada men sizga 20 mV dan 200 V gacha bo'lgan kuchlanishni o'lchaydigan juda oddiy raqamli voltmetrni qanday qilishni ko'rsataman. Ushbu loyihada arduino kabi mikrokontroller ishlatilmaydi. Buning o'rniga ADC, ya'ni ICL7107 ba'zi parollar bilan ishlatiladi
Raqamli voltmetr: 5 qadam
Raqamli voltmetr: bu foydalanish oson va arzon DIY voltmetr. Loyihaning umumiy qiymati 200 INR yoki 2,5 dollardan kam
Raqamli va ikkilik soat 8 raqamli X 7 segmentli LED displeyda: 4 qadam (rasmlar bilan)
Raqamli va ikkilik soat 8 ta raqamli X 7 segmentli LED displeyda: Bu mening raqamli & 8 dyuymli x 7 segmentli LED displey yordamida ikkilik soat. Men odatiy qurilmalar, xususan, soatlar uchun yangi xususiyatlar berishni yaxshi ko'raman va bu holda ikkilik soat uchun 7 segmentli displeydan foydalanish noan'anaviy va