• verbatim
  • Registratie: November 2010
  • Laatst online: 17-01-2024
Hallo tweakers,

De GoPiGo is een klein robotje op wielen.
De API functies daarvan staan hier: http://www.dexterindustri...-the-raspberry-pi-gopigo/

Ik ben sinds gisteren bezig met het dummieboek beginning program with python.
En nu ben ik een beetje bezig met spelen van de while functie en de if functie.
Nu wil ik in onderstaand script dat als us_dist(15) kleiner is dan mindist dat de wielen achteruit gaan. Echter gaan de wielen vooruit en niet achteruit als de distence sensor een object tegenkomt.
Weet iemand een oplossing hiervoor ?
Het mag eventueel ook met een if functie gebeuren.

Thanks


from gopigo import *
import time

set_right_speed(150)
set_left_speed(55)
fwd()
mindist=20
while us_dist(15) < mindist:
bwd()
stop()

  • acemoo
  • Registratie: Maart 2006
  • Laatst online: 08:57
Zet je code even in [code] tags aub, dat maakt het een stuk leesbaarder.
Wat is de waarde van us_dist(15)?
Kan je een print us_dist(15) in je code zetten voor de while?

  • verbatim
  • Registratie: November 2010
  • Laatst online: 17-01-2024
br men schreef op woensdag 30 september 2015 @ 12:28:
Zet je code even in [code] tags aub, dat maakt het een stuk leesbaarder.
Wat is de waarde van us_dist(15)?
Kan je een print us_dist(15) in je code zetten voor de while?
Bedankt voor je reply.

Zoals je zei heb ik print us_dist(15) voor de while gezet maar nog geen resultaat.
De waarde van print us_dist(15) is 39.
Om het te testen houd ik mijn hand voor de distence sensor zodat de wielen dan achteruit gaan. En hoe kan ik de code in code tags zetten op het forum.

Thanks

[ Voor 3% gewijzigd door verbatim op 30-09-2015 13:18 ]


  • acemoo
  • Registratie: Maart 2006
  • Laatst online: 08:57
Als de waarde van us_dist(15) 39 is, dan is de afstand dus groter als de mindist die 20 is.
Daarom ga je niet achteruit.
Code in code tags zetten doe je door een [code] er voor te zetten en een [/code] er achter.
code:
1
2
3
[code]
Je code hier.
[/code]

  • verbatim
  • Registratie: November 2010
  • Laatst online: 17-01-2024
Wat ik eigenlijk wil bereiken is dat als het robotje bijna tegen een obstakel komt dat het robotje dan achteruit gaat.
Maar met de onderstaande code krijg ik een foutmelding:
File "test01.py", line 17
bwd()
IndentationError: expected an indented block
^

Iemand een idee ?


[ code]
from gopigo import *
import time

set_right_speed(150)
set_left_speed(55)

enable_servo()
servo(175)
mindist=20

while True:
dist=us_dist(15)
fwd()
if dist < mindist:
bwd()
time.sleep(2)
stop()
break
[code/]

[ Voor 4% gewijzigd door verbatim op 30-09-2015 20:31 ]


  • r6turboextreme
  • Registratie: Juni 2012
  • Laatst online: 06-07 12:29
Er is een probleem met je indentatie. Python is een programmeertaal waarmee je loops of if statements kan sluiten met indentation. Ik zou een Python cursus nemen op www.codecademy.com wat zeer nuttig is. Je leert in een dag of 2 al basic python.

Met een beetje google ben ik tot deze link gekomen: http://stackoverflow.com/...w-can-i-stop-a-while-loop

Probeer eerst je error te googlen, bedenken wat het probleem eventueel kan zijn. Met 'trial and error' leer je veel meer dan ons hulp! :-)

[ Voor 35% gewijzigd door r6turboextreme op 30-09-2015 21:02 ]


  • verbatim
  • Registratie: November 2010
  • Laatst online: 17-01-2024
Bedankt voor je reply en ik had inderdaad ook al de error gegoogled.

Thanks
Pagina: 1