alex demo code
parent
b3ebf843bd
commit
88398bd405
@ -0,0 +1,4 @@
|
||||
{
|
||||
"board": "arduino:avr:uno",
|
||||
"sketch": "DemoBoatyArduino.ino"
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Win32",
|
||||
"includePath": [
|
||||
"C:\\Program Files (x86)\\Arduino\\tools\\**",
|
||||
"C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\**",
|
||||
"/storage/Shared/Arduino/arduino-1.8.13/hardware/arduino/avr/**",
|
||||
"/storage/Shared/Arduino/arduino-1.8.13/tools/**"
|
||||
],
|
||||
"forcedInclude": [
|
||||
"C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino\\Arduino.h",
|
||||
"/storage/Shared/Arduino/arduino-1.8.13/hardware/arduino/avr/cores/arduino/Arduino.h"
|
||||
],
|
||||
"intelliSenseMode": "msvc-x64",
|
||||
"compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx64/x64/cl.exe",
|
||||
"cStandard": "c11",
|
||||
"cppStandard": "c++17"
|
||||
},
|
||||
{
|
||||
"name": "Linux",
|
||||
"includePath": [
|
||||
"/storage/Shared/Arduino/arduino-1.8.13/tools/**",
|
||||
"/storage/Shared/Arduino/arduino-1.8.13/hardware/arduino/avr/**"
|
||||
],
|
||||
"forcedInclude": [
|
||||
"/storage/Shared/Arduino/arduino-1.8.13/hardware/arduino/avr/cores/arduino/Arduino.h"
|
||||
]
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
#include <stdint.h>
|
||||
#include <Arduino.h>
|
||||
#include <Servo.h>
|
||||
const int FWD_BTN = 2;
|
||||
const int REV_BTN = 3;
|
||||
const int SERVO_PWM = 9;
|
||||
const int ESC_PWM = 10;
|
||||
const int ADC_VBatt = A0;
|
||||
const int ADC_POT_0 = A1;
|
||||
const int ADC_POT_1 = A2;
|
||||
|
||||
Servo esc;
|
||||
Servo servo;
|
||||
|
||||
static float getBattV()
|
||||
{
|
||||
uint16_t raw = (uint16_t)analogRead(ADC_VBatt);
|
||||
float vout = (float)raw / 1024.0f * 5.0f;
|
||||
return (vout * 2.0f);
|
||||
}
|
||||
|
||||
static float getPot0V()
|
||||
{
|
||||
uint16_t raw = (uint16_t)analogRead(ADC_POT_0);
|
||||
return (float)raw / 1024.0f * 5.0f;
|
||||
}
|
||||
|
||||
static float getPot1V()
|
||||
{
|
||||
uint16_t raw = (uint16_t)analogRead(ADC_POT_1);
|
||||
return (float)raw / 1024.0f * 5.0f;
|
||||
}
|
||||
|
||||
static void handleMotor()
|
||||
{
|
||||
int val = analogRead(ADC_POT_0);
|
||||
val = map(val, 0, 1023, 1100, 1900);
|
||||
esc.writeMicroseconds(val);
|
||||
}
|
||||
|
||||
static void handleServo()
|
||||
{
|
||||
int val = analogRead(ADC_POT_1);
|
||||
val = map(val, 0, 1023, 1100, 1900);
|
||||
servo.writeMicroseconds(val);
|
||||
}
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(9600);
|
||||
esc.attach(ESC_PWM);
|
||||
servo.attach(SERVO_PWM);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
Serial.print("Battery Voltage: ");
|
||||
Serial.println(getBattV());
|
||||
Serial.print("Fwd Pot: ");
|
||||
Serial.print(getPot0V() / 5.0f * 100.0f);
|
||||
Serial.println("%");
|
||||
Serial.print("Rev Pot: ");
|
||||
Serial.print(getPot1V() / 5.0f * 100.0f);
|
||||
Serial.println("%");
|
||||
delay(500);
|
||||
}
|
Loading…
Reference in New Issue