MatsDy
Posts: 9
Joined: Thu May 16, 2013 8:57 am

DC motor

Mon May 27, 2013 4:06 pm

Ik ben bezig met de GPIO van de raspberry pi en ik wil graag een dc motor kunnen besturen
dus ik volg deze tutorial: http://learn.adafruit.com/adafruit-rasp ... r/hardware
met dit als python code:

Code: Select all

    import RPi.GPIO as io
    io.setmode(io.BCM)
     
    in1_pin = 4
    in2_pin = 17
     
    io.setup(in1_pin, io.OUT)
    io.setup(in2_pin, io.OUT)
     
    def set(property, value):
    try:
    f = open("/sys/class/rpi-pwm/pwm0/" + property, 'w')
    f.write(value)
    f.close()	
    except:
    print("Error writing to: " + property + " value: " + value)
    set("delayed", "0")
    set("mode", "pwm")
    set("frequency", "500")
    set("active", "1")
     
    def clockwise():
    io.output(in1_pin, True)
    io.output(in2_pin, False)
     
    def counter_clockwise():
    io.output(in1_pin, False)
    io.output(in2_pin, True)
     
    clockwise()
     
    while True:
    cmd = raw_input("Command, f/r 0..9, E.g. f5 :")
    direction = cmd[0]
    if direction == "f":
    clockwise()
    else:
    counter_clockwise()
    speed = int(cmd[1]) * 11
    set("duty", str(speed))
Maar telkens als ik het probeer te draaien krijg ik deze error:
Image
Volgens mij staat /sys/class/rpi-pwm/pwm0/ ook niet op de pi.
dit is hoe alles eruit ziet
Image

Het lukt me trouwens wel om de motor te laten draaien met dit script:

Code: Select all

import RPi.GPIO as gpio

gpio.setmode(gpio.BCM)
gpio.setup(4, gpio.OUT)
gpio.setup(17, gpio.OUT)

while True:
    gpio.output(4, gpio.HIGH)
    gpio.output(17, gpio.LOW)

User avatar
mahjongg
Forum Moderator
Forum Moderator
Posts: 13009
Joined: Sun Mar 11, 2012 12:19 am
Location: South Holland, The Netherlands

Re: DC motor

Mon May 27, 2013 5:47 pm

In het eerste stuk codes heb je een stuk of drie spaties staan voor elke regel, en in het tweede stuk code niet!
Zomaar extra spaties voor een regel zetten kan niet in python, want spaties geven de identatiediepte aan, dus hoe vaak een stuk code "genest" is in een conditional of loop.
De foutmelding is dan ook correct!

Heeft dus NIKS met je hardware te maken.

MatsDy
Posts: 9
Joined: Thu May 16, 2013 8:57 am

Re: DC motor

Mon May 27, 2013 6:05 pm

Ja je hebt gelijk ik denk ook niet dat aan de hardware ligt anders zou hij dat andere script ook niet pakken.
Maar ik heb de extra spacies weg gehaald en ik heb nog steeds de zelfde error

M4N3K1_N3K0
Posts: 2
Joined: Tue May 28, 2013 4:22 am

Re: DC motor

Tue May 28, 2013 4:27 am

De Python-code van je 2e voorbeeld is wel correct 'indented' code en de 1e niet. Zoals Mahjongg al zei: het heeft niets met je hardware te maken maar puur met je Python code. Daar waar je in andere programmeertalen blokken code markeert met bijvoorbeeld { en } gebruikt Python daar spaties voor. Lees anders even een goede Python-tutorial.

MatsDy
Posts: 9
Joined: Thu May 16, 2013 8:57 am

Re: DC motor

Wed May 29, 2013 12:19 pm

Ik hebt al bedankt voor de reacties!

Return to “Nederlands”