Ejemplo n.º 1
0
import setup
from setup import RPL
import RoboPiLib as RPL

sensor_pin = 5
RPL.pinMode(sensor_pin, RPL.INPUT)


def analogRead(pin):
    putPacket(ANREAD, bytearray([5]), 1)
    buff = getPacket()
    return int(buff[3][1]) | (int(buff[3][2]) << 8)


while True:
    if RPL.analogRead(5) > 450 and RPL.analogRead(3) > 450:
        RPL.servoWrite(2, 1490)
        RPL.servoWrite(1, 300)
        print "ok"
    if 400 > RPL.analogRead(5) and RPL.analogRead(3) > 250:
        RPL.servoWrite(2, 2000)
        RPL.servoWrite(1, 1470)
        print "yeah"
    if RPL.analogRead(5) >= 400 and RPL.analogRead(5) <= 450:
        RPL.servoWrite(2, 2000)
        RPL.servoWrite(1, 300)
        print "gratata"
    if RPL.analogRead(3) < 250:
        RPL.servoWrite(2, 2000)
        RPL.servoWrite(1, 0)
    if RPL.digitalRead(17) == 0:
Ejemplo n.º 2
0
	RPL.pinMode(ServoR, RPL.PWM)
	ServoL = int(raw_input(1))
	RPL.pinMode(ServoL, RPL.PWM)

  # analogRead(1) = side slant left
  # analogRead(2) = side slant right
  # analogRead(3) = front left
  # analogRead(4) = front right
  # analogRead(5) = side left
  # analogRead(6) = side right
  # analogRead(7) = front slant left
  # analogRead(8) = front slant right


while True:
    if RPL.analogRead(3) < 600 or RPL.analogRead(5) < 600:      # turns right if a wall or object on the left side is detected
        RPL.servoWrite(0, 1450)
        RPL.servoWrite(1, 2000)
    if RPL.analogRead(4) < 600 or RPL.analogRead(6) < 600:      # turns left if a wall or object on the right side is detected
        RPL.servoWrite(0, 1000)
        RPL.servoWrite(1, 1550)
    if 50 > RPL.analogRead(1) - RPL.analogRead(2) > -50:              # drives straight
        RPL.servoWrite(0, 1000)
        RPL.servoWrite(1, 2000)
    if RPL.analogRead(2) > RPL.analogRead(1) + 50:                 # turn right if sensor reads the ground
        RPL.servoWrite(0, 1450)
        RPL.servoWrite(1, 2000)
    if RPL.analogRead(1) > RPL.analogRead(2) + 50:                 # turn left if sensor reads the ground
        RPL.servoWrite(0, 1000)
        RPL.servoWrite(1, 1550)
    if RPL.analogRead(7) > 500 and RPL.analogRead(8) > 500:         # drive in reverse