電子工作 LM393+AVR(ATtiny2313) Auto Light Controlの実験

当サイトの車両は車齢30年にも満たない若輩車ですがサビ具合だけはそれ以上に見えます。いわゆるただのポンコツ車ですが4月より新型の乗用車はオートライトが義務化されるということもあり当サイトでも検討してみることにしました。

オートライト仕様

JAFによるオートライトのテスト検証ページがあります。
https://jaf.or.jp/common/safety-drive/car-learning/safety-light/autolight-test
現状の使い方をそのままを+オートライト仕様にするには少々面倒な作業になりそうです。
通常走行はオートライトONで全ての操作が可能を目標とし、手持ちのLM393(CDS)とATtiny2313でコントロールしてみる事にします。
薄暮時ポジションランプ点灯5S 消灯2S
本点灯ヘッドライト、ポジション点灯0.8S 消灯2S
点灯時のハイ切り替えはパッシングの長押し(Pull)0.6S パッシングショート解除
コントロール基板に2個のSWを設けそれぞれローのみ消灯、ローポジション消灯(トグル)
エンジン停止時は点灯しない。
万一不具合があった場合は簡単に元の回路に戻せるようにします。

オートライト回路 プログラム

auto-light.pdf

現状の回路はリレーキットを組んでありLまたはRのH4ソケットにプラグを差し込んでL,Hリレーを動作させ左右に振り分ける単純な回路です。
回路はソケット、プラグの入出力を一旦AVRに接続してコントロールします。マニュアル操作もAVR経由でコントロールすることになります。
ポジションランプのコントロールはリレーを追加して既存の回路に割り込ませます。
万一の場合はソケット、プラグを直結することで元のとおりになります。

$ avr-gcc -mmcu=attiny2313 -Wall -Os autolight.c
$ avr-objcopy -O ihex -R .eeprom a.out autolight.hex
$ avrdude -p t2313 -U flash:w:autolight.hex:a


autolight.c

MCUはピン数、サイズ、手持ちの関係からATtiny2313を用いました。
オルタネーターから交流を取り出し整流して始動信号(E-Run)としています。(エンジン停止時オートライトOFF)
PD1(H)オートライトオン 信号が無い場合は10Kでプルアップしておくかプログラムを変更しておきます。

作成


センサは手持ちのLM393(CDS)を使います。AVRでもコンパレーターまたはADCでも可能と思いますが今回はコントロールに徹して問題があれば再度考慮。


LM393は1回路遊んでいるので薄暮時のポジションランプ点灯用に増設します。


絶縁して張り合わせます。


赤SWでLOW消灯、モニタLED(緑)点滅
黃SWでLOW、POSITION消灯、モニタLED(橙、緑)点滅
再度押すと解除、赤SWは黃SWモードも解除


47mmx37mmサイズ


書き込みはlinuxgpioを使っています。
回路は5V動作ですが書き込みは3.3Vとなるため外部から5Vを加えないようにします。


実際に12Vを加えてリレーの動作テスト

取り敢えず机上のテストではほぼ希望通りの動作をしているようです。

Raspberry Pi Zero moOde audio 6.5.2

moOde audio 6.5.2に更新されています。

当サイトの使い方ではI2Sデバイスとライブラリの更新以外はほとんどデフォルトの状態なので目立った変更箇所は気が付きませんでした。


更新手順は650で使ったファイルをそのまま利用しています。
古いSDカード(8GB)3枚を使って順次更新しています。現在手元には650,651,652の運用可能なカードがあります。
最悪更新に失敗しても1枚は正常なカードが手元に残ります。


zipファイルのダウンロードは少し時間がかかりますがインストール時間はライブラリの更新まで30分位ダウンロード、カード作成を含めても1時間位で終了します。

使い方はいろいろですが新たにmoOde audioを構築、拡張する際はPulseAudioから設定するのがいいと思います。
pulseaudio、作成したpulse.phpを設定起動するとほかのマシンからの音楽、動画の音声を接続します。
pulse.phpはmoOde audioのwebサーバーを利用しているのでXは必要としません。
moOde audioはpulse.phpからpulseaudioをスタートして接続待ち、Pi4は~/.config/pulse/client.confをmoOde audioに向けています。
(クライアント側はpulseaudioをインストールclient.confを設定、pulseaudioはスタートする必要はありません)

moOdeをXなしで構成する際はpavucontrolをXのあるクライアントで起動しておきます。


サイマルラジオのpython-tkはXを必要とするためX環境を構築する必要があります。
vnc以外にもssh -Xで特定のアプリケーションを呼び出すことができます。

$ ssh -X moode simul.py

ssh設定、パス、名前解決など出来ていれば簡単に接続できます。


moOde audioのpulseaudio再生はpavucontrolで見ると出力装置(I2Sデバイス)が内部オーディオステレオとして認識します。ここがダミーになっていると正常に認識されてなく(puseaudioスタートしてない)100%で出力します。
アンプから音出しする前にラジコから自動で正常にpulseaudioがスタートすることを確認する必要があります。設定に間違いが無ければ以降は正常に切り替え、スタートするはずです。


最後にmoOde audio自身からpulseaudio経由で再生するラジコなどを設定、確認して完成です。

Raspberry Pi Zero moOde audio 6.5.1

moOde audio 6.5.1
timelineとvolumeの枠の大きさが修正されていますね。(Timさんありがとう)


やはりこの大きさがいいですね。


いつものスタイル


ライブラリの更新はアルバムジャケットも同時に更新されます。


サイマルラジオ


ラジコ
サイマルラジオからは基本設定が正しければpulseaudio(start – kill)を気にせず切り替えが可能です。
設定作業は気を付けて!

Raspberry Pi Zero moOde audio 6.5.0

moOde audio 6.5.0がリリースされています。
http://moodeaudio.org/forum/showthread.php?tid=2416
Raspbian Buster Lite 10.3(2020-02-13) Linuxカーネル4.19.115ビルド#1305
今回はボリューム廻り及びメニューに変更が入っていますね。

当サイトのraspberry pi zero + 6.4.2は特に問題なく稼働しています。
6.4.2で設定したファイルを以前と同様の手法でコピー、6.5.0を新規インストール
WiFiのノイズ問題はTDA1543特有の現象と思われるため今回はwpa_supplicantまたbluetoothを活かしています。その他動かないサービス、不要なサービスは以前と同様削除、停止しています。
(zeroはWiFiそしてbluetoothも無いのですが)

$ wget https://github.com/moode-player/moode/releases/download/r650prod/moode-r650-iso.zip
$ md5sum moode-r650-iso.zip
1312b6dc3d9cdc1e53553652d216b003  moode-r650-iso.zip
$ unzip moode-r650-iso.zip

展開したmoode-r650-iso.imgでカードを作成
書き込んだカードのルート(“/”)に以下のファイルを作成(環境によって変更、追記)
カードを現稼働中(6.4.2)のUSBポートに差し込んでマウント
マウントしたカードに移動して実行

$ sudo -i
# mount /dev/sda2 /media
# cd /media
# sh moode-r650-config.txt

moode-r650-config.txt

#!/bin/sh
cp /etc/passwd ./etc
cp /etc/shadow ./etc
cp /etc/group ./etc
cp /etc/gshadow ./etc
cp /etc/sudoers ./etc

cp -Rp /var/www/html ./var/www
rm -r ./var/www/html/www-data/.config/pulse
cp -r /etc/ssh ./etc/ssh.bak
cp /etc/dhcpcd.conf ./etc/dhcpcd.conf
#cp /etc/wpa_supplicant/wpa_supplicant.conf ./etc/wpa_supplicant
cp /etc/default/locale ./etc/default
cp /etc/locale.gen ./etc
cp /etc/rc.local ./etc
cp /etc/init.d/vncboot ./etc/init.d
cp /usr/local/bin/dwm ./usr/local/bin
cp /etc/dphys-swapfile ./etc
cp -r /etc/fonts ./etc

mv ./home/pi ./home/pi.def
cp -rp /home/pi ./home


必要なファイルをコピーしたらシャットダウンして6.5.0のカードで起動
同様に以下のファイルを作成して実行(最初に作成していてもOK)
(必要な設定はsedで追記しているので環境によっては書き換え、またはコピーの必要あり)
# 画像のmoode-r650-iso.imgは空ファイル

# cd /
# sh moode-r650-setup.txt

moode-r650-setup.txt

#!/bin/sh
# locale
locale-gen
# Timazone
timedatectl set-timezone Asia/Tokyo

apt update
apt -y purge chromium-browser
apt -y purge make gcc
apt -y purge udisks udisks2 hostapd minidlna
echo "--- autoremove ---"
apt -y autoremove
echo "--- install ---"
apt -y install tcsh lv vim
apt -y install tightvncserver autocutsel
apt -y install ranger highlight
apt -y install pulseaudio pavucontrol ncmpcpp
apt -y install xbindkeys python3-tk suckless-tools
apt -y install mpv mplayer swftools libxml2-utils rtmpdump
apt -y remove youtube-dl
curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
chmod a+rx /usr/local/bin/youtube-dl
echo "--- jp ---"
apt install -y fonts-ipafont fonts-ricty-diminished
apt install -y uim uim-anthy uim-xim uim-gtk2.0
# ssh
rm -r /etc/ssh
mv /etc/ssh.bak /etc/ssh
# pulseaudio
rm -r /var/www/html/www-data/.config/pulse
sudo -u www-data pulseaudio --start
sleep 1
cp -p /var/www/html/www-data/.config/client.conf /var/www/html/www-data/.config/pulse
cp -p /var/www/html/www-data/.config/default.pa /var/www/html/www-data/.config/pulse
# /etc/pulse/default.pa
sed -i -e '$a load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1' /etc/pulse/default.pa
sed -i -e '$a set-default-source alsa_output.platform-soc_sound.stereo-fallback.monitor' /etc/pulse/default.pa
sed -i -e '$a set-default-sink alsa_output.platform-soc_sound.stereo-fallback' /etc/pulse/default.pa
# mplayer
sed -i -e '$a cache = 100' /etc/mplayer/mplayer.conf
echo "--- systemctl ---"
systemctl enable vncboot
systemctl enable dphys-swapfile
systemctl disable keyboard-setup
echo "--- autoremove ---"
apt -y autoremove
sh -c 'echo -n "Hit Enter key to reboot..."; read x'
reboot


i2sデバイス、ライブラリを適当なところで組み込んでおきます。

ボリューム廻りが使いやすくなっています。
UPは10%刻み、DOWNは任意の値に変更できます。


RadioやAlbumは左上のLibraryから選択できます。


CSSが変更になったせいかブラウザを小さくしていくとタイムーテーブル、ボリュームのサークルが小さかったりサイズが合わなくなったりします。
(Jazz24の画像ロゴは差し替えています)


サイマルラジオ、ラジコ、PulseAudioは全く変わりなく使用することができます。

Tag Editor Kid3

moOde playerにアルバムを登録するにはタグ付けが必要になります。
今回はm4a(AAC)にタグ付けをしてお気に入りのアルバムを作成、コロナショックを乗り切って行こうと思います。
素材の収集については画像、コマンドから判断して下さい。(オフレコです)


topic ?
できるだけ同じ条件で作成されたファイルを集めます。


youtube-dl -f m4a

<< coment 〜 coment (コメント)

Beyond_The_Missouri_Sky

<< coment
# Charlie Haden & Pat Metheny - Beyond The Missouri Sky (Short Stories)
1997
Jazz
1.Waltz For Ruth 4:28
2.Our Spanish Love Song 5:40
3.Message To A Friend 6:13
4.Two For The Road 5:16
5.First Song (For Ruth) 6:37
6.The Moon Is A Harsh Mistress 4:05
7.The Precious Jewel 3:47
8.He's Gone Away 4:18
9.The Moon Song 6:56
10.Tears Of Rain 5:30
11.Cinema Paradiso (Love Theme) 3:35
12.Cinema Paradiso (Main Theme) 4:24
13.Spiritual 8:22
coment

youtube-dl -f m4a gcNeA1yZhAs
youtube-dl -f m4a hUGqQyg4N8M
youtube-dl -f m4a kdkba_CFODM
youtube-dl -f m4a fX7Ez7KWDTg
youtube-dl -f m4a Kd_VClSt4CM
youtube-dl -f m4a 8cnSs9JXj-k
youtube-dl -f m4a CbGy_Vf1HgU
youtube-dl -f m4a UjYtokbzSQ4
youtube-dl -f m4a 1K4pwD2c6uI
youtube-dl -f m4a lTlNRXEQCUg
youtube-dl -f m4a RdyQ66JQWyM
youtube-dl -f m4a 6VwPYlQLtnI
youtube-dl -f m4a Gh0G2uu_xSQ

ダウンロード

$ sh Beyond_The_Missouri_Sky

ダウンロードに失敗するファイルは

youtube-dl -f m4a "https://youtu.be/xxxxxxxxxxx"


ダウンロードしたファイルはファイル名を変更して曲順に並べておくと編集が楽です。

Kid3

RaspbianからインストールできるKid3はKid3(KDE)とkid3-qtがあります。
kid3-coreは共通なので機能に違いはありません。
当サイトでは依存関係の少ないkid3-qtを使っています。

Kid3(KDE)

# apt install kid3

メニューが一部日本語化される


kid3-qt

# apt install kid3-qt


ファイルを開いたらタグ付けする全ファイルを選択
Title(曲名)とTrack Numberを除いた項目を入力してCopyをクリック


Title(曲名)をコピーTrack Numberを入力


全て打ち込んだらまた全曲選択、Saveして終了

moOde player


データベースupdate
ファイルはmoOde audioのMusic Sourcesへ
アルバムジャケットは同じディレクトリに放り込んでおきます。


ジャンルによってはいい教材が落ちています。
ffmpegからは音量の変更や切り貼り等も可能です。勉強がてら自分だけのアルバム作成も可能です。
教材については自己判断、自己責任、個人利用で!!!

Top