Permalänk

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

Permalänk
Medlem
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?

Visa signatur

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

Permalänk
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

Permalänk
Medlem
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.

Visa signatur

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

Permalänk
99:e percentilen
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.

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
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