#picaxe28x1 #no_table #no_data symbol w_batterie=b0 symbol w_vorne=b1 symbol w_hinten=b2 symbol a_vorne=b3 symbol a_hinten=b4 symbol w_dummy=b5 symbol w_vorne_links=b6 symbol w_vorne_rechts=b7 symbol w_hinten_links=b8 symbol w_hinten_rechts=b9 symbol w_zaehler=b10 symbol id_entfernung=0 symbol ia_entf_vorne=0 symbol ia_entf_hinten=1 symbol ia_batterie=2 init: main: debug ' messservo in die mitte servo id_entfernung,150 ' motor anhalten halt a halt b ' zaehler richtungsänderung w_zaehler=w_zaehler+1 ' sensoren ' energie readadc 2,w_batterie ' vorne readadc 0,w_vorne ' hinten readadc 1,w_hinten ' dummy readadc 3,w_dummy ' debug info if pin0=1 then sertxd("sensor data battery ",#w_batterie," top ",#w_vorne," back ",#w_hinten,13,10) endif ' verarbeitung ' ernergie erholen if w_batterie<127 then goto main endif ' vorne platz if w_vorne<64 then a_vorne=1 else ' vorne kein platz a_vorne=0 ' links messen servo id_entfernung,100 readadc 0,w_vorne_links ' rechts messen servo id_entfernung,200 readadc 0,w_vorne_rechts if pin0=1 then sertxd("top zero left ",#w_vorne_links," rigth ",#w_vorne_rechts,13,10) endif endif ' hinten platz if w_hinten<64 then a_hinten=1 else ' hinten kein platz a_hinten=0 ' links messen servo id_entfernung,200 readadc 1,w_hinten_links ' rechts messen servo id_entfernung,100 readadc 1,w_hinten_rechts if pin0=1 then sertxd("back zero left ",#w_hinten_links," rigth ",#w_hinten_rechts,13,10) endif endif ' debug info if pin0=1 then sertxd("status top ",#a_vorne," back ",#a_hinten,13,10) endif ' aktoren if pin0=1 then sertxd("direction ") endif if a_vorne=1 then ' debug info if pin0=1 then sertxd("forward",13,10) endif forward a forward b endif if a_vorne=0 and a_hinten=1 then ' debug info if pin0=1 then sertxd("backward",13,10) endif backward a backward b endif if a_vorne=0 and a_hinten=0 then ' debug info if pin0=1 then sertxd("halt",13,10) endif halt a halt b endif goto main