You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello @SohamKorgaonkar
My drone is not responding to the code given by you
I think I missed some thing could help me
My mission planner full parameters list below suryaparams.txt
Proximity response below
Raspberry Pi code below
`
from dronekit import connect, VehicleMode, LocationGlobalRelative
import RPi.GPIO as GPIO
from pymavlink import mavutil
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
TRIG = 27 # Trigger pin of the Ultrasonic Sensor
ECHO = 17 #Echo pin of the Ultrasonic Sensor
GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)
milliseconds=0
#Connects to the vehicle using serial port.
print('Connecting to vehicle on: %s' % "/dev/ttyAMA0")
vehicle = connect('/dev/ttyAMA0', wait_ready=True, baud=921600) #Function to convert distance and orientation into a mavlink message
#vehicle.wait_ready(True, raise_exception=False)
def sensor_data(d,o):
msg = vehicle.message_factory.distance_sensor_encode(
milliseconds, # time since system boot
5, # min distance cm
10000, # max distance cm
int(d), # current distance, must be int
0, # type = laser?
0, # onboard id, not used
mavutil.mavlink.MAV_SENSOR_ROTATION_YAW_45, #direction
0 # covariance, not used
)
print(msg)
vehicle.send_mavlink(msg) #Simple function to measure the distance using ultrasonic sensor
return
while echo_state == 0:
echo_state = GPIO.input(ECHO)
pulse_start = time.time()
while GPIO.input(ECHO)==1:
pulse_end = time.time()
pulse_duration = pulse_end - pulse_start
distance = pulse_duration * 17150
distance = round(distance, 2)
if(distance<250 and distance>5): #To filter out junk values
dist1=distance
sensor_data(dist1,4) #Sends measured distance(dist1) and orientation(0) as a mavlink message.
else:
dist1=0
sensor_data(0,4)
return dist1
def arm_and_takeoff(aTargetAltitude):
print("Basic pre-arm checks")
# Don't try to arm until autopilot is ready
# while not vehicle.is_armable:
# print(" Waiting for vehicle to initialise...")
# time.sleep(1)
print("Arming motors")
# Copter should arm in GUIDED mode
vehicle.mode = VehicleMode("GUIDED")
vehicle.armed = True
# Confirm vehicle armed before attempting to take off
while not vehicle.armed:
print(" Waiting for arming...")
time.sleep(1)
print("Taking off!")
vehicle.simple_takeoff(aTargetAltitude) # Take off to target altitude
# Wait until the vehicle reaches a safe height before processing the goto
# (otherwise the command after Vehicle.simple_takeoff will execute
# immediately).
while True:
print(" Altitude: ", vehicle.location.global_relative_frame.alt)
# Break and return from function just below target altitude.
if vehicle.location.global_relative_frame.alt >= aTargetAltitude * 0.95:
print("Reached target altitude")
break
time.sleep(1)
Hello @SohamKorgaonkar
My drone is not responding to the code given by you
I think I missed some thing could help me
My mission planner full parameters list below
suryaparams.txt
Proximity response below
![Screenshot (40)](https://user-images.githubusercontent.com/59243908/139499289-ebf28153-f300-43b5-9d12-270d0371b4d2.png)
Raspberry Pi code below
`
from dronekit import connect, VehicleMode, LocationGlobalRelative
import RPi.GPIO as GPIO
from pymavlink import mavutil
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
TRIG = 27 # Trigger pin of the Ultrasonic Sensor
ECHO = 17 #Echo pin of the Ultrasonic Sensor
GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)
milliseconds=0
#Connects to the vehicle using serial port.
print('Connecting to vehicle on: %s' % "/dev/ttyAMA0")
vehicle = connect('/dev/ttyAMA0', wait_ready=True, baud=921600) #Function to convert distance and orientation into a mavlink message
#vehicle.wait_ready(True, raise_exception=False)
def sensor_data(d,o):
msg = vehicle.message_factory.distance_sensor_encode(
milliseconds, # time since system boot
5, # min distance cm
10000, # max distance cm
int(d), # current distance, must be int
0, # type = laser?
0, # onboard id, not used
mavutil.mavlink.MAV_SENSOR_ROTATION_YAW_45, #direction
0 # covariance, not used
)
print(msg)
vehicle.send_mavlink(msg) #Simple function to measure the distance using ultrasonic sensor
return
def measure():
dist1=250
GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)
echo_state=0
pulse_end=0
print("vehicle started ")
arm_and_takeoff(1)
vehicle.parameters['AVOID_ENABLE'] = 7
vehicle.parameters['PRX_TYPE'] = 2
#time.sleep(3)
while True:
The text was updated successfully, but these errors were encountered: