Мазмуну:
- 1 -кадам: Бөлүктөр
- 2 -кадам: Бөлүктөрдү бирге туташтыруу
- 3 -кадам: Сиздин каалооңузга ылайыктуу кодду жүктөө жана өзгөртүү
- 4 -кадам: Анын иштээрин текшерүү
Video: Эң оңой Arduino VESC монитору: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Салам, бул долбоордо биз оңой VESC мониторун жасайбыз. Бул сиз температураңызды көзөмөлдөп, менин Vesc ысып кетүүмдөгү көйгөйлөрдү билгиси келгенде пайдалуу болмок (мен муну ушул монитор менен эле билгем) же аны дисплейди тактаңызга же рулуңузга тагуу үчүн колдонсоңуз болот жана ылдамдыгыңызды байкасаңыз болот., Пробег, батареянын пайызы жана башкалар. Ошентип, келгиле, курулушка кирели!
1 -кадам: Бөлүктөр
1. - Arduino (Мен UNO колдонуп жатам, бирок сиз esp8266 же esp32, анын ичинде башка тактайларды да колдоно аласыз)
2. - туташтыруу үчүн кээ бир кабелдер (vesc үчүн туташтыргычыңыздын туташтыргычын табууга аракет кылыңыз, анткени 1 чоң туташтыргычты ажыратуу анча -мынча кичинекей кабелдерге караганда)
3. - дисплей (мен 124 x 32 Oled колдонуп жатам, бирок китепкананы алмаштыруу менен башка колдоно аласыз)
4. - милдеттүү эмес - нан (бул ширетүүнү каалабаган адамдар үчүн же убактылуу жасагысы келгендер үчүн)
5. - Сиздин arduino үчүн USB кабели
2 -кадам: Бөлүктөрдү бирге туташтыруу
дисплей: VC 3.3V чейин
Гнддан Гндге
A5ке текшерүү (же scl)
Ададан А4ка чейин
VESC: 5V Vesc тартып Arduino боюнча Винге чейин
Гнддан Гндге
VXC боюнча RX Arduinoдогу TXке
VXC боюнча TX Arduinoдогу RXке
3 -кадам: Сиздин каалооңузга ылайыктуу кодду жүктөө жана өзгөртүү
КОД:
/** 2020 коду Лукас Янки VESC монитору менен Oled дисплейи Эгерде менден бир нерсе сураш керек болсо, [email protected] же менин көрсөтмөлөрүм боюнча мага кайрыл. Бул сизге жардам берет деп үмүттөнөм.
*/
#кошуу #кошуу #кошуу #кошуу #кошуу #кошуу #кошуу #экрандын кеңдигин аныктоо 128 #экрандын_бийиктигин аныктоо 64 #аныктоо OLED_RESET 4 Adafruit_SSD1306 дисплейи (SCREEN_WIDTH, SCREEN_HEIGHT, & WEIGHT;
VescUart UART;
int rpm; сүзүүчү чыңалуу; сүзүүчү ток; int power; сүзүүчү амфур; калкып жүрүүчү так; сүзүү аралыгы; сүзүү ылдамдыгы; сүзүү калкып чыгуучу пайыз;
SimpleKalmanFilter Filter1 (2, 2, 0.01);
жараксыз орнотуу () {
Serial.begin (115200); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.fillScreen (0); display.display ();
/ ** UART портун орнотуу (Atmega32u4те Serial1)*/ // Serial1.begin (19200); while (! Сериялык) {;}
/ ** Кайсы портторду UART катары колдонууну аныктаңыз*/ UART.setSerialPort (& Serial);
}
void loop () {
////////// Эгерде баалуулуктарды окуңуз ///////// if (UART.getVescValues ()) {
rpm = (UART.data.rpm)/7; // '7' - мотордогу уюл жуптарынын саны. Көпчүлүк кыймылдаткычтарда 14 уюл бар, ошондуктан 7 уюл жуп чыңалуу = (UART.data.inpVoltage); учурдагы = (UART.data.avgInputCurrent); кубат = чыңалуу*ток; amphour = (UART.data.ampHours); watthour = амфур*чыңалуу; tach = (UART.data.tachometerAbs)/42; // '42' - бул 3 аралыкка көбөйтүлгөн мотор мамыларынын саны = tach*3.142*(1/1609)*0.72*(16/185); // Motor RPM x Pi x (миля же кмде 1/ метр) x Wheel диаметр x // Motor RPM x Pi x (мүнөт ичинде секунда / миляда) x Дөңгөлөктүн диаметри x (мотор шкив / дөңгөлөк) батперцент = ((чыңалуу-38,4) / 12)*100; // ((Батарея чыңалуусу - минималдуу чыңалуу) / клеткалардын саны) x 100
}
////////// Фильтр ////////// // Калман Фильтринин жардамы менен болжолдуу маанини эсептегиле float powerfiltered = Filter1.updateEstimate (бийлик);
display.fillScreen (0); display.setCursor (10, 5); display.setTextColor (1); display.setTextSize (1); көрсөтүү.басуу (чыңалуу);
display.setCursor (10, 20); display.setTextColor (1); display.setTextSize (1); көрсөтүү.басуу (күч);
display.setCursor (10, 40); display.setTextColor (1); display.setTextSize (1); display.print (rpm);
display.setCursor (10, 55); display.setTextColor (1); display.setTextSize (1); display.print (учурдагы); display.display ();
кечиктирүү (50);
}
Сиз каалаган коддон каалаган маанини өзгөртө жана көрсөтө аласыз
4 -кадам: Анын иштээрин текшерүү
Эми анын иштеп жаткандыгын текшергенде, аны ширетүү жана Вольт же Ампер сыяктуу баалуулуктарыңызга этикеткалар кошуу убактысы келди. Аны arduino наносуна ээрчиңиз, андыктан ал кичирээк болот же аны башка ардуино менен алыскы контролеруңузга өткөрүп бере аласыз. бирок бул үчүн башка көптөгөн окуу куралдары (arduino менен баалуулуктарды издөө). Бул сиздин көйгөйүңүздү чечүүгө же кичинекей веск телеметриясын түзүүгө жардам берди деп үмүттөнөм.
Сунушталууда:
Температура, нымдуулук монитору - Arduino Mega + Ethernet W5100: 5 кадам
Температура, нымдуулук монитору - Arduino Mega + Ethernet W5100: Модуль 1 - FLAT - жабдыктар: Arduino Mega 2560 Wiznet W5100 Ethernet калканы 8x DS18B20 OneWire шинасындагы сенсор - 4 OneWire автобусуна бөлүнөт (2,4,1,1) 2x санариптик температура жана нымдуулук сенсор DHT22 (AM2302) 1x температура жана нымдуулук
Топурактын сыйымдуулугу бар Arduino өсүмдүктөрүнүн монитору - Үйрөткүч: 6 кадам
Топурактын сыйымдуу сенсору бар Arduino өсүмдүктөрүнүн монитору - Үйрөткүч: Бул окуу куралында биз OLED дисплейи жана Visuino менен сыйымдуу ным сенсорунун жардамы менен топурактын нымдуулугун кантип аныктоону үйрөнөбүз
ATMega328 (Arduino Uno Chip) + AD8232 колдонуу менен жөнөкөй, портативдүү үзгүлтүксүз ЭКГ/ЭКГ монитору: 3 кадам
ATMega328 (Arduino Uno Chip) + AD8232 колдонуу менен жөнөкөй, портативдүү үзгүлтүксүз ЭКГ/ЭКГ Монитору: Бул нускамалуу баракча жөнөкөй портативдүү 3 коргошун ЭКГ/ЭКГ мониторун кантип жасоону көрсөтөт. Монитор ЭКГ сигналын өлчөө үчүн AD8232 сынык тактасын колдонот жана аны кийинки талдоо үчүн microSD картага сактап калат
Arduino Uno менен пациенттин монитору: 5 кадам
Чыдамдуу монитор Arduino Uno аркылуу: Сабыр монитору - бул көзөмөлдөө үчүн колдонулган такта (Spo2, жүрөктүн согушу, абанын нымдуулугу, абанын температурасы жана дене температурасы) жана мен arduino uno (Atmega328p) бул долбоордун контроллери катары колдоном жана мен Android тиркемесин иштеп чыккам бул маалыматты алуу жана көрсөтүү үчүн, мен
DIY MusiLED, Windows менен Linuxтун бир чыкылдатуусу менен музыканын синхрондуу LEDлери (32-бит жана 64-бит). Оңой жаратуу, колдонууга оңой, портко оңой: 3 кадам
DIY MusiLED, Windows менен Linuxтун бир чыкылдатуусу менен музыканын синхрондуу LEDлери (32-бит жана 64-бит). Оңой жаратуу, колдонууга оңой, портко оңой .: Бул долбоор сизге 18 LED (6 Кызыл + 6 Көк + 6 Сары) Arduino тактасына туташтырууга жана компьютериңиздин Үн картасынын реалдуу убакыт сигналдарын талдоого жана аларды өткөрүүгө жардам берет. Светодиоддор аларды эффекттерге жараша күйгүзүшөт (Snare, High Hat, Kick)