Folgende Warnungen sind aufgetreten:
Warning [2] Undefined variable $unreadreports - Line: 34 - File: global.php(961) : eval()'d code PHP 8.2.2 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/global.php(961) : eval()'d code 34 errorHandler->error_callback
/global.php 961 eval
/showthread.php 28 require_once
Warning [2] Undefined property: MyLanguage::$thread_modes - Line: 43 - File: showthread.php(1621) : eval()'d code PHP 8.2.2 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php(1621) : eval()'d code 43 errorHandler->error_callback
/showthread.php 1621 eval




Themabewertung:
  • 4 Bewertung(en) - 4.75 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Diskussionsthread - CarPi/CarPC Image 2015 (Raspbian Wheezy, Kodi 14.1)
Was nehmt ihr für Rotary Encoder? Oder gar keine?

Ich habe diese hier (http://www.exp-tech.de/rotary-encoder-illuminated-rgb) bestellt, kriege sie aber irgendwie nicht zum Laufen. Angehängter Code (aus dem C-Code von https://www.raspberrypi.org/forums/viewt...09#p662694 übersetzt) ist zum Testen, aber wenn ich mir mit "print" mal Werte ausgeben lasse, sind die nur sehr sporadisch. Zum Einstellen der Lautstärke ist das äußerst ungeeignet.
Ich hatte mir dann auch noch die KY-040 (um genau zu sein diese hier: http://www.ebay.de/itm/221729153075) bestellt, die funktionieren zumindest mit dem Skript von Andrei. Aber dafür habe ich noch keine Aufsätze gefunden.

Habt ihr einen Tipp für mich?



Code:
import RPi.GPIO as GPIO
import time

ENCODER_A = 24
ENCODER_B = 23
BUTTON = 25
RED = 22
BLUE = 17
GREEN = 27

encoderPos = 0
colorRed = 0
colorGreen = 0
colorBlue = 0
adjustMode = 0


def encoderPulse(pin):
   global encoderPos
   inc = 0
   other = 0

   if pin == ENCODER_A:
       other = GPIO.input(ENCODER_B)
       inc = GPIO.input(ENCODER_A)
   elif pin == ENCODER_B:
       other = GPIO.input(ENCODER_A)
       inc = -GPIO.input(ENCODER_B)

   if other > 0:
       encoderPos += inc
   if other > 0:
       encoderPos += inc
   else:
       encoderPos -= inc

   if encoderPos < 0:
       encoderPos = 0
   if encoderPos > 255:
       encoderPos = 255


def buttonPress(pin):
   global adjustMode, colorRed, colorGreen, colorBlue, encoderPos
   adjustMode += 1

   if adjustMode == 0:
       encoderPos = colorRed
   elif adjustMode == 1:
       encoderPos = colorGreen
   elif adjustMode == 2:
       encoderPos = colorBlue
   else:
       adjustMode = 0


def main():
   global adjustMode, colorRed, colorGreen, colorBlue, encoderPos
   pos = 0

   colorRed = 80
   colorGreen = 180
   colorBlue = 190
   adjustMode = 0

   pos = colorRed
   encoderPos = pos

   GPIO.setmode(GPIO.BCM)
   GPIO.setwarnings(False)

   GPIO.setup(ENCODER_A, GPIO.IN, pull_up_down=GPIO.PUD_UP)
   GPIO.setup(ENCODER_B, GPIO.IN, pull_up_down=GPIO.PUD_UP)
   GPIO.setup(BUTTON, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

   GPIO.setup(RED, GPIO.OUT)
   GPIO.setup(BLUE, GPIO.OUT)
   GPIO.setup(GREEN, GPIO.OUT)

   GPIO.PWM(RED, 255 - colorRed)
   GPIO.PWM(BLUE, 255 - colorBlue)
   GPIO.PWM(GREEN, 255 - colorGreen)

   GPIO.add_event_detect(ENCODER_A, GPIO.BOTH, callback=encoderPulse)
   GPIO.add_event_detect(ENCODER_B, GPIO.BOTH, callback=encoderPulse)
   GPIO.add_event_detect(BUTTON, GPIO.BOTH, callback=buttonPress)

   while 1:
       if pos != encoderPos:
           pos = encoderPos
           if adjustMode == 0:
               colorRed = pos
           elif adjustMode == 1:
               colorGreen = pos
           elif adjustMode == 2:
               colorBlue = pos
           else:
               adjustMode = 0

           GPIO.PWM(RED, 255 - colorRed)
           GPIO.PWM(GREEN, 255 - colorGreen)
           GPIO.PWM(BLUE, 255 - colorBlue)

       time.sleep(0.02)

   GPIO.cleanup()


main()


Nachrichten in diesem Thema
Dringend Hilfe benötigt - von virtual86 - 07.03.2015, 21:36
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 27.03.2015, 20:31
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 27.03.2015, 21:03
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 05.04.2015, 11:44
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 05.04.2015, 13:56
CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 06.04.2015, 01:56
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 06.04.2015, 15:25
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 06.04.2015, 15:43
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 06.04.2015, 18:32
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 06.04.2015, 20:10
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 07.04.2015, 05:28
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 08.04.2015, 04:29
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 08.04.2015, 11:11
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 22.06.2015, 14:50
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 22.06.2015, 15:16
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von OP3LDOC - 23.06.2015, 03:13
RE: CarPi / CarPC mit Image von Andrei Istodorescu - von armybean - 07.08.2015, 18:38

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 20 Gast/Gäste
RasPiCarProjekt