タグ別アーカイブ: make

Night Runner

もう随分と前の話だけど、Knight Riderのフロントで赤色ライトが左右に流れるヤツ、Knight ScannerっていうんだけどアレをPICとLEDで作ってみた。
動画とってちょこちょこyoutubeでは公開していたのだが、一度もブログで触れていなかったことにいま気がついたので、動画まとめてみた。

一番はじめのバージョンは在庫していたPIC16F1827で作成。残像は16段階のソフトPWMでやってます。LEDは10本。
ポートの流せる電流がMAX20mAだったかな?ということで電流制限の抵抗は省略。。

LEDを2本づつパラにして左右対称にしてKnight3000風に

チップLEDをユニバーサル基板にハンダ付けした。マイコンはまだブレッドボード上

マイコンや電池もユニバーサル基板に実装、電池はとりあえず18650

UTMF用に作ったランニングパック(Aldebaran)に装着してみた

ワンオフの予定だったが、この動画をみたばぶぅはじめXCESSのメンメンが欲しい!言い出したので量産化を検討。
まず、チップはADやらなんやらいろんな機能がついてる16F1827では勿体ないので、AD無しでピン数も少ないPIC16F630を採用することにした。
ポートの数の関係でLEDは9本に変更。あと、このチップ使うにはIDEをバージョンアップさせる必要があったりして、かるく手こずったけど、無事動いた。

うまく動いたのでこの回路で基板を起こした。
基板はFusionPCBという香港の格安PCB屋。ガーバーデータ送ってから2週間ぐらいだったかな?無事基板が届きました。今回は10枚作成。
基板パターンはDIPのマイコンとSMTのマイコンのどちらでも使える用にした。両方持ってたからね。あと電池ホルダーも3種類あったのでどれでもつくようになってます。
LEDもチップのとDIPのが使える用に、更に表面でも裏面でもつくようにしました。
LEDは赤とオレンジと黄色、黄色だけは4本足でちょいとめんどくさかったのでひとつだけ。ナイトライダーでは黄色のスキャナは悪者のKARR仕様、XCESS監督のばぶぅ用でいいかな。
青もバリエーションに加えたかったんだけどVFがでかくてCR2032ひとつだと電圧たりないのよね。昇圧するとか電池2個シリアルにするとかあるけど今回は見送り。

UTMF用のパックも改造してこのスキャナ用の透明窓を作りました。

元々はUTMFが夜も走るからってことで目立つ様にって考えたんだけど、昨今のランニングブームで走る人が増えてきたじゃないですか。
しかもランニングっていうのは中毒性があって、走りだすと毎日とか走りたくなるらしい。
でもサラリーマンの方とか日中走る時間ないから早起きして早朝ランニングするか、もしくは帰宅後の夜間ランニング。
早朝はまだいいけど、夜間ランニングは自分を目立たせないと危ないですよ、車に対してアピールしなきゃ。

つまり、このスキャナもどき。夜間ランニングのお供にいいかも!

ってことで命名、「ナイトランナー」
ナイトライダーにかけてるのは言うまでもありません。

もうちょっと改良した回路で次は100枚ぐらい基板発注しようかな。
ほしい人いるかな??

DSC01337

アルデバランβ2

3月にプロトタイプを作成したアルデバラン、その後何度か使ってみてその都度少しづつ手直ししてやっとβ2状態になりました。
ほんとは使ってみてわかったことを反映させて1から作り直したいところですが、もう時間もない(明後日!)のでこの状態でレース参戦します。

変更したところは、

  • ウェストベルトをなくした(UTMFでそんなに激しく走る事はないと思い、またウェストポケットがないので)
  • 点滅LEDの削除
  • ナイトライダースキャナ搭載
  • ポケット追加(ウェストポケットがない分、アクセスのよいポケットがもうすこし欲しかった)
  • いのさん考案のギアループ風のストックホルダ追加

前側で変更したところは、

  • チェストベルトをベルクロ固定式に変更
  • ボトルポケットにスマイルワッペン(きっこに貰ったお守り)
  • チェストベルトにハイドレーションチューブ固定用のベルクロ
  • ハンドライト固定用のゴムを追加(より角度の調整が出来るように)

そしてとりあえずUTMFの持っていくのをパッキングしてみました。
あとは携帯食料と水ぐらいかな。

明後日スタートですね。ドキドキして仕事にならないよぉ。。。

DSC01128

PrincetonTec APEX改 バッテリーライフテスト

PrincetonTecのヘッデン – APEX PRO、元々はCR123A×2本使いだったんだけど、長時間動作用に18650×2本直列のバッテリケース外付けに改造してました。これでトータル6時間以上動作。
ところが電圧高くなった分(6V→7.4V)放熱が問題に。。長時間連続点灯しておくと保護回路働いちゃって消えちゃうんです。
センサ(サーミスタ)が冷めた頃に再び電源投入でちゃんと点くんですけど一晩中つけっぱが予想されるレースとかじゃ困っちゃう。。

というわけで、18650×2本を並列にしたバッテリーケースを作りました。そして電池交換が簡単に出来るようにΦ2.5mmジャック&プラグをつけました。
電圧が下がった分暗くなりそうですけどどうなんだろ??中にDC/DC入ってれば関係ないし。。逆に電圧下がり過ぎると減電圧検出で電源供給カットされちゃうかも。。

そんな時は実験です。

まずはこのヘッデンの消費電流の測定

スポット、光量大 850mA
スポット、光量小 240mA
拡散、光量大   320mA
拡散、光量小   047mA

18650の容量はまあ2200mAhぐらいでしょうか、手持ちの中には3000mAhなんてのもありますが、、、

このヘッデン、通常は拡散モードの明るい方で使ってます。
平地や下り坂で飛ばす時はスポットを使うこともあるけど、まあ殆どは拡散モード。
とりあえず机上で拡散モードでのバッテリーライフを計算してみると。。

2200[mAh] * 2 / 320[mA] = 13.75[hour] = 13時間45分

90%ケースで考えても12時間22分
おお、日の長い5月なら一晩持ちますね。

そして実測、バッテリはフル充電。拡散モードの光量大で連続点灯。

【結果】
11時間30分で一度減電圧表示(LEDが2回点滅)、でもそのまま点灯し続けました。
14時間ちょうど連続点灯しました。ほぼ計算通り。すばらしい!
減電圧検出時はアラート返すだけなのですね。よかった。

このバッテリケースを2個作りました。バッテリ交換は接続のジャック&プラグを差し替えるだけ。
ふふふ、いいね♪

DSC00458

Aldebaran (対UTMF用トレランパック)


チマチマ夜なべして作ってたUTMF用のトレランパック(プロトタイプ)が完成しました。
現物合わせで縫って解いてまた縫っての繰り返しで疲れた。あちこち想定と違って仕上がっちゃったり、あれこれ不満があったり。。。
時間があればプロトタイプ2を製作したいですが時間がないかな。。。

UTMF用のパックを自作しようと思ったのは、そもそもイノさんがガンガン自作しているのを見て。
愛用パックはinoxのIsabelだったかな?これではUTMFでは容量不足。だったら新しいのを作ってもらおう!
色々とカスタマイズしてもらおう!!と企んでいたんだが。。イノさんの返事は「これあげるから自分で作って」www
もらったのは大量の生地とテープ。。。メッシュ生地やクッション性の高い生地などパック作りに必須アイテム。

材料まで貰って作らないのは男らしくない!よし作ってしまえ!!
という成り行きでした。

折角作るんだからモノマネで単なるコピー商品を作るのはやめましょう。これは裁縫に限らずワタシの基本ポリシー。
技術的な部分をリバースエンジニアリングして自分のモノにするのは全然OKだけど、そこに自分らしさ、自分のアイデアを入れてこそモノづくりの楽しみがあるってもんです。

というわけでまずはどんなパックにするかアイデアを練ってみました。
その時に書いたマインドマップがこれ


そしてそのアイデアを盛り込んでイメージを画にしてみました。

名称は最終的に"Aldebaran"としました。おうし座にある明るいオレンジ色っぽい恒星。
アルデバランという名前はアラビア語で「後に続くもの」という意味だそうだ。またこの星には「コル・タウリ」という別名もあるらしくラテン語で「牡牛の心臓」という意味だそうです。
奇しくも私はおうし座だし、オレンジも好きな色だし、「後に続くもの」って意味も気に入ったし、ある意味心臓みたいにだいじなものだからこの名前にしました。

パックのイメージは最初考えたアイデアをそのまま形にしました。
ひとつだけ、ナイトライダーが不採用。。というのも何処につけたらいいの??取り付け方法は??といういくつかがクリアにならず、一番簡単な自己点滅型LEDを使う案に落ち着きました。
ところがこれが後で色々と…

製作中の写真は随時facebookにアップしていたのでここでは省略して、この出来立てゲテモノトレランパックの紹介です。
作りが雑なのであまり拡大して細部までチェックしないこと。


って思ったけど面倒くさくなったから写真だけアップします。。

実際の容量とか重量は未計測。
思ったより小さくなってしまった。そして重い(苦笑)
これはクッション性考えて生地を何枚か重ねてある点と、防水考えて使った生地が重たかったってことで。
生地はシルナイロンも用意してあったんだが超縫い難いのでヤメタんです。

作ってみての反省点は
・ファスナーを隠すフラップ?が小さすぎたり、逆だったり、、
・メインルーム内側に小物ポケットを付けたかったが気がついた時は時既に遅し。。
・もうちょっと容量大きくなる予定だったんだけど、なんか小さくなった。。
・LEDの配線が細すぎた。すぐ断線する。。。そして修理がメンドクサイ。。。
・ショルダーストラップの左右の幅が広すぎた。
・GPSが肩にあたって痛い。
・コンプレッションコードが意味なし
・ウェストポケットを省いたからしょうがないんだけど、アクセスしやすいポケットの容量がもうちょっと欲しい。
・派手すぎ
・形が変(3D形状のモノの完成をイメージして部品作るのが難しい。。)

良かった点は
・ショルダーベルトのボトルポケットは使いやすそう
・ハンドライトを肩に固定できるのはいいでしょ。きっと。

あとは使ってみて改善点洗い出しですね。
ということで、近いうちにこれ背負ってロングラン(できたら夜)したいです。
プロト2を作る時間あるのかな。。。このままこれでUTMF出場になりそうな予感。。

DSC09073

Bottle Gum Amplifire

パーツボックスを整理してたら"PAM8101"っていうチップがでてきた。4個。
データシートぐぐってみたらD級アンプらしい。外付け部品少なくて2.5Vから動くってことなのでちいさなアンプを作ってみることにした。
折角SMTなんだから他の部品もチップにしよう!と思ってパーツボックス探索。
データシートに「フィルターレス」とは記載されてなかったので出力にLCでローパスフィルタ付けた。面実装のコイルは47uHのがあったのでこれを採用。コンデンサはフィルムコンつかいたい。けど適当な値のがない。
そんななか、値不明のチップフィルムコンデンサが出てきたんでこいつにした。値は不明ww
秋月のSMTユニバーサル基板にはんだ付け。SMTはつけたり外したりが簡単で楽チン。
全部ハンダ付け終わったそのあとに使ったフィルムコンデンサの値が判明(袋が出てきた)。なんと0.068uF
うーん、小さすぎやしないかい??カットオフ周波数100KHzぐらいかな?意味無いじゃんwww
でも作っちゃったからもういいや(適当)
※ちゃんと計算したら89KHzでした


というわけでこんな回路になりました。
めずらしくちゃんと回路図書いた(作成後だけどw)


とりあえず鳴るか実験。スピーカはこのチップと一緒にパーツボックスからでてきた2インチぐらいの8ohm 3W
おお、ちゃんとなりましたよ。ローパスいらないじゃんw
出力段のローパスとっぱらっちゃえばもっと小さくできますね。


スピーカのマグネットに両面テープで基板固定


AAA 2本のスイッチ付き電池ボックスがあったのでそれを使おうとしたら。。。
中間の電極がありませんでした!!
なんかの工作した時に使っちゃったのかな??


他の電池ボックスを探しましたがちょうどよいのがなかったので、電極を作ることに。
すずめっき線ぐるぐる巻いてますw
とりあえずちゃんと接触してるからよしとします。


さて、ケースはなににするか!
この手のアンプだと真っ先に思い浮かぶのがスタバカップアンプ
スタバカップは手元にありませんが、ボトルガムの空きケースが転がってました。
ということでこいつで作ってみます。


スピーカーのサイズをノギスで測ったら取り付け穴の径は44mmぐらい。
サークルカッターの中心軸~刃を22mmにセットしてクルクルカット。切りやすい素材で良かった。


直径44mmの綺麗な穴があきました。
スピーカーはめてみると。。。うーん、若干小さい。。
ノギスで測ったサイズは44.4mmだったんだけど大きすぎる事にビビって44mmであけたんだけど、ビビらなきゃよかった。
この時気がついたんだが、穴径は44.4mm以上48mm以下ならよかったので46mmぐらいを狙えばよかった。
つうわけでヤスリ&カッターで穴を1mmぐらい広げました。


はい。今度はぴったりです。
粘度の高い瞬間接着剤で接着しちゃいました。


こんな感じでできました~


ちいさなmp3プレーヤ(ZEN)だと中に入っちゃいます。
でも、使ったステレオプラグがでかすぎてちょっと強引。


なのでプラグを付け替えました。その辺にあったイヤホンちょんぎって移植。
しかし、スピーカーは底に接着しちゃったし、基板とスピーカ間のリードは最短距離にしちゃってるし。。リワークのことなんて考えてませんね。。。
つうわけで途中でつなぎました。相変わらず強引です。


L型のプラグでこれなら邪魔にならず中に収納できます。
というわけで完成~
中にプレーヤ入れちゃうと紐がぶらぶらしないで良い感じですよ。



実際に鳴らしているとこの動画です。
プラグ変更前なので中に入れる時に若干苦労してます。

同じアンプのチップがあと3個あります。これどうしよーかな。。

DSC09041

TDFNパッケージ

3mm×3mmで6ピンのTDFNパッケージで試作する事になったのでこのチップにリード線をはんだ付けしました。
今回のエントリはこの壮絶な細かい作業の記録です。


TDFNとは"Thin Dual Flat No Leads"という意味。その名の通りリードが出てません。BGAの小さいものってイメージしてもらうといいかも。
今回のチップのランドサイズは0.3mm×0.4mm。ここからリード線を引き出そうというのだから。。。


準備として、チップが動かない様に裏返して両面テープで適当なものに固定。
そして予備ハンダ。もちろん使うコテ先は極細。それでも小手先の径は1.5mm位あるのでこの作業が大変なのが容易に想像できます。


0.2mmのUEW線を各ランドにはんだ付けしたところ。
実はここまではそんなに大変じゃないんです。大変なのはここから。
なにが大変って、リード線の逆側をはんだ付けしていると、熱が伝わってチップ側に折角ハンダ付けしたとこがとれちゃうんです。
ピンセットで挟んで熱を伝えない様にと思っても、これまた大変。
同じチップを2個DIP化しましたけど、1個目はなんとかうまくできたけど、2個目は時間かかりすぎちゃって熱でチップがダメになっちゃいました。


ということで今回考えたのは、一旦面実装基板にはんだ付けする方法。
チップからのリード線の長さがながければ熱も伝わりにくくてやりやすいだろうと思ったから。


あと、チップを粘度の高い瞬間接着剤でコーティングしました。
というかこれだけでリード線とれないか。


さらにその基板のランドにジュンフロン線をはんだ付け。
こんだけ広いランドなら余裕っす


そして、8pinDIPサイズに切ったユニバーサル基板にはんだ付け。


高さがあって、ちょっといびつですが実験用だからいいんです。
これで8pinのソケットに挿して実験できます。

このパッケージ、小さくて製品にする時は最高なんだけど、DIPパッケージも用意してくれてたら実験の時とか嬉しんだけどな。。。
今回の試作でこのTDFN→DIP化が一番時間がかかりましたとさ。。。

DSC09000

拡張PIC

 使ってみたいけど、持っているライタ(秋月製)が対応していないので躊躇していたPICの18xxについに手を出した。
今回購入したのは使い勝手のよさそうな3種類。
12F1822, 16F1823, 16F1827
どれも超省電力モードがあったり、DAがついてたり、静電容量変化のタッチ入力があったりとなかなか高機能。
それでいて@80円からととても安くて嬉しいです。


ライタがないとタダのゴミになってしまうので、対応したライタも購入しました。Microchip純正のPICkit3
この手のライタツールがどんどん増える。。。PIC用だけで初代PIC Start 、自作ライタ、秋月ライタとこれと4つ目だ。
MPLABも対応してるのでMPLABから直接プログラムできるのが嬉しいですね。
あと、PICのオンチップデバッグ機能をつかってデバッグもできるらしいがまだ試してない。
デバッガが必要になるほど大規模なプログラムを書くかっていうのもある。


ISPのコネクタ(ピンヘッダ)を毎回配線するのもメンドクサイんでこんなケーブルをつくった。


こうやって、PICkit3と接続して、ブレボに挿せばISPできます。


PICkit3に付属のCDでMPLABとHI-TECH社のCコンパイラをインストールした。
いままではwiz-cというPIC用のCコンパイラ、というかIDEを使ってた。当時は一番安く手に入るCコンパイラだったと記憶してます。
wiz-cも有償バージョンアップしない限り新しいデバイスには対応しない様なのでここで再びMPLABに戻ってきたということで。
そしてお決まりのHello World

ターゲット電源をPICKitから供給できるのね。これは便利。
内蔵クロックの設定がメンドクサイかと思ったけど、OSCCONの設定をちゃんとしておけば問題なし。
データシート読んだけどヒューズでPLLはオフっておいてもレジスタの書き込みでON/OFFできるみたい。まだ試してない。
処理速度が必要な時は内蔵8MHz×4で32MHzで処理して、そんなに忙しくないときは4MHz、もちろん暇な時はスリープするといった具合にパワーマネジメントが細かくできそうで楽しそうです。

まあ、今回は、とりあえずの動作確認。
さくさくって書いて、LEDブリンキング完成。


PICKIt抜いて電池でも勿論動きます。
が??なぜか2.4Vじゃ動かなかったぽい??単にこのLEDのVFが2.4V以上だったのかな?きっとそうだな。

とりあえず開発環境のインストールと設定と動作確認ができた。
さあこれらを使っていろいろと作るぞぉ~~

DSC08854

LED Ring Light for Macro


最近工作のレポートでマクロ撮影を多用してます。
でも難しいんですよね。ライティングが。
ストロボたくと光っちゃうし、近づき過ぎちゃうとご覧のとおり影ができちゃったり。。
ということで、マクロ撮影用のリングライトを作ることにしました。



部品箱を漁ると、マキシムのMAX879というDC/DCが見つかりました。
入力1Vから動作して出力は可変。これ使えば電源がAA2本とかでいいかも。
という訳でブレボで実験。よしよし、ちゃんと計算どおり動いてます。



白色LEDは6000mcdっていうのが8本あったのでこれを使うことにしました。
IFは約17mAになってます。最大定格が25mAだからちょうどよいですね。
8本の合計が136mAでこのチップの最大容量以下だったのでよしとします。



LEDを固定する板は、1mm厚のアクリル板を10cm×10cmにカットし、その中を直径8cmの円形にくりぬきました。
サークルカッターで切ったんだけどなかなか切れませんね。。欲張って力入れると中心がずれたりするので、あまり力を入れずに何度もカットするのが正解でした。



LEDの固定はこんなふうにしました。
アクリル板にΦ1.0の穴を2.54ピッチで開けて、LEDの足を通して、その足をアクリル板の反対側に7.62mm角に切ったユニバーサル基板のランドに通してハンダ付け。これで固定しました。
これを丸い穴の周りに8個、間隔は適当です。。。



8個のLED全部配線したところ。抵抗はホントはチップの使いたかったんだけど、100ohmぐらいのチップのがなかった。。
一番小さいので1Kだったよ。。チップ抵抗の小さいのが欠品中です。補充しておかないと。



ブレボのDCDC回路につないで光らせてみたところ。
いいんじゃない?



この状態で試しに撮ってみた写真。
うわっ!照射角せまっ!!あとLEDの間隔広すぎっ!!
この口径ならLEDの数を倍にするとか、または口径を小さくするとかしたほうがよさそう。。
なんでこんなに口径を大きくしたのかというと。。。



このフィッシュアイコンバージョンレンズを使った時に使いたかったから。
このレンズつけるとストロボ使えないしね。



デコデコ回路はフリスクケースに入るサイズにカットしたユニバーサル基板に組みました。
Lとかキャパとか探せばチップのがあるはずなんだけどメンドクサイし、ケースにも余裕があるのでこブレボに使ったリードタイプをそのまま使いました。
たださすがに立てては入らないので寝かしてます。


AA2本の電池ケーススイッチ付きby秋月がフリスクケースとぴったりサイズ。
両面テープでフリスクケースと張り合わせて完成!



マクロコンバージョンレンズつけておもいっきり近づいて撮影。
変な影も出ないしよろしいんじゃないでしょうか?
光が青みがかっているのでホワバラを調整したほうがよさそうですね。



こおゆう写真を沢山撮るんですよ。
うーん、ツルツルしてるとこに光源が映り込むなぁ。。。
ディフーザーをなんかこしらえないとダメかな??
おいおい考えるとします。



フィッシュアイ付けたときはこんなふうになります。
なかなかイカツイっす。



マクロコンバージョンレンズ付けた時。
うーん、こっち用に口径の小さいリングライト作ろうかな。。

というわけで、サンデーナイト工作教室でした。


回路図はこれね

DSC08745

Crystal-less Arduino (8MHz)


ブレッドボードにATmega168さして、自作のArduinoアダプタさして実験中



問題なく動いてるのでアダプタ外して、ブレボにリセット回路とクロック回路組んでブレッドボードArduino

だがしかし、この回路、スピードもクロック精度も全然いらないんで外付けXtal使わないで内蔵RCクロックで動かしたい!
つうことでブートローダーを書き換える事にした


まずはヒューズの設定をどうするのかデータシートとにらめっこ
Calibrated internal RC oscillatorってことでCKSEL3..0は0010になります。


内蔵クロックに変更したので、スタートアップタイムも見直します。
14CK+65msということに



という訳で、ヒューズの設定は
Extended = 0xF8
High = 0xDD
Low = 0xE2
となりました。



ロックビットは変わらず 0xCF



さてさて、それではブートローダーを内蔵8MHz用にMakeしてやります。
"C:\Program Files\arduino-0022\hardware\arduino\bootloaders\atmega"のMakefileに以下追加します。


diecimila_8mhz: TARGET = diecimila_8mhz
diecimila_8mhz: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1'
diecimila_8mhz: AVR_FREQ = 8000000L
diecimila_8mhz: $(PROGRAM)_diecimila_8mhz.hex

そしてコマンドラインからMake diecimila_8mhzを実行


C:\Program Files\arduino-0022\hardware\arduino\bootloaders\atmega>make diecimila_8mhz
avr-gcc -g -Wall -O2 -mmcu=atmega168 -DF_CPU=8000000L '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -c -o ATmegaBOOT_168.o ATmegaBOOT_168.c
ATmegaBOOT_168.c: In function 'main':
ATmegaBOOT_168.c:586: error: 'EEWE' undeclared (first use in this function)
ATmegaBOOT_168.c:586: error: (Each undeclared identifier is reported only once
ATmegaBOOT_168.c:586: error: for each function it appears in.)
make: *** [ATmegaBOOT_168.o] Error 1

げげっ!!エラってしまいました。。。
なんじゃい???

該当箇所、ATmegaBOOT_168.cの586行付近を見ると、


#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__)
while(bit_is_set(EECR,EEPE)); //Wait for previous EEPROM writes to complete
#else
while(bit_is_set(EECR,EEWE)); //Wait for previous EEPROM writes to complete
#endif

となってました。どうやらレジスタ名称がチップによって違うみたいです。ATMega128ではEEPEでそれ以外はEEWEなの??
EEPROM関係なのでeeprom.hを見てみると。。。EEWEって定義ありませんでした。
そりゃそうだ、そうエラーが言ってるもん。

なんでだ??
Arduinoフォーラム内を検索してみたらまさしく同じ問題に困ってた人が居ました。

どうやら、AVR Libcをバージョンアップしちゃった事による弊害だそうです。
ArduinoのブートローダーはAVRLibc1.6.7を使えって言ってるよ。

ですが、バージョンダウンさせるのも気が引けるので強引にいきます。

EEWEもEEPEも同じレジスタ、名前が違うだけです。
という訳でブートローダーのソースを修正!
eeprom.hをインクルードした直後に以下コードを追加しました。


/* Check for aliases. */
#if !defined(EEWE) && defined(EEPE)
# define EEWE EEPE
#endif

#if !defined(EEMWE) && defined(EEMPE)
# define EEMWE EEMPE
#endif

そして再びMake


C:\Program Files\arduino-0022\hardware\arduino\bootloaders\atmega>make diecimila_8mhz
avr-gcc -g -Wall -O2 -mmcu=atmega168 -DF_CPU=8000000L '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -c -o ATmegaBOOT_168.o ATmegaBOOT_168.c
avr-gcc -g -Wall -O2 -mmcu=atmega168 -DF_CPU=8000000L '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -Wl,--section-start=.text=0x3800 -o ATmegaBOOT_168_die
cimila_8mhz.elf ATmegaBOOT_168.o
avr-objcopy -j .text -j .data -O ihex ATmegaBOOT_168_diecimila_8mhz.elf ATmegaBOOT_168_diecimila_8mhz.hex
rm ATmegaBOOT_168_diecimila_8mhz.elf ATmegaBOOT_168.o

これで内蔵8MHz用のブートローダが出来ました。
あとはこれをライタで書き込んで完成

Arduino IDEのボード定義ファイル、board.txtに内蔵8MHz、ATMega168用の定義を追加しました。


##############################################################
diecimila.name=Arduino Diecimila, Duemilanove, or Nano w/ ATmega168 8MHz

diecimila.upload.protocol=stk500
diecimila.upload.maximum_size=14336
diecimila.upload.speed=19200

diecimila.bootloader.low_fuses=0xf8
diecimila.bootloader.high_fuses=0xdd
diecimila.bootloader.extended_fuses=0xE2
diecimila.bootloader.path=atmega
diecimila.bootloader.file=ATmegaBOOT_168_diecimila_8mhz.hex
diecimila.bootloader.unlock_bits=0x3F
diecimila.bootloader.lock_bits=0x0F

diecimila.build.mcu=atmega168
diecimila.build.f_cpu=8000000L
diecimila.build.core=arduino

これでボード一覧に追加されました。

外付けのXtal無しでもちゃんと動きました。
ただ、Arduinoライブラリのdelay()等が16MHz基準で作られているので時間が2倍になっちゃいました。。通信とかも気を付けないと。。



おまけ

ブレッドボード上にArduinoつくった時のAVRライタ接続用のアダプタを作りました。


AVRライタとこうつないで、


該当するピン位置に差し込んで使います。
ブートローダーさえ書いちゃえばあとはArduino IDEから書き込めるから不要だしね。もっと早く作っておけば良かった。

以上内蔵RCオシレータでブレッドボードArduinoを動かす覚書でした。

DSC08531

Bike Lock

愛用の自転車用のごっついロックがこんな状態に。
でも周りを包んである布がボロボロになっただけでロックとしての機能はまだまだ大丈夫。
ってことで修理した。(芽依の試合の日にやった)



生地はいのさんにもらった黄色のターポリンにしました。
ロックの太さを計って、縫い代分だけプラスした幅でチョキチョキ。



縁にはこれまたいのさんにもらった赤いテープで



まち針で固定して縫ったけど、滑り悪くて、上と下がずれてちょっと難しかった。
ナイロン押さえとかあればいいのかな?



まあそれでも簡単に縫えました。
問題だったのはこれをひっくり返すの。。。
もう、30分ぐらい格闘してやっと全部裏返しました。つかれた。。



ロックに通そうとしたら問題発覚!!!
太さギリにしすぎて、ロックの端の太くなってる部分が通らない!!!!
やり直すのもめんどくさい。芽依のレースが始まっちゃう!

この部分、中は金属で、その周りを固いゴムみたいなのでコーティングしている模様。
ということでこのゴムの部分をちょっくら削ることにした。
カッターでサクサク。

そして無事通るサイズに。



長さぴったり!
両端をめくれない様にタイラップで固定



ドハデなロックに生まれ変わりました~~