Innholdsfortegnelse:
- Trinn 1: Deler
- Trinn 2: Koble deler sammen
- Trinn 3: Last opp og endre koden til din preferanse
- Trinn 4: Kontroller om det fungerer
Video: Enkleste Arduino VESC -skjerm: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Hei, i dette prosjektet vil vi lage enkel VESC -skjerm. Dette ville være nyttig når du vil overvåke temperaturen din og finne ut problemer som jeg hadde med min Vesc -overoppheting (som jeg fant ut bare med denne skjermen) eller du kan bruke den bare til å feste skjermen til brettet eller styret og se hastigheten din, kjørelengde, batteriprosent og mange flere. Så la oss begynne å bygge!
Trinn 1: Deler
1. - Arduino (jeg bruker UNO, men du kan også bruke hvilket som helst annet brett inkludert esp8266 eller esp32)
2. - noen kabler for tilkobling (prøv å finne kontakten for kontakten din for vesc fordi det vil være mye lettere å koble fra en stor kontakt vs. mange små kabler)
3. - display (jeg bruker 124 x 32 Oled, men du kan bruke hvilken som helst annen ved å endre bibliotek)
4. - valgfritt - brødbrett (dette er for folk som ikke vil lodde eller for de som ønsker å gjøre det midlertidig)
5. - USB -kabel for din arduino
Trinn 2: Koble deler sammen
display: Vcc til 3,3V
Gnd til Gnd
Sck (eller scl) til A5
Sda til A4
VESC: 5V fra Vesc til Vin på Arduino
Gnd til Gnd
RX på VESC til TX på Arduino
TX på VESC til RX på Arduino
Trinn 3: Last opp og endre koden til din preferanse
KODE:
/** 2020 -kode av Lukas Janky VESC -skjerm med Oled -skjerm Hvis du trenger å spørre meg om noe, kan du kontakte meg på [email protected] eller på instruktørene mine. Jeg håper at dette vil hjelpe deg.
*/
#include #include #include #include #include #include #include #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET 4 Adafruit_SSD1306 display (SCREEN_WIDTH, SCREEN_HEIGHT, & Wire, OLED_RESET);
VescUart UART;
int rpm; flytespenning; flyte strøm; int makt; float amphour; flyte tach; flyte avstand; flytehastighet; float watthour; float batpercentage;
SimpleKalmanFilter Filter1 (2, 2, 0.01);
ugyldig oppsett () {
Serial.begin (115200); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.fillScreen (0); display.display ();
/ ** Oppsett UART -port (Serial1 på Atmega32u4)*/ // Serial1.begin (19200); mens (! Seriell) {;}
/ ** Definer hvilke porter som skal brukes som UART*/ UART.setSerialPort (& Serial);
}
void loop () {
////////// Les verdier ////////// if (UART.getVescValues ()) {
rpm = (UART.data.rpm)/7; // '7' er antall polpar i motoren. De fleste motorer har 14 poler, derfor 7 polspar spenning = (UART.data.inpVoltage); current = (UART.data.avgInputCurrent); strøm = spenning*strøm; amphour = (UART.data.ampHours); watt = amphour*spenning; tach = (UART.data.tachometerAbs)/42; // '42' er antall motorpoler multiplisert med 3 avstand = tach*3.142*(1/1609)*0.72*(16/185); // Motor RPM x Pi x (1/ meter i en mil eller km) x Hjuldiameter x (motorhjul/ hjulskive) hastighet = o/ min*3.142*(60/1609)*0.72*(16/185); // Motor RPM x Pi x (sekunder i minutt / meter i mil) x Hjuldiameter x (motorhjul / trinse) batpercent = ((spenning-38,4) / 12)*100; // ((Batterispenning - minimumsspenning) / antall celler) x 100
}
////////// Filter //////////// // beregne estimert verdi med Kalman Filter float powerfiltered = Filter1.updateEstimate (power);
display.fillScreen (0); display.setCursor (10, 5); display.setTextColor (1); display.setTextSize (1); display.print (spenning);
display.setCursor (10, 20); display.setTextColor (1); display.setTextSize (1); display.print (strøm);
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 (nåværende); display.display ();
forsinkelse (50);
}
Du kan endre og vise hvilken som helst verdi fra koden du ønsker
Trinn 4: Kontroller om det fungerer
Når du sjekker om det fungerer, er det på tide å lodde det og legge til etiketter i verdiene dine som volt eller ampere. Lodd den på arduino nano, så den blir mindre, eller du kan til og med overføre den med annen arduino til fjernkontrollen. men for det er mange andre opplæringsprogrammer (søk overføringsverdier med arduino). Jeg håper at dette hjalp deg med å løse problemet ditt eller lage fin liten vesc -telemetri.
Anbefalt:
Nixie -klokke med Arduino - Enkleste design: 4 trinn
Nixie -klokke med Arduino | Enkleste design: Etter lang arbeidsdag, endelig ble jeg vellykket med å lage Nixie-klokke med Arduino og opto-isolasjonsbrikke, ingen behov for Nixie-driver som er vanskelig å kjøpe
DIY enkleste automatiske dyrefôr med Arduino: 3 trinn
DIY enkleste automatiske kjæledyrsmater med Arduino: Hei kjæledyrelskere! Innerst inne ønsker vi alle å ha en søt liten valp eller en kattunge eller sannsynligvis til og med en fiskefamilie hjemme hos oss. Men på grunn av vårt travle liv tviler vi ofte på oss selv: 'Vil jeg klare å ta vare på kjæledyret mitt?' Hovedansvaret
Enkleste Arduino Smart Plant Vanning: 7 trinn (med bilder)
Enkleste Arduino Smart Plant Vanning: Forrige gang vi skrev intructable om hvordan du lager et automatisk plantevanningssystem med arduino og sensorer, fikk artikkelen vår mye oppmerksomhet og gode tilbakemeldinger. Etterpå har vi tenkt på hvordan vi kan gjøre det bedre. Det virker som vår
Enkleste Arduino -kalkulator: 5 trinn
Enkleste Arduino -kalkulator: Her er min versjon av den enkleste arduino -kalkulatoren noensinne. Best for tyrkere som et prosjekt for arduino -forretter. Ikke bare enkelt er dette prosjektet mye billig om innen 40 $ s
Enkleste hjemmeautomatisering ved hjelp av Bluetooth, Android -smarttelefon og Arduino .: 8 trinn (med bilder)
Enkleste hjemmeautomatisering ved hjelp av Bluetooth, Android -smarttelefon og Arduino .: Hei alle sammen, Dette prosjektet handler om å bygge den mest forenklede hjemmeautomatiseringsenheten ved hjelp av en arduino og en bluetooth -modul. Denne er veldig enkel å bygge, og den kan bygges på noen få timer. I min versjon som jeg forklarer her, kan jeg