Sonntag, 2. Dezember 2018

Hardware PWM mit dem Raspberry

Hardware PWM mit dem Raspberry Pi:


Allgemein Hardware:

http://www.codecubix.eu/index.php/2018/05/29/dark-side-of-the-raspberry-pi/

WiringPi:

http://wiringpi.com/
https://www.raspiprojekt.de/anleitungen/10-wiringpi.html?showall=1&limitstart
Erste Erkenntnis: Bei den neueren Versionen von Raspberian ist wiringpi schon vorinstalliert
Test:
In Eingabe-Shell (schwarze Kasten mit blauen Strich und dem Zeichen >_

pi@raspberry:~ $ gpio -v

Nun Kommt Version und Author und so weiter.

Über den folgenden Befehl könnt Ihr Euch den aktuellen Status Euers Ports anschauen:

pi@raspberry:~ $ gpio readall


Ein erste Beschreibungen mit einer LED/Motor findet Ihr unter:


http://blog.simtronyx.de/raspberry-pi-led-mit-ajax-und-pwm-dimmen/
https://raspi.tv/2013/how-to-use-wiringpi2-for-python-with-pull-ups-or-pull-downs-and-pwm
https://www.raspberrypi.org/forums/viewtopic.php?t=25679

Feststellung: Der Scheiß geht nicht so!!!

Nächste Versuch mit GPIO:
Hier ein paar Tutorials (SW-PWM):
https://forum-raspberrypi.de/forum/thread/7193-rgb-led-steuerung-mit-hardware-pwm/
https://www.youtube.com/watch?v=9tActipVqIM



Hinweis: Verlassendes Programms über KeyboardInterrupt mit: Strg+c

So, da es anscheinend nur Mist im Internet gibt, möchte ich das Internet auch mit meinem Mist belästigen:
Was geht, ist eine SW-PWM die mit den Pfeiltasten (oben/unten) im Dutycycle verändert werden kann.
Was nicht geht, eine adäquates verlassen des Programms:

import RPi.GPIO as GPIO
import time
import pygame, sys
from pygame.locals import *

pygame.init()
BLACK = (0,0,0)
WIDTH = 100
HEIGHT = 100
windowSurface = pygame.display.set_mode((WIDTH, HEIGHT), 0, 32)

windowSurface.fill(BLACK)

x = True

GPIO.setmode(GPIO.BCM)

blinkCount = 3
cycle = 50
LEDPin = 18
freq = 50

GPIO.setup(LEDPin, GPIO.OUT)
p = GPIO.PWM(LEDPin,freq)

p.start(cycle)

try:
while x:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
key = event.key
if key == pygame.K_DOWN:
cycle = cycle - 1
if cycle < 0:
cycle = 0

p.ChangeDutyCycle(cycle)
print(cycle)
time.sleep(0.2)

if event.type == KEYDOWN:
key = event.key
if key == pygame.K_UP:
cycle = cycle + 1
if cycle > 100:
cycle = 100

p.ChangeDutyCycle(cycle)
print(cycle)
time.sleep(0.2)

if event.type == KEYDOWN:
key = event.key
if key == pygame.K_q:
p.stop()
x = False
except KeyboardInterrupt:
pass

p.stop()
GPIO.cleanup()

Sonntag, 18. März 2018

Verbindung per SSH

Verbindung per SSH herstellen.
Man möchte z.B. mit einem PC oder Laptop zu seinem Raspberry Pi eine Verbindung herstellen.
Weil der Raspberry Pi zwar Strom und Internetverbindung hat aber kein Bildschirm und oder Tastatur.

Das ganze ist super erklärt unter:
https://www.elektronik-kompendium.de/sites/raspberry-pi/1906281.htm

Achtung:
Hostname ist nicht User Name!

z.B. unter Raspi-Konfigurieren => SSH aktiviert und Hostname: mypi

D.h., mit z.B. PuTTy über einen Windowsrechner anmelden:
Host: mypi   Port 22

login as: pi
pi@mypi's password: ******** (Dein Password)