1967 Chevrolet Impala (Super Natural version) No.28

色々、大変でしたが(号泣)、どうにかチロチロ(笑)できました!

日の丸航空隊さん命名の「チロチロ」。めっちゃ気に入っちゃったっすぅ!!!

▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️
模型ファンの皆さま、今回、模型の「も」の字もございません(ペコリ)。
記事の後ろの方にある動画だけ、お楽しみください(爆笑)。
▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️

知識の無い中、ネットでの付け焼き刃ですので、
間違いも多いと思いますが、ご容赦ください(ペコリ)。

まずは、動きのチェックをしました。


ブレッドボードに色々と盛り付けてPICKit4と接続。
PICKit4からの給電だけでは電圧が足りないため、Arduinoから5Vを借用。

画面下部に抵抗がずらっと並んでおりますが、この上あたりにLEDを装着して、
LEDの光っぷりを確認しながら、プログラムを作って書きこんでは、修正を繰り返していきました。

マイコンは、取り外しが簡単なように、水色の土台を装着しています。


水色の土台の右上にレバーがついていて、これを上げたり降ろしたりする事で、
マイコンを装着したり外したりするのが、とても簡単になるものです。

ブレッドボードで回路ができたら、プリント基板にはんだで固定してきました。


全体像は、こんな感じでございます。

左側から順に・・・まずは、電池。


3Vのリチウム電池。CR2032型です。5個入りで200円。電池ホルダーは60円。
これを2つ直列につなげて6Vを確保しました。

次に心臓部。


マイコン以外に、定電圧回路に用いられるという三端子レギュレータ「TA48056」を付けています。
マイコンの電源電圧の最大が5.5Vだったのですが、電源が6Vなので、
これを5Vに降下させるためとなります。1個100円。

本来はコンデンサをつけたり、ヒートシンクで放熱する必要があるそうですが、
とりあえず動いたのと、短時間の動作を想定していて、温度の上昇も見られなかったため、
つけませんでした。
単に直列に抵抗をつけてもよかったのかもしれないですが、お勉強ということで(笑)。

他にピン状のものもつけてありますが、プログラムを修正したくなった時に、
もう、ブレッドボードには戻れないので、ジャンプワイヤーを取り付けやすいようにするためです。

次に中間地点です。


LEDは、抵抗を使わないとダメなようで、ここで必要な抵抗を装着しました。
LEDの順方向電圧降下と順方向電流(大概、商品に記載)、そして電源電圧により、
抵抗値が決まるとのことで、電卓片手に計算をして、抵抗値を決めました。

( 電源電圧[V] - 順方向電圧降下[V] )/ 順方向電流[A] = 抵抗値[Ω]

LEDを光らせるだけであれば、この公式だけ覚えておけば大丈夫なようです!

赤いチロチロに使うLEDは、順方向電圧降下が1.7〜2.2V、順方向電流が5mA。
マイコンからの電源電圧が5Vなので・・・

( 5V - 1.7V ) / 0.005A = 660Ω
( 5V - 2.2V ) / 0.005A = 560Ω

この範囲内ということで560Ωとしました。

点灯してみると。。。


正直、ここまで来るのに、わからないことだらけで大変でしたし、はんだも難しかったです(泣)。

壊したLED達。。。ごめんよーっ(号泣)。


1000円分ぐらいを失ってしまいました。。。授業料と思えばお安いですが。。。

では、お待ちかねのチロチロをご覧ください!


LED2個1セットとして点灯させ、1コマずつずらしながら、往復させております。

最後に、チロチロとヘッドライト点灯用のプログラムを掲載します。
未だに理解できていないところが山盛りですが、どうにかこれで動きました。
順々に光らせるLEDをどれにするかを指示しているだけなのですが、
初期設定が理解不能。。。爆!

Microchip Technology 社の MPLAB Ver.5.35 を使用しております。


#include <xc.h>

#define _XTAL_FREQ 8000000 // Fosc frequency for _delay_ms and _delay_us functions. 8MHz.
#define _ALL_ZERO 0b00000000 // Initialize value.

/*
Data sheet: Pin Diagram – 18-Pin
1: RA2/AN2 18: RA1/AN1
2: RA3/AN3 17: RA0/AN0
3: RA4/AN4 16: RA7/CLKIN
4: RA5/MCLR/Vpp 15: RA6/CLKOUT
5: Vss 14: Vdd
6: RB0 13: RB7/ICSPDAT/AN6
7: RB1/AN11 12: RB6/ICSPCLK/AN5
8: RB2/AN10 11: RB5/AN7
9: RB3/AN9 10: RB4/AN8
*/

// configuration settings: ref:docs/chips/16f1827.html

// onfig1 Settings
#pragma config FOSC = INTOSC // INTOSC oscillator, I/O function on CLKIN(RA7) pin.
#pragma config WDTE = OFF // WDT(Watchdog Timer) disabled.
#pragma config PWRTE = ON // PWRT(Power-up Timer) enabled. 65(or 72?)msec delay after a Power On Reset.
#pragma config MCLRE = OFF // MCLR/Vpp(RA5) pin function is digital input. not MCLR.
#pragma config CP = OFF // Flash Program memory code protection is disabled.
#pragma config CPD = OFF // Data memory code protection is disabled.
#pragma config BOREN = ON // Brown-out Reset enabled.
// reset when the Vdd drops below a brown out threshold voltage.
#pragma config CLKOUTEN = OFF // CLKOUT function is disabled. I/O or oscillator function on the
// CLKOUT(RA6) pin.
#pragma config IESO = OFF // Internal/External Switchover mode is disabled.
#pragma config FCMEN = OFF // Fail-Safe Clock Monitor is disabled.

// onfig2 Settings
#pragma config WRT = OFF // Flash Memory Self-Write Protection off.
#pragma config PLLEN = OFF // 4x PLL (4 x 8MHz = 32MHz) disabled.
#pragma config STVREN = ON // Stack Overflow or Underflow will cause a Reset.
#pragma config BORV = HI // BORV(Brown-out Reset Voltage), high trip point selected.
#pragma config LVP = OFF // Low-voltage programming diabled. High-voltage on MCLR/VPP must be
// used for programming.

void delay( unsigned int max ) {

for( int i = 0; i < max; i++ )
__delay_ms( 10 );

}

void init() {

OSCCON = 0b01110010; // OSCCON
// bit 7: SPLLEN: Software PLL Enable bit
// 1 = 4x PLL Is enabled, 0 = 4x PLL is disabled
// bit 6-3: IRCF<3:0>: Internal Oscillator Frequency Select bits
// 000x = 31 kHz LF, 0010 = 31.25 kHz MF, 0011 = 31.25 kHz HF(1)
// 0100 = 62.5 kHz MF, 0101 = 125 kHz MF, 0110 = 250 kHz MF
// 0111 = 500 kHz MF (default upon Reset), 1000 = 125 kHz HF(1)
// 1001 = 250 kHz HF(1), 1010 = 500 kHz HF(1), 1011 = 1 MHz HF
// 1100 = 2 MHz HF, 1101 = 4 MHz HF
// 1110 = 8 MHz or 32 MHz HF, 1111 = 16 MHz HF
// bit 2: Unimplemented: Read as ‘0’
// bit 1-0: SCS<1:0>: System Clock Select bits
// 1x = Internal oscillator block, 01 = Timer1 oscillator
// 00 = Clock determined by FOSC<2:0> in Configuration Word 1.
ANSELA = _ALL_ZERO; // ANSA0-ANSA4: Pin is assigned to port or digital special function.
ANSELB = _ALL_ZERO; // ANSB1-ANSB7: Pin is assigned to port or digital special function.
TRISA = _ALL_ZERO; // PORTA(RA0-RA4, RA6-RA7), Pin configured as an output.
TRISB = _ALL_ZERO; // PORTB(RB0-RB7), Pin configured as an output.
PORTA = _ALL_ZERO; // PORTA(RA0-RA7), Port pin is < VIL(Low Voltage).
PORTB = _ALL_ZERO; // PORTB(RB0-RB7), Port pin is < VIL(Low Voltage).

}

void loop() {

const unsigned char KITT_LIGHTS_A[7] = {

0b00001111, 0b00001111,
0b00001111, 0b00001111,
0b00001111, 0b01001111,
0b11001111

};
const unsigned char KITT_LIGHTS_B[7] = {

0b00000011, 0b00000110,
0b00001100, 0b00011000,
0b00110000, 0b00100000,
0b00000000

};

for( int i = 0; i < 6; i++ ) {

PORTA = KITT_LIGHTS_A[i];
PORTB = KITT_LIGHTS_B[i];

delay( 10 );

}

for( int i = 6; i > 0; i-- ) {

PORTA = KITT_LIGHTS_A[i];
PORTB = KITT_LIGHTS_B[i];

delay( 10 );

}

}

void main() {

init();

while( 1 )
loop();

}




コメント

日の丸航空隊さん

チロチロ~
おはようございます。

動画観ましたよ~。(^o^)
チロチロがちゃんと「チロチロ」してます~。(^^)/

配線や、抵抗の事はよく分かりませんが、チロチロ成功おめでとうございます。

これで勢いがついて、全ライト点灯「チカチカ」にいけそうですね。

オートビルダーSさん

おはようございます。
凄いです!
なにが凄いのかも分かりませんが、凄いです(笑)
動画の光り方はナイトライダーそのものですね!
私は今回のデトマソでヘッドライトを点灯したいと思っています。
ただ点灯するだけでいいんです。
black?さん、こっそり教えてください(^_^;)

原市場ハリマオさん

black?さん こんにちは
チロチロ~大成功ですね 苦労した甲斐が
ありますね!(^^)!
説明観させていただいても理解不能なハリマオ
いや 観る人が見れば解るんですよね
プログラム 模型工作+電子制御 無敵です(^^♪

かえる大佐さん

こんにちは
電飾職人ですね、完成時に映えが違いますもんね
楽しみにしています
私は、まだまだてを動かせませんが…
夏になる前になにかを完成させたいと思います(笑)

pandonさん

black?さん、こんにちは。
チロチロすっごいです。
私もヘッドライトとかテールランプとかメーター類を
点灯させたくなってしまいます。
昔のプラモには麦球と乾電池でヘッドライト・テールライト点灯と
言う物も結構ありました。
知識は今もその程度しかないので電球電池直結ですね(^.^)

でもLEDはそういう訳にはいかん!と言う事?(^^;

ヒロシさん

チロチロしてる~
素晴らしい!
プログラムはチンプンカンプンです。

あ、そういえばアオシマのナイトライダーのプラモをLEDユニットとセットで積んでいます。
来年のオー集で並べたいですね(笑)

black?さん

Re: チロチロ~
日の丸航空隊さん、おはようございます。

コメントありがとうございます。

チロチロっす!チロチロっす!
チロチロっすーーーーっ(笑)!
ありがとうごずぇますだぁ!

だはははは。次は全灯チカチカですね(笑)!
・・・ん?
・・・あっ!
配線が一杯一杯ですぅ(爆)!

black?さん

Re:
ABSさん、おはようございます。

コメントありがとうございます。

そ、それっぽいですか?!
ヤッフォーっ(笑)!ばんざーい(ニコ)!
光の流れっぷり、結構、考えたので、嬉しいですぅ!

ま、まじですか!LEDいっちゃいます!?
わっかりましたぁ!
こっそりですね!ウフフフフ(笑)。
デトマソの構造を観察しなくては!

black?さん

Re:
原市場ハリマオさん、おはようございます。

コメントありがとうございます。

チロチロ~成功しましたぁ(ニコ)!
チロチロっぷりに酔いしれております(笑)。

と、言いつつ、ここから模型に入れ込めるかが、
次の山場でございますぅ(怖)。

全部が中途半端で、仕上がりは無敵には程遠いですが(爆笑)、
過程の楽しさは無敵に近いものがありますね(笑)!
もっと色々やって楽しみたいで~す。

black?さん

Re:
かえる大佐さん、おはようございます。

コメントありがとうございます。

あはっ!電飾職人だなんてぇ(笑)!
そうなりたいですね!
うふふ。粗隠しには、効果バツグンです(笑)。

時間と心の余裕と体調がピタッと合うと良いですね!
楽しみながら完成までいけるよう、お祈りしておきま~す!

私も楽 しく頑張ろうっと!

black?さん

Re:
pandonさん、おはようございます。

コメントありがとうございます。

チロチロ教に入信しませんか(爆笑)?
LEDで世界平和を目指してます(爆笑x2)。

そっかぁ!メーター類、面白そうですね!!
次回にでもやってみたいっす!

今回は、チロチロさせたくって、お勉強してみました(笑)。
結果オーライで途中が正しいかは、未だに不確かです(爆)。
あ、でも、LEDだけだったら、基本は電池と抵抗ってのは確かです!

ムギ球も試してみたいです!
LEDより光が柔らかそうなイメージが。

black?さん

Re:
ヒロシさん、おはようございます。

コメントありがとうございます。

チロチロチロチロ、見てるだけで、
なんか嬉しくなっちゃいますぅ!

実はプログラムは、殆どチンプンカンプンですぅ(爆)。
まだまだ、お勉強が足りないようです(泣)。

おぉーーーーーーっ!マジですか?!
宜しければ、是非、ご一緒させていただきたいで~す!!!
ヒロシさんの作品を後ろから照らす証明役として(爆笑)!
後は、電池代わりに使ってください(爆笑x2)!

ploverbellさん

電飾すごいですねー

未知の世界です。
このユニットをエンジン付きの模型に組み込む。
想像もつきません。

black?さん

Re:
ploverbellさん、おはようございます。

コメントありがとうございます。

も、勿体ないお言葉ですぅ!

あっ!やはり気になりますよね。。。
これ組み込まなくてはいけなくて。

トランクの奥底と開閉加工をしていない側の
ドアと内張りの間に、電池と基盤を仕込もうかと。

何度か、仮組みして確認しているのですが、
組み込めなかったら、意味ないじゃ~ん!ってヤツですぅ(爆笑)。

非公開コメント

black?

プログラマー歴 三十余年。
ライダー歴 降りて十数年。
モデラー見習い歴 2年。
2020.8現在。