Get started
Die Programmierung des Edison erfolgt auf der Seite Edpy. Dort gibt es Beispielprogramme und eine Anleitung für jede einzelne Funktion in Edpy.
Analyse Anleitungenvon könnenBeispielcode
Schauen Anregungwir uns für Programmeden bieten:Anfang einmal den Beispielcode für die Hinderniserkennung und -vermeidung an. Die Erklärung die einzelnen Schritte sind in den Kommentaren im Code.
#-------------Setup----------------
import Ed
Ed.EdisonVersion = Ed.V2
Ed.DistanceUnits = Ed.CM
Ed.Tempo = Ed.TEMPO_MEDIUM
#--------Your code below-----------
# Bis hierhin sollte nichts an dem Code verändert werden.
# Der Edison erkennt Hindernisse mithilfe von Infrarotlicht. Dazu hat
Ed.ObstacleDetectionBeam(Ed.ON)
#set up veriables
SideTurn = 0
obstacle = 0
#loop forever
while True:
#start Edison driving, without a duration, so Edison is moving while checking for obstacles
Ed.Drive(Ed.FORWARD, Ed.SPEED_5, Ed.DISTANCE_UNLIMITED)
#read obstacle detection state into a variable
obstacle = Ed.ReadObstacleDetection()
#check if any obstacle has been detected
if obstacle>Ed.OBSTACLE_NONE:
#turn on both LEDs and back up
Ed.LeftLed(Ed.ON)
Ed.RightLed(Ed.ON)
Ed.PlayBeep()
Ed.Drive(Ed.BACKWARD, Ed.SPEED_5, 3)
#look at where the obstacle is and turn away from it (if obstacle ahead turn a random direction)
if obstacle==Ed.OBSTACLE_LEFT:
Ed.Drive(Ed.SPIN_RIGHT, Ed.SPEED_5, 90)
elif obstacle==Ed.OBSTACLE_RIGHT:
Ed.Drive(Ed.SPIN_LEFT, Ed.SPEED_5, 90)
elif obstacle==Ed.OBSTACLE_AHEAD:
if SideTurn ==1:
Ed.Drive(Ed.SPIN_RIGHT, Ed.SPEED_5, 90)
else:
Ed.Drive(Ed.SPIN_LEFT, Ed.SPEED_5, 90)
#after the obstacle has been avoided turn the LEDs off
Ed.LeftLed(Ed.OFF)
Ed.RightLed(Ed.OFF)
#change the direction varible, when no obstacle is being detected, this value changes rapidly, giving a sudo random direction when used
if SideTurn==1:
SideTurn=0
else:
SideTurn=1