Exemple #1
0
def ultra_tester(severity=0.5): #just controlling distance with the ultrasonic
    dist = checkdist(exact=True)
    if dist < (severity - 0.1):
        move.move_backward(60)
    elif dist > (severity + 0.1):
        move.move_forward(60)
    elif dist >= (severity - 0.1) and dist <= (severity + 0.1):
        move.motorStop()
Exemple #2
0
 def do_GET(self):
     if self.path == '/':
         self.path += 'index.html'
     if self.path.endswith(".html") or self.path.endswith(
             ".js") or self.path.endswith(".svg") or self.path.endswith(
                 ".css"):
         self.send_response(200)
         self.end_headers()
         try:
             f = open(curdir + sep + self.path)
             self.wfile.write(bytes(f.read(), 'utf-8'))
             f.close()
         except IOError as e:
             self.send_error(404, str(e))
     elif self.path == '/stream.mjpg':
         self.close_connection = False
         self.send_response(200)
         self.send_header('Age', 0)
         self.send_header('Cache-Control', 'no-cache, private')
         self.send_header('Pragma', 'no-cache')
         self.send_header('Content-Type',
                          'multipart/x-mixed-replace; boundary=--FRAME')
         self.end_headers()
         output.add_client(self)
     if 'cmd=' in self.path:
         self.send_response(200)
         self.end_headers()
         cmd = self.path.split('cmd=')[1][0]
         if cmd == 'a':
             global mode_auto
             mode_auto = not mode_auto
             database.write_mode(mode_auto)
         elif cmd == 'l':
             motor.rotate_camera(15)
         elif cmd == 'r':
             motor.rotate_camera(-15)
         elif cmd == 'w':
             motor.move_forward(1)
         elif cmd == 's':
             motor.move_backward(1)
         elif cmd == 'd':
             self.wfile.write(bytes(database.read_last(13), 'utf-8'))
         elif cmd == 'c':
             self.wfile.write(bytes(str(-motor.camera_angle), 'utf-8'))
         elif cmd == 'b':
             self.wfile.write(
                 bytes("%.1fM" % sensors.altitude_baro(), 'utf-8'))
Exemple #3
0
    elif pyb.elapsed_millis(start) >= backup_timer: #This is 90 minutes
        break
    else:
        xbee.write('\nNo new data')
    xbee.write('\nNo data from GPS')
    pyb.delay(500)


xbee.write('\n\nAt {}, I have landed at location: {}'.format(my_gps.timestamp, initial_point))
# log.write('{},'.format(initial_point))

# Breakout from parachute mechanism
relay.high()
pyb.delay(5000)
relay.low()
motor.move_forward(100)
pyb.delay(10000)
motor.stop()

# GPS check loop: exact starting point defined here

while True:
    # Update the GPS Object when flag is tripped
    # if sw():
        # log.close()
        # break
    if new_data:
        while uart.any():
            my_gps.update(chr(uart.readchar()))

        if my_gps.latitude[0] != 0:
import motor
import sensor
import time
import RPi.GPIO as gpio
print "Starting up car"

try:
    while True:
        motor.move_forward(100)
        angle = sensor.sense_angles()
        print "Sensed obstacle at", angle
        if angle >= 90:
            motor.turn_right(angle - 90)
        else:
            motor.turn_left(angle + 90)
    
except KeyboardInterrupt:
        print "Cleaning up"
        gpio.cleanup()