電車がGO!! 2024090 村上 昌也 2024091 望月 駿介
マトリックスLEDを用いて、電車が走っている 様子をアニメーションで表現する。 スイッチによりアニメーションを動作させる。 作品のコンセプト
回路図 VCC 10k R SW1-1 SW 1 2 3 4 5 6 7 8 TOM-1588BH-B GND-2 Vdd RA5/T1CKI/OSC1/CLKIN RA4/AN3/T1G/OSC2/CLKOUT RA3/MCLR/Vpp RC5/CCP1/P1A RC4/C2OUT/P1B RC3/AN7/P1C RC6/AN8/SS RC7/AN9/SDO 9 RB7/TX/CK 10 RB6/SCK/SCL 11 RB5/AN11/RX/DT 12 RB4/AN10/SDI/SDA 13 RC2/AN6/P1D 14 RC1/AN5/C12IN- 15 RC0/AN4/C2IN+ 16 RA2/AN2/T0CKI/INT/C1OUT 17 RA1/AN1/C12IN-/Vref/ICSPCLK 18 RA0/AN0/C1IN+/ICSPDAT/ULPWU 19 Vss 20 16F690 U 1.5k 回路図
マトリクスLEDの中段4列を出力 ポートに設定しておく。 スイッチに接続されたRA3==0の時 のみWhile文が動作するようにす る。 LEDに描画される図は縦4マス×(横 3マスの先頭車両および後尾車両+中 間の車両2両)である。 プログラムの疑似コード①
その動きをあらかじめ全て16進 数に変換してメモしておく。 PORTCがそれらすべての値を取 るように同じプログラム断片を何 度もコピペしPORTCの値のみを 変える。 プログラムの疑似コード②
電車の車両が複数連結しているのを 表現するため、for文を用いて同じ車 両を何度も描画できるようにした。 また、一度の描画にかける時間をt に置き換え、tの値を変えることで 電車が走る速度を調整しやすくし た。 プログラムの疑似コード③
特徴 16進数~2進数の変換 連続的な図の描画でアニメーションを制作し た。 01 00000001 03 00000011 01 00000001 03 00000011 07 00000111 0e 00001110 1d 00011101 3b 00111011 77 01110111 ee 11101111 特徴
スイッチを押すと電車が走りだす。 スイッチを押している間は電車は走り続 ける。 スイッチを離すと次の電車は来ない。 使用方法
構造の複雑なマトリックスLEDを理解して描画 に用いた。 複数の車両や車両自体の長さを表現するために for文を用いた。 実現方法
まとめ マトリックスLEDを使った簡単な電光掲示板へ の挑戦。 良かった点 LED上でアニメーションを実現した。 反省点 スイッチによる動作が単調だった。