Hardware PWM mit Wiringpi2

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
yoyoba
User
Beiträge: 14
Registriert: Mittwoch 6. Januar 2016, 21:34

Nabend alle zusammen,

ich habe bereits im Internet geschaut und auch bereits in einem weiteren Forum ein Thema geöffnet, finde aber einfach keine Lösung für mein Problem. Folgendes: Ich möchte den Hardware-PWM Ausgang des R-Pi verwenden, hierfür habe ich mir die nötigen Dateie besorgt (https://github.com/Gadgetoid/WiringPi2-Python). Mein Code sieht folgendermaßen aus:

Code: Alles auswählen

import wiringpi2 as gpio
import time

gpio.wiringPiSetupGpio ()

gpio.PinMode(18,2)


while True:
   gpio.pwmWrite(18, 0)
   for n in range (0, 1024):
       gpio.pwmWrite (18,n)
       time.sleep(0.02)
Nun öffnet sich die klassische Shell mit der Antwort:

>>> ================================ RESTART ================================
>>>


>>> ================================ RESTART ================================
>>>


Er bricht das Programm einfach ab. Also habe ich mal geschaut bis wohin das Programm denn arbeitet, mit folgendem Code:

Code: Alles auswählen

import wiringpi2 as wiringpi
import time
print("1")
wiringpi.wiringPiSetupGpio()
print("2")
wiringpi.PinMode(18,2)


while True:
   wiringpi.pwmWrite(18, 1024)
   print("3")
Folgendes Ergebnis:

>>> ================================ RESTART ================================
>>>
1

>>> ================================ RESTART ================================
>>>


Somit weiß ich nun, er beendet das Programm nach "wiringpi.wiringPiSetupGpio()" .

Ich habe die Installationsanweisungen exakt befolgt, auch der Test mit den Kommandos:
sudo python
import wiringpi2
wiringpi2.piBoardRev()

verlief einwandfrei!
Egal ob ich mit Python 3.4.2 oder mit Python 2.7.9 das Programm ausführe, immer das selbe Problem.

Jemand eine Idee woran das liegen könnte, bzw. wie ich das beheben kann?

Ich bedanke mich im Voraus vielmals.

Yoyoba
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

falls jemand die Lösung hat könnte er die auch im Raspi-Forum posten. Da gibt's nämlich exakt den gleichen Thread: http://www.forum-raspberrypi.de/Thread- ... rdware-pwm :-)

Gruß, noisefloor
yoyoba
User
Beiträge: 14
Registriert: Mittwoch 6. Januar 2016, 21:34

Hallo,

Nunja ich habe doch direkt an Anfang geschrieben das ich das Thema bereits in einem anderen Forum gepostet habe. Ich wollte eigentlich damit nicht drängeln, indem ich direkt mehrere Threads öffne, da ich halt nach etwa 24h keine Antwort hatte und es doch ein wenig eilt dachte ich, dass ich hier einmal Anfrage.

Gruß
BlackJack

@yoyoba: Was heisst denn „die nötigen Dateien besorgt“? Wie hast Du das installiert? Sind die Abhängigkeiten erfüllt? Was passiert wenn Du das nicht in einer IDE sondern normal in einem Terminal startest?
yoyoba
User
Beiträge: 14
Registriert: Mittwoch 6. Januar 2016, 21:34

Hallo BlackJack,

Danke für die Antwort, grade ausprobiert, im Terminal funktioniert es, die LED leuchtet auch :D

Also mit "die nötigen Dateien besorgt" meine ich, dass ich das gesamte Verzeichnis habe ich heruntergeladen und installiert nacht folgendem Link: http://raspi.tv/how-to-install-wiringpi ... spberry-pi bzw. für Python 3 mit folgendem Befehl: sudo python3 setup.py install

Wie meinst du das, dass alle Abhängigkeiten erfüllt sind?


Ich befüchte langsam, dass ich irgendwas doppelt heruntergeladen habe und er im Terminal etwas öffnet, dass funktioniert und bei IDLE etwas öffnet was nicht arbeitet. Habe an dem Abend einen langen mühsamen Kampf gehabt das alles hinzubekommen, weil nicht alles auf Anhieb funktioniert hatte...


Danke
BlackJack

@yoyoba: Mit Abhängigkeiten meinte ich alles was man da vorher installieren muss. Unter „Dateien besorgen“ verstehen manche Leute auch einfach nur die Dateien dort herunterladen und sie irgendwo hin kopieren statt wie beschrieben zu installieren. Darum hatte ich vorsichtshalber nachgefragt.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

wiring pi lässt sich auch via pip installieren - dann ist normalerweise wenigsten sicher gestellt, dass alle anderen benötigten Pakete mit an Bord sind.

Gruß, noisefloor
yoyoba
User
Beiträge: 14
Registriert: Mittwoch 6. Januar 2016, 21:34

Hm, wie sieht denn der Befehl für Python 3 fürs pip aus?
Ich hatte folgenden verwendet:
sudo apt-get install python-dev python-pip
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

kommt drauf an :-)

Für Python 3 musst du das Paket `python3-pip` installieren und der Befehl für pip lautet dann `pip3 install wiringpi2`

Ab Python 3.4 ist aber pip auch mit an Bord, d.h. es geht auch `python3 -m pip install wiringpi2`

Wenn du wiringpi2 systemweit installieren willst, brauchen beide Befehle root-Rechte.

Und wenn wiringpi2 noch irgendwelche in C geschriebene Sub-Module kompiliert brauchst du ziemlich sicher noch die Pakete `build-essential` und evtl `python3-dev`.

Und es ist vorher vielleicht ratsam, da bestehende Installation zu entfernen, um eventuelle Konflikte zu vermeiden.

Gruß, noisefloor
Antworten