詳細についてここにまとめておきます。
光る!!ネギ振りサインボードストラップではATtiny13A を使用してFETを制御し、LEDの明るさから点灯パターンまで制御しています。
動画を見ていただくとわかるのですが、ネギ振り用では一番奥のアクリル板が光りっぱなしとなっていて、手前の2枚を交互に光らせることでネギ振りをしているように見せています。
ガチムチ最強☆こんがりコーン では1枚目2枚目をホワンホワンと光らせておいて3枚目をピカピカさせてアピールしています。
プログラム次第で点灯パターンから明るさまで自由に変更できるのです。
ちなみに、J1と書かれた端子からISPが出来るようになっているので、分解すること無くその場でプログラムのテストができます。
私はこのような治具を用意しました。
いわゆるポゴピンをユニバーサル基板にくっつけただけですが、コレがとっても便利です
AVR-ISP mkII のピン配置そのままで作ってあるので、いろいろ応用できそうです。
最後に、兄貴用プログラムと、ネギ振りプログラムを置いておきます。
自由に書き換えたりして使ってみて下さい。
容量も空きだらけだし、周辺装置も使っていないので、スイッチをつけたりして遊んでも面白いかもしれません。
兄貴用プログラム
#include
#include
#define PB0 0b00000001
#define PB1 0b00000010
#define PB2 0b00000100
#define PB3 0b00001000
#define PB4 0b00010000
#define PB5 0b00100000
#define PBRST 0x00
//PWMでライジング
volatile void pwm_risingR(int dt_start, int dt_end, char mPortB, long time_ms);
void mpwm(int duty, char mPortB, long time_ms);
int main(void){
DDRB = 0x00;
DDRB = PB0 | PB1 | PB2;
PORTB = PBRST;
while(1){
pwm_risingR(1,50,PB1,100);
_delay_ms(400);
pwm_risingR(50,1,PB1,100);
PORTB = PBRST;
pwm_risingR(1,50,PB0,100);
_delay_ms(400);
pwm_risingR(50,1,PB0,100);
PORTB = PBRST;
pwm_risingR(1,50,PB2,75);
_delay_ms(100);
PORTB = PBRST;
_delay_ms(70);
mpwm(60, PB2, 20);
PORTB = PBRST;
_delay_ms(70);
mpwm(70, PB2, 20);
PORTB = PBRST;
_delay_ms(70);
mpwm(80, PB2, 400);
}
}
//duty は 0~100
void mpwm(int duty, char mPortB, long time){
for(long i=time*10; 0
#include
#define PB0 0b00000001
#define PB1 0b00000010
#define PB2 0b00000100
#define PB3 0b00001000
#define PB4 0b00010000
#define PB5 0b00100000
#define PBRST 0x00
void mpwm(int duty, char mPortB, long time_ms);
int main(void){
DDRB = 0x00;
DDRB = PB0 | PB1 | PB2;
PORTB = PBRST;
while(1){
mpwm(50, PB2 | PB1, 100);
mpwm(50, PB2 | PB0, 100);
}
}
//duty は 0~100
void mpwm(int duty, char mPortB, long time){
for(long i=time*10; 0
関連記事
“光る!!ネギ振りサインボードストラップ” への1件の返信