这是我使用软件PWM通过RPI进行LED褪色的尝试:
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
# set up GPIO pin for output
GPIOPin = 7
GPIO.setup(GPIOPin, GPIO.OUT)
# initialize PWM variable
RPWM = GPIO.PWM(GPIOPin, 100)
# start LED fading
RPWM.start(0)
try:
while 1:
for dc in range(0, 101, 5):
RPWM.ChangeDutyCycle(dc)
time.sleep(0.1)
for dc in range(100, -1, -5):
RPWM.ChangeDutyCycle(dc)
time.sleep(0.1)
except KeyboardInterrupt:
pass
RPWM.stop()
GPIO.cleanup()
但是我想做对数淡入淡出,以使淡入淡出过程看起来对人眼呈线性。
所以我发现类似y = pow(2, log2(b) * (x+1) / a) - 1
的东西,其中a
是步数,b
是pwm的分辨率。
但是我认为这不是正确的选择。
答案 0 :(得分:0)
主要问题是您只有100步衰落-甚至没有8位(256步)。
由于我是初学者,所以尝试了此方法:
scala> df.select(cols.map(col): _*).show
<console>:34: error: type mismatch;
found : String => org.apache.spark.sql.Column
required: org.apache.spark.sql.Column => ?
df.select(cols.map(col): _*).show
我以前用C做过16位衰落。有一篇关于该问题的文章,但其内容为德文: LED PWM fading