Мазмұны:
- 1 -қадам: Жабдыққа қойылатын талаптар
- 2 -қадам: CloudX M633 микроконтроллері
- 3 -қадам: Қосылымдарды бекіту
- 4 -қадам: схема
- 5 -қадам: жұмыс принципі
- 6 -қадам: Бағдарламалық қамтамасыз ету бағдарламасы
Бейне: CloudX көмегімен сандық вольтметр: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Батареялар тізбектерде жұмыс істегенде тұрақты токтың тұрақты түрін береді. Олардың төмен шу деңгейі оларды кейбір өте сезімтал тізбектерге тамаша үйлесімді етеді. Алайда, олардың кернеу деңгейі белгілі бір шекті нүктеден төмен түсетін кезде, тізбектер (олар қуат көзіне арналған) тұрақсыз әрекетке түсуі мүмкін; әсіресе олар оны өңдеуге жақсы жасалмаған кезде.
Осылайша, батареяны толық ауыстыру немесе зарядтау қажет болған жағдайда, бізге дұрыс нұсқаулық беру үшін батарея қуатын үнемі бақылау қажет. Сондықтан, бұл DIY -де (Мұны өзіңіз жасаңыз) біз CloudX көмегімен 7Segment -ті дисплей ретінде қолдана отырып, батареяның кернеуінің қарапайым өлшегішін жасауымыз керек.
1 -қадам: Жабдыққа қойылатын талаптар
CloudX микроконтроллер модулі
CloudX USB
SoftCard
7 сегменттің дисплейі
Резисторлар
Қуат беру блогы
Нан тақтасы
Өткізгіш (қосылатын) сымдар
2 -қадам: CloudX M633 микроконтроллері
CloudX микроконтроллер модулі
CloudX модулі - бұл электроникаға арналған аппараттық құрал, ол сізге қарапайым микроконтроллер тақтасы арқылы физикалық әлеммен қарым -қатынас жасаудың өте ыңғайлы және қарапайым тәсілін ұсынады. Бүкіл платформа ашық бастапқы физикалық есептеуге негізделген. IDE-дің (интеграцияланған даму ортасы) қарапайымдылығы оны жаңадан бастағандар үшін өте қолайлы етеді, бірақ озық соңғы пайдаланушыларға өз жолымен жүруге мүмкіндік беретін жеткілікті функционалдылықты сақтайды. Жаңғақ қабықшасында CloudX микроконтроллермен жұмыс жасаудың қарапайым процесін қамтамасыз етеді-онымен байланысты қалыпты күрделі бөлшектерді алып тастау; сонымен бірге өте бай пайдаланушы тәжірибесі платформасын ұсынады. Ол көптеген қосымшаларды табады: мектептер - тамаша оқу құралы; өнеркәсіптік және коммерциялық өнімдер; және әуесқойдың қолында тамаша құрал.
3 -қадам: Қосылымдарды бекіту
7 сегментті түйреуіштер: A, B, C, D, E, F, G, 1, 2 және 3 CloudX-MCU pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9, pin10 және pin11 сәйкесінше.
4 -қадам: схема
Микроконтроллер модулі, осында орталық кезеңде, қосылуы мүмкін:
тақтадағы Vin және Gnd нүктелері арқылы (яғни оларды сыртқы қуат көзінің +ve және -ve терминалдарына қосу);
немесе CloudX USB жұмсақ картасы модулі арқылы
. Жоғарыда көрсетілген схемадан оңай көрініп тұрғандай, аккумулятордың кіріс кернеуі MCU (микроконтроллер) модулімен байланысады, осылайша кернеуді бөлу желісінің нүктесі MCU түйреуішінің A0 нүктесіне қосылады..
және келесі түрде таңдалады:
желі арқылы өтетін ток мөлшерін шектеу;
MCU үшін қауіпсіз диапазонда (0 - 5) В шегінде.
Формуланы қолдану: VOUT = (R2/(R1+R2)) * VIN; және оны оңай бағалауға болады.
Voutmax = 5В
және бұл жоба үшін біз: Vinmax = 50V;
5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 Мысалы R2 = 10kΩ алу; R1 = 45/5 * 10 = 90кОм
5 -қадам: жұмыс принципі
Кіріс өлшеу кернеуі кернеуді бөлу желісінің VOUT нүктесі арқылы оқылған кезде, деректер сегментте көрсетілетін соңғы нақты мәнге дейін бағалау үшін MCU -де өңделеді. Бұл (жүйенің дизайны)-ондық нүктенің автоматты орны, себебі ол (ондық нүкте) қалқымалы мән уақыттың кез келген уақытында белгілейтініне сәйкес дисплей бірлігіндегі орынды өзгертеді. Содан кейін, 7-сегменттің дисплейлік қондырғысы мультиплекс режимінде қосылады. Бұл арнайы келісім, бұл MCU бір деректер шинасы (8-деректер түйрегіштері) дисплей бөлігіндегі үш белсенді 7 сегментті береді. Деректер үлгісін компоненттердің әрбір бөлігіне жіберу сканерлеу деп аталатын процесс арқылы жүзеге асады. Сканерлеу-бұл 7 сегменттің әрбір компонентіне деректерді жіберуді қамтитын әдіс; және оларға сәйкес деректер келген кезде оларды біртіндеп қосуға (яғни қосуға). Олардың әрқайсысына жүгіну жылдамдығы осылайша жасалады, ол адамның көзқарасын бір уақытта олардың барлығына (құрамдас бөліктерге) қосылады (қаралады) деп сендіреді. Бұл (сканерлеу) іс жүзінде көру тұрақтылығы деп аталатын құбылысты қолданады.
6 -қадам: Бағдарламалық қамтамасыз ету бағдарламасы
#қосу
#қосу
#қосу
#сегментті анықтаңыз1 pin9
#сегментті анықтаңыз2 pin10
#сегментті3 pin11 анықтаңыз
batt_voltage қалқыма;
int decimalPoint, batt;
/*әрбір берілген цифр үшін сегмент үлгісін сақтайтын массивтер*/
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;
көрсету () {
белгісіз char i;
if (decimalPoint <10) {
disp0 = (int) batt_voltage /100; // MSD (ең маңызды цифр) алады
// ең жоғары салмақ
/* келесі өлшенген санды алады; және тағы басқа */
disp1 = ((int) batt_voltage % 100)/10;
disp2 = ((int) batt_voltage % 10);
}
басқа {
disp0 = (int) batt_voltage /1000;
disp1 = ((int) batt_voltage % 1000)/100;
disp2 = ((int) batt_voltage % 100)/10;
}
/*Өрнектер көрсету үшін құйылады; және 0x80 символы ондық бөлшекті қосады
егер байланысқан шарт шын болса*/
үшін (i = 0; i <50; i ++) {
pin9 = pin10 = pin11 = HIGH;
if (decimalPoint <10)
portWrite (1, CCathodeDisp [disp0] | 0x80);
else portWrite (1, CCathodeDisp [disp0]);
сегмент1 = ТӨМЕН;
сегмент2 = ЖОҒАРЫ;
сегмент3 = ЖОҒАРЫ;
кешігулер (5);
pin9 = pin10 = pin11 = HIGH;
if ((decimalPoint> = 10) && (decimalPoint <100))
portWrite (1, CCathodeDisp [disp1] | 0x80);
else portWrite (1, CCathodeDisp [disp1]);
сегмент1 = ЖОҒАРЫ;
сегмент2 = ТӨМЕН;
сегмент3 = ЖОҒАРЫ;
кешіктіру (5);
pin9 = pin10 = pin11 = HIGH;
егер (decimalPoint> = 100)
portWrite (1, CCathodeDisp [disp2] | 0x80);
else portWrite (1, CCathodeDisp [disp2]);
сегмент1 = ЖОҒАРЫ;
сегмент2 = ЖОҒАРЫ;
сегмент3 = ТӨМЕН;
кешігулер (5);
}
}
setup () {// орнату мұнда
analogSetting (); // аналогтық порт инициализацияланды
portMode (1, OUTPUT); // 1 -ден 8 -ге дейінгі түйреуіш түйреуіштер ретінде конфигурацияланған
/ * шығыс түйреуіштері ретінде конфигурацияланған сканерлеу түйреуіштері */
pin9Mode = OUTPUT;
pin10Mode = OUTPUT;
pin11Mode = OUTPUT;
portWrite (1, LOW);
pin9 = pin10 = pin11 = HIGH; // сканерлеу түйреуіштері (олар белсенді емес)
// басында ажыратылады
loop () {// Бағдарлама осында
batt_voltage = analogRead (A0); // өлшенген мәнді қабылдайды
batt_voltage = ((batt_voltage * 5000) / 1024); // 5Vin үшін айырбастау коэффициенті
batt_voltage = (batt_voltage * 50)/5000; // 50Vin үшін айырбастау коэффициенті
decimalPoint = batt_voltage; // ондық нүкте қайда пайда болатынын белгілейді
// деректерді өңдеуге дейінгі бастапқы мән
көрсету ();
}
}
Ұсынылған:
Arduino көмегімен Led Strip көмегімен аналогтық сағат пен сандық сағатты қалай жасауға болады: 3 қадам
Arduino көмегімен Led Strip көмегімен аналогтық сағат пен сандық сағатты қалай жасауға болады: Бүгін біз аналогты сағатты жасайтын боламыз. Led Strip және MAX7219 нүктелік модулі бар Arduino цифрлық сағаты жергілікті уақыт белдеуімен уақытты түзетеді. Аналогтық сағат ұзағырақ жарықдиодты жолақты қолдана алады, сондықтан оны суретші болу үшін қабырғаға іліп қоюға болады
Waveshare E-ink дисплейі дәл вольтметр (0-90v DC) Arduino Nano көмегімен: 3 қадам
Waveshare E-ink дисплейі дәл вольтметр (0-90v DC) Arduino Nano көмегімен: Бұл нұсқаулықта мен 90-ға дейінгі дәл кернеулерді көрсету үшін Arduino Nano, кернеу бөлгіш және ADS1115 бар 2.9 дюймдік Waveshare электронды қағаз дисплейін қолданамын. Электронды қағаз дисплейіндегі DC вольт. Бұл нұсқаулық алдыңғы екі жобаны біріктіреді:- Ardui
ICL7107 ADC көмегімен зарядталатын сандық вольтметр: 7 қадам (суреттермен)
ICL7107 ADC көмегімен қайта зарядталатын сандық вольтметр: Бұл оқулықта мен сізге 20 мВ -тан 200 В -қа дейінгі кернеуді өлшей алатын өте қарапайым цифрлық вольтметрді қалай жасау керектігін көрсетемін. Бұл жобада arduino сияқты микроконтроллер қолданылмайды. Оның орнына ADC, яғни ICL7107 кейбір құпия сөздермен қолданылады
NodeMCU көмегімен вольтметр: 5 қадам
NodeMCU көмегімен вольтметр: кернеуді өлшеуге және сақтауға, сонымен қатар алдыңғы мәндердің графигін құруға болатын вольтметрді жасау оңай және арзан
Сандық вольтметр: 5 қадам
Сандық вольтметр: бұл қолдануға оңай және арзан вольтметр. Бұл жобаның жалпы құны 200 рупийден немесе 2,5 доллардан төмен