Trädvy Permalänk
Medlem
Registrerad
Nov 2014

Python Raspberry pi fel i kod

Hej Skulle behöva lite hälp med min Python kod som jag inte får i hop.

kod:
[
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)

GPIO.setup(10, GPIO.IN)

GPIO.setup(7,GPIO.OUT)

p = GPIO.PWM(7,50)
p.start(7.5)

try:

while True:
if ( GPIO.input(10) == False ):

p.ChangeDutyCycle(12.5)
time.sleep(1)
p.ChangeDutyCycle(2.5)
time.sleep(1)
else:

except KeyboardInterrupt:
p.stop()
GPIO.cleanup()
]

det hela handlar om att en servo motor ska snurra 180 grader när en knapp är tryckt men får fel på Första p.Changedutycycle

Trädvy Permalänk
Medlem
Plats
127.0.0.1
Registrerad
Apr 2010
Skrivet av Densvenske:

Hej Skulle behöva lite hälp med min Python kod som jag inte får i hop.

kod:

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)

GPIO.setup(10, GPIO.IN)

GPIO.setup(7,GPIO.OUT)

p = GPIO.PWM(7,50)
p.start(7.5)

try:

while True:
if ( GPIO.input(10) == False ):

p.ChangeDutyCycle(12.5)
time.sleep(1)
p.ChangeDutyCycle(2.5)
time.sleep(1)
else:

except KeyboardInterrupt:
p.stop()
GPIO.cleanup()

det hela handlar om att en servo motor ska snurra 180 grader när en knapp är tryckt men får fel på Första p.Changedutycycle

Har du testat koden direkt exekverad via python? Kräver din kod sudo?

Citera om du vill ha svar, hjälpte jag dig, gilla svaret!

Trädvy Permalänk
Medlem
Registrerad
Nov 2014
Skrivet av freddyfresh:

Har du testat koden direkt exekverad via python? Kräver din kod sudo?

Tjenare löste de med att flytta in koden under if statementet. Dock har jag ett annat problem nu. Det är att när min servo inte körs så surrar den. Vad kan detta bero på?

Skickades från m.sweclockers.com

Trädvy Permalänk
Medlem
Plats
127.0.0.1
Registrerad
Apr 2010
Skrivet av Densvenske:

Tjenare löste de med att flytta in koden under if statementet. Dock har jag ett annat problem nu. Det är att när min servo inte körs så surrar den. Vad kan detta bero på?

Skickades från m.sweclockers.com

Min första gissning hade varit att det fortfarande ligger aktivitet/kontakt med GPIO-pin som används. Stänger skriptet verkligen ner allt och kastar vad den använt när den är klar? Tror dock GPIO.cleanup() ska klara att göra det.

Citera om du vill ha svar, hjälpte jag dig, gilla svaret!

Trädvy Permalänk
Entusiast
Testpilot
Plats
Chalmers
Registrerad
Aug 2011
Skrivet av Densvenske:

import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BOARD) GPIO.setup(10, GPIO.IN) GPIO.setup(7,GPIO.OUT) p = GPIO.PWM(7,50) p.start(7.5) try: while True: if ( GPIO.input(10) == False ): p.ChangeDutyCycle(12.5) time.sleep(1) p.ChangeDutyCycle(2.5) time.sleep(1) else: except KeyboardInterrupt: p.stop() GPIO.cleanup()

Omslut alltid kod med [code], så blir den indenterad och formaterad så att det går att läsa den.

5930K • Corsair DP 32 GiB • EVGA GTX 980 • 2x Swift PG278Q
Better SweClockersDisplayPort över USB-C

Köp processor för framtiden™, men inte grafikkort.

Trädvy Permalänk
Medlem
Registrerad
Nov 2014
Skrivet av freddyfresh:

Min första gissning hade varit att det fortfarande ligger aktivitet/kontakt med GPIO-pin som används. Stänger skriptet verkligen ner allt och kastar vad den använt när den är klar? Tror dock GPIO.cleanup() ska klara att göra det.

Ja man tycker ju det dock ska den ju loopa hela tiden kanske ska vara någon mer clean up