Regenerating PPM signal based on distances from ultrasonic sensors, ESP8266 for connectin via wifi. Autonomous quadcopter behaviour, autonomou height holding. Flying direction based on front and back ultrasonic sensors.
Dependencies: ConfigFile HCSR04 PID PPM2 mbed-rtos mbed
Diff: distanceRegulation.h
- Branch:
- DistanceRegulation
- Revision:
- 40:0aa1cefe80ab
- Parent:
- 39:93d8aa47f4ce
- Child:
- 41:5fe200d20022
--- a/distanceRegulation.h Sun Mar 25 12:57:04 2018 +0000 +++ b/distanceRegulation.h Tue May 15 10:34:35 2018 +0000 @@ -53,7 +53,7 @@ } //distance1 = _sonic->getDistan1(); - //pc.printf("%d \n\r", distance1); + //pc.printf("%f \n\r", distance1); if(_groundRegulation){ //timer.reset(); @@ -93,14 +93,27 @@ //pc.printf("channel throttle final value: %d \n\r", regulatedThrottle); // goAhead for ROLL - if(_goAhead == true){ - _roll->pulsewidth_us( REGULATED_ROLL); + if(_goAhead == true && _groundDistance->quadStabilized() && _frontDistance >= 40){ + _pitch->pulsewidth_us( PITCH_GO_AHEAD); + } + if(_frontDistance < 40){ + _goAhead = false; + _frontWall = true; + _pitch->pulsewidth_us( PITCH_GO_BACK); } else{ - _roll->pulsewidth_us( channels[ROLL]); + _pitch->pulsewidth_us( channels[PITCH]); } + //pc.printf("front distance %d \n\r", _frontDistance); - _pitch->pulsewidth_us( channels[PITCH]); + //if(_frontWall){ + // + //} + + + + + _roll->pulsewidth_us( channels[ROLL]); _yaw->pulsewidth_us( channels[YAW]); _throttle->pulsewidth_us(regulatedThrottle); _aux1->pulsewidth_us( channels[AUX1]);