Innehållsförteckning:
- Steg 1: Delar
- Steg 2: Ansluta delar tillsammans
- Steg 3: Ladda upp och ändra koden enligt dina önskemål
- Steg 4: Kontrollera om det fungerar
Video: Enklaste Arduino VESC -skärm: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:39
Hej, i detta projekt kommer vi att göra en enkel VESC -övervakning. Detta skulle vara användbart när du vill övervaka din temperatur och ta reda på problem som jag hade med min Vesc -överhettning (som jag fick reda på bara med den här bildskärmen) eller om du bara kan använda den för att fästa skärmen på ditt bräda eller styret och titta på din hastighet, körsträcka, batteriprocent och många fler. Så låt oss börja bygga!
Steg 1: Delar
1. - Arduino (jag använder UNO men du kan också använda alla andra brädor inklusive esp8266 eller esp32)
2. - några kablar för anslutning (försök hitta kontakt för din kontakt för vesc eftersom det blir mycket lättare att koppla ur en stor kontakt kontra en massa små kablar)
3. - display (jag använder 124 x 32 Oled men du kan använda vilken som helst annan genom att byta bibliotek)
4. - valfritt - brödbräda (det här är för personer som inte vill lödda eller för dem som vill göra det tillfälligt)
5. - USB -kabel för din arduino
Steg 2: Ansluta delar tillsammans
display: Vcc till 3,3V
Gnd till Gnd
Sck (eller scl) till A5
Sda till A4
VESC: 5V från Vesc till Vin på Arduino
Gnd till Gnd
RX på VESC till TX på Arduino
TX på VESC till RX på Arduino
Steg 3: Ladda upp och ändra koden enligt dina önskemål
KODA:
/** 2020 -kod av Lukas Janky VESC -skärm med Oled -display Om du behöver fråga mig något, kontakta mig på [email protected] eller på mina instruktioner. Jag hoppas att detta kommer att hjälpa dig.
*/
#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 varvtal; flottörspänning; flytström; int kraft; flyta amphour; float tach; flottöravstånd; flottörhastighet; float watthour; float batpercentage;
SimpleKalmanFilter Filter1 (2, 2, 0.01);
void setup () {
Serial.begin (115200); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.fillScreen (0); display.display ();
/ ** Konfigurera UART -port (Serial1 på Atmega32u4)*/ // Serial1.begin (19200); medan (! Seriell) {;}
/ ** Definiera vilka portar som ska användas som UART*/ UART.setSerialPort (& Serial);
}
void loop () {
////////// Läs värden ////////// if (UART.getVescValues ()) {
rpm = (UART.data.rpm)/7; // '7' är antalet polpar i motorn. De flesta motorer har 14 poler, därför 7 polspar spänning = (UART.data.inpVoltage); ström = (UART.data.avgInputCurrent); effekt = spänning*ström; amphour = (UART.data.ampHours); watthour = amphour*spänning; tach = (UART.data.tachometerAbs)/42; // '42' är antalet motorpoler multiplicerat med 3 distans = tak*3.142*(1/1609)*0.72*(16/185); // Motorvarvtal x Pi x (1/ meter i en mil eller km) x Hjuldiameter x (motorhjul/ hjulhjul) hastighet = varv/ min*3.142*(60/1609)*0.72*(16/185); // Motorvarvtal x Pi x (sekunder i en minut / meter i mil) x Hjuldiameter x (motorhjul / hjulhjul) batpercentage = ((spänning-38,4) / 12)*100; // ((Batterispänning - minsta spänning) / antal celler) x 100
}
////////// Filter //////////// // beräkna det uppskattade värdet med Kalman Filter float powerfiltered = Filter1.updateEstimate (power);
display.fillScreen (0); display.setCursor (10, 5); display.setTextColor (1); display.setTextSize (1); display.print (spänning);
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 (aktuell); display.display ();
fördröjning (50);
}
Du kan ändra och visa valfritt värde från koden du vill ha
Steg 4: Kontrollera om det fungerar
Nu när du kontrollerar om det fungerar är det dags att lödda det och lägga till etiketter till dina värden som volt eller ampere. Lödda den på arduino nano så blir den mindre eller så kan du till och med överföra den med annan arduino till din fjärrkontroll. men för det finns många andra självstudier (sök överföringsvärden med arduino). Jag hoppas att detta hjälpte dig att lösa ditt problem eller göra en fin liten vesc -telemetri.
Rekommenderad:
Nixie -klocka med Arduino - Enklaste designen: 4 steg
Nixie -klocka med Arduino | Enklaste designen: Efter lång arbetsdag fick jag äntligen framgångsrik Nixie-klocka med Arduino och opto-isoleringschip, ingen Nixie-drivrutin behövs vilket är svårt att köpa
DIY enklaste automatiska husdjursmatare med Arduino: 3 steg
DIY enklaste automatiska husdjursmatare med Arduino: Hej husdjursälskare! Innerst inne vill vi alla ha en söt liten valp eller en kattunge eller förmodligen till och med en fiskfamilj hemma hos oss. Men på grund av våra hektiska liv tvivlar vi ofta på oss själva: 'Kommer jag att kunna ta hand om mitt husdjur?' Huvudansvaret
Enklaste Arduino Smart Plant vattning: 7 steg (med bilder)
Enklast Arduino Smart Plant Watering: Förra gången vi skrev intructable om hur man gör ett automatiskt växtbevattningssystem med arduino och sensorer, fick vår artikel mycket uppmärksamhet och bra feedback. Efteråt har vi funderat på hur vi kan göra det bättre. Det verkar som vårt o
Enklaste Arduino -räknaren: 5 steg
Enklaste Arduino -kalkylatorn: Här är min version av den enklaste arduino -kalkylatorn någonsin. Bäst för nybörjare som ett projekt för arduino -förrätter. Inte bara enkelt är detta projekt mycket billigt inom 40 $ s
Enklaste hemautomation med Bluetooth, Android -smartphone och Arduino .: 8 steg (med bilder)
Enklaste hemautomation med Bluetooth, Android -smartphone och Arduino .: Hej alla, det här projektet handlar om att bygga den mest förenklade hemautomatiseringsenheten med en arduino och en bluetooth -modul. Den här är väldigt enkel att bygga och den kan byggas på några timmar. I min version som jag förklarar här kan jag