Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: ADXL345_I2C Control_Yokutan_CANver1 mbed
Fork of Souda_Yokutan_ver4_6 by
Diff: main.cpp
- Revision:
- 5:7459a428e16e
- Parent:
- 3:4417217b4f66
- Child:
- 7:d6a3e47e6ef9
diff -r 4417217b4f66 -r 7459a428e16e main.cpp
--- a/main.cpp Wed Feb 17 01:56:21 2016 +0000
+++ b/main.cpp Wed Feb 17 02:29:14 2016 +0000
@@ -15,10 +15,11 @@
I2C ina226_i2c(p28,p27);
INA226 VCmonitor(ina226_i2c);
PwmOut servo1(p22);
-PwmOut servo2(p23);
+PwmOut servo2(p23);// eruron
DigitalOut led1(LED1);
AnalogIn a(p20);
AnalogIn b(p19);
+DigialIn switch1(p15);
char toSendDatas[TO_SEND_DATAS_NUM];
char controlValues[CONTROL_VALUES_NUM];//0:eruruon,1:drug
@@ -31,6 +32,8 @@
bool SERVO_FLAG;
bool ADXL_FLAG;
bool INA_FLAG;
+int neutral_a = 0;
+int neutral_b = 0;
int acc[3] = {0,0,0};
@@ -122,32 +125,45 @@
return (0.00093+(deg/180.0)*(0.00235-0.00077));
}
-void WriteServo(){
+void WriteServo(int a,int b){
+ if(a >= 45 && a <= 90 && b >= 45 && b <= 90){
if(controlValues[0] == (char)1){
- servo1.pulsewidth(calcPulse(90));
- }
+ servo1.Pulsewidth(calcPulse(90));
else{
- servo1.pulsewidth(calcPulse(45));
+ servo1.pulsewidth(calcPulse(a));
}
if(controlValues[1] == (char)1){
servo2.pulsewidth(calcPulse(90));
}
else{
- servo2.pulsewidth(calcPulse(45));
+ servo2.pulsewidth(calcPulse(b));
+ }
}
//servo1.pulsewidth(calcPulse(a.read()*170));
// servo2.pulsewidth(calcPulse(b.read()*170));
//pc.printf("%f", a.read());
}
+
+//初期迎角を変える
+void Debug(){
+ if(switch1 == 1){
+ neutral_a = (int)(a * 180);
+ neutral_b = (int)(b * 180);
+ WriteServo(neutral_a);
+ WriteServo(neutral_b);
+ }
+ }
+
int main(){
init();
while(1){
receiveDatas();
- WriteServo();
+ WriteServo(neutral_a,neutral_b);
updateDatas();
toString();
sendDatas();
+ Debug();
wait(WAIT_LOOP_TIME);
}
}
\ No newline at end of file
