FPV-TANKの車体が概ね完成したので、pwm制御でLEDを調光してみました。
ラズパイ本体と、pca9685、USBのゲームコントローラーがあれば、このプログラムでLEDをコントローラーで光らせられますよ!
pca9685をまだインストールしていない方は、以下のリンクを見てみて下さい。
インストールが済んでいれば、このプラグラムでLEDの調光ができます。
import pygame
import Adafruit_PCA9685
# pygame初期設定
pygame.init()
joy = pygame.joystick.Joystick(0) # joystickのインスタンスを作成
joy.init() # joyの初期化
# PCA9685初期設定
pwm = Adafruit_PCA9685.PCA9685() # PCA9685のインスタンスを作成
pwm.set_pwm_freq(60) # PWMの周波数を60Hzに設定
Led = 0 #初期輝度(pwm値なので、0~4095)
while True:
if pygame.event.get():
Led = int((joy.get_axis(2) + 1)*2048) # 私のゲームコントローラーは、axis(2)がLTでした。
print('pwm",Led)
pwm.set_pwm(5, 0, Led) # 5chがヘッドライトのチャンネルになっています。
実行するとこんな感じです。
送っているpwm値とLEDの明るさが連動しているのが分かるでしょうか?
ラズパイ本体だけでもpwm制御は出来るのですが、pwm制御できるピンが1つしかなく、pwm信号をシュミレートするプログラム(ソフトウェアpwm)を使って、それ以上のpwmも出力できるのですが、私は専門職の子会社に任せてしまいました。
ただ、FPV-TANK としては、ヘッドライトは点灯と消灯の2パターンだけあれば良いので、アナログ軸は使わずに、ボタンで ON,OFF しています。
以上ヘッドライトで遊んでみた記事でした。
コメント