タグ別アーカイブ: gadget

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を動かす覚書でした。

DSC08638

Bread Board PCB

秋月電子で売ってるブレッドボードと同じ配線、同じサイズのユニバーサル基板を使ってみました。
上の写真の左側がよく使うブレッドボード(部品ささってるけど気にしないで)、そして右がブレッドボード基板
ブレッドボードで実験した回路をそのまま置き換えてもいいし、ブレッドボードに組み立てる様にこの基板にいきなり組むのもやりやすい。

今回組んだのはこの回路
MAX16820は3mm角のTDFNと米粒みたいなチップ。ひっくり返して、UEWでDIPサイズに変換基板を自作しました。
ブレボで実験したけどそのままコピーじゃなくて新たにこの基板に回路組みました。というのもでかいブレボで実験しちゃったんでそのまま置き換えは出来なかったんです。

できた回路はこれ。
ユニバーサル基板で組んだ時とあまりサイズ変わらないじゃない?

ハンダ面はこんな感じ。
ちょっとランドが小さいですね。半田の乗りがイマイチでした。
使ったチップ(NE555)が古過ぎて足が酸化してたってえのがそもそもなんですけど。。

ユニバーサル基板で組む時は、部品のリードを折り曲げて配線に使ったりするんですけど、これだとはんだ付けし忘れってほとんどしないんですけど、ブレボ基板だとジャンパーワイヤを大量に使うので半田忘れしやすいです。
この回路も半田しわすれがあってすんなり動かなかったです。。。
逆に、部品のリードはまっすぐのままでカットするので部品交換したい場合は簡単に外せていいですね。
ブレボの置き換えじゃなくて、最初からこの基板で実験するのもありかも。

というわけでこの基板のいいとこと悪いとこ。あくまでも私の感想で。

良いとこ
ブレボで実験した回路そのまま
部品交換が楽
あんまり考えなくても回路が組める

欠点
ジャンパワイヤが沢山必要
部品密度がどうしても低くなる(基板がでかくなる)
はんだ付けの箇所が増えて面倒

というわけで一長一短ですね。
でもお気楽極楽電子工作には向いてると思います。

AngryBirdsEyeCatch

Angry Birds Live

Androidケータイで出会ってから大ハマリのゲーム、Angry Birds
シーズンバージョンや、chrome用のChrome Dimensionとか次々と新しい面が増えて飽きないんですよね。ちょくちょく仕事の合間にやってます。
上記動画はスペインT-MoblieのCF。リアルアングリーバード♪
勿論コマーシャル用に編集されてるんでしょうけど、それでも面白いね。
ADKも公開されたことだし、スマホで操作→実機で動作→スマホにフィードバック、っていうゲームとかガジェットの自作をしてみたい今日この頃です。
でもその前に決算処理しなきゃ。。。

DSC03447

Majestouch

新しくキーボード買いました。FILCOのマジェスタッチ。そろそろ新しいマジェスタッチ2が発売されるんだが、機能的にはほとんど変わっていないのに大幅値上げなので、現行モデルの在庫のあるうちに買っておきましょうっていうのが購入理由(言い訳)。

今回購入したのは茶軸。いままで愛用していたDECKのキーボードは黒軸。茶軸はなんか軽すぎだな。やっぱ黒軸の方がよかったかな??あと、しゃかしゃか五月蝿いのはどうにかならんかね。
しかし、このクリック感はいいかも。どうなんじゃい!w

3216549687
テンキー付きを選んだのは会計データの入力時に便利だから。
テンキーレスにして、テンキーだけテンキーボードを購入してもよかったんだけど、いいテンキーボードってフルキーボードぐらいの値段するから、今回はフルキーボードにしました。テンキーレスならDECKのバックライトキーボードを持ってるんだけど、黒軸なんだよね。あとHHKBも持ってるけどこいつもテンキーレス。
でも、やっぱ、フルキーボードはデカイなぁ。。机の上が。。。次買うときはやっぱりテンキーレスにしよう。。。

あれ、やばい、ここまで文章書いてて、茶軸凄まじく打ちやすいかもって思えてきた。

キーボードのチルト、もうちょっと斜傾つけてくれてもいいのにな。パームレストを使って調整しよ。

うひゃー、なんか文章打つのが楽しくなってきた。そこそこ高いキーボードだったけど、買った甲斐あります。google IMEがなかなか賢いから、このIMEとこのキーボードの組み合わせは日本語入力に適してるかもねー

ちなみに私がUS配列を使うのは指が日本語配列を覚えていないから。。。
日本語配列でソースコードとか書くと、思考とキー入力の間に余計な脳の介入が必要になって、思考が途切れるんだよね。これって最悪。。入力の事なんて考えたくないし。
ということでUS配列は私にとったら必須です。いまさら日本語配列なんて覚えたくない。
ついでいうと、windowsキーの類も不要なんだけど、無視するってことで。
あとcapsキーなんていうのも不要だよね。こいつは、左小指の届く一等地に1.5倍サイズのキーというなんとも贅沢な使い方。なのに使用頻度は完璧に0%、使ったことないし今後も使う事もない!!レジストリのキーマップ書き換えてCtrlキーとして使ってます。
HHKBはその位置にCtrlキーを置いててくれるのは親切。ダイヤテックさんもcapsキーレスをラインナップして欲しいです。

このキーボードはNキーロールオーバーらしいけど、USBだから多分4~5キーぐらいじゃないの?ロールオーバー。まあそれくらいあれば十分です。

と、FILCO マジェスタッチNキーロールオーバーUS配列(茶軸)を購入しての試し打ち&ファーストインプレッションでした。うーん、キーボードって俺にとったら大事な商売道具だからこれからも拘り続けていきます。

MINTIA Laser Pointer

FRISK Laser Pointerを作ったら『なんでも作っちゃう、かも。』でおなじみのarms22さんがコメントで、

この薄さならミンティアのケースにも十分入りそうですね。

と。なるほど入りそうだね。
って訳で作ってみました(だいぶ前の話)。
EXIF情報みたら作ったのは大震災の前日でした。紹介するのが遅くなりました(未紹介の他にも沢山あるけど)。

DSC02493

部品は、MINTIAの空きケース、秋月の薄型レーザーモジュール、タクトスイッチ、CR2032とその電池ケース(できるだけ薄いの)
MINTIAのケースはボスにはめ込んであるだけなので写真の様に簡単にばらせます。

DSC02494

いちばん背の高い部品、今回は電池ホルダーを中に入れてMINTIAケースを閉めてみましたがほんの少しだけはまりませんでした。ほんのちょっと、1mmぐらい。
というわけで電池ホルダーの肉を削ってみました。

DSC02495

削りすぎると電池が固定されなくなるけど、でもどうせケースサイズがギリギリだからケースで電池をおさえればいいんだし!と開き直ってガリガリと削る。。

DSC02497

レーザー穴を適当に開けたら、ボスと干渉しちゃってご覧の通りレーザーモジュールをケース縁から離して配置する羽目に。。
そして、高さを調節するために、レーザーモジュールの下にセロハンテープを1枚はりました。

DSC02496

光軸を微調整して内部配置完成の図。
電池ホルダーは結局ご覧の通りそれだけでは電池が固定できなくなってます。。。

DSC02505

タクトスイッチの位置はケースに穴をあけておいて、仮組み立てし、スイッチを動かさない様にばらして、その位置にスイッチを接着!という方法で決めました。
これだと簡単にぴったりな位置に配置できます。

というわけで完成!

DSC02503

電池ホルダーの加工がめんどくさかったのが難点。
もっと薄いホルダーないかな。。CR2025用ならあるか??

Charging Station

2009年1月に作った充電ステーションですが、3年も経つと充電するものもかわってきます。
ということで、ACアダプタの入れ替えしました。

DSC02913

ギッチギチだね。超蛸足配線。

Inside of Charging Station

ちなみにこれが充電ステーション制作初期(2009年1月)の状態。

DSC02914

なんにでもよくあうw mini-USBとmicro-USBを2個づつ用意しました。
あとはbluetoothヘッドセットとかiPodとかDSとか。
標準的なΦ5.5mmの5Vも用意しときました。

DSC02916

頻繁に入れ替えするんで簡単に開けられるようにネジやめてタイラップにしましたとさ。

DSC02915

充電中の図。
大元で電源断できるので最近流行りの省エネにもGOODだね♪

以前のエントリにも書いたけど、ACアダプタ類がごちゃごちゃしなくていいですよ。
製作費2000円ぐらいだし工作レベルは「かなり簡単」なので充電好きな方は是非真似てみてください。
詳しい作り方は日々更新中>ナマログ>充電ステーションに載ってますよ。

18650 USB Charger

DSC02328

ちょっと前に18650を使ったUSB充電器を作ったので紹介。

UTMFでは電池を18650に統一することにした私。でもデジカメとか携帯とかMP3プレーヤとかは内蔵Li-ionだし…
しかしどの機器もUSBコネクタから充電できるじゃないですか!
というわけで、18650から5V500mAを作ってUSBコネクタで供給すればいいだろ、というわけね。

Li-ionが3.7Vだから簡単なのは2本直列にして7.4Vにして3端子レギュレータで5Vに落とす方法。
ただしこの場合、落とした分は熱となって損失となります。
その場合の効率は68%。。。ちょっとロス多いな。
じゃあDC/DCコンバータでしょ。適当なのを秋月で探したら5V200mAのステップアップのを発見したので購入。効率は85%となかなか優等生。
残念ながら200mAだけど、まあ充電時間が長くなるだけで充電しながらも使えるから問題ないだろうと判断しました。

DSC02322

ところが、18650用の電池ケースで1本用というのを持ってません。探したけどなかなか売ってません。
じゃあ2本用の持ってる奴を改造しちゃえばよいだろうということに。

ちょうど良い具合に、1本用のケースがかみ合わせによって横に連結していました。
さらに、保護回路基板がついてますので、全部をばらしました。

DSC02321

これが保護回路基板ですが、今回は使わないということで。

DSC02326

CE端子があったので、最初それを電源スイッチに使ってみたんですが、なんと!Disableの時はDC/DC回路がオフにはなるんですがOUTにはINからショットキーダイオード分のVfを引いた分の電圧がそのまま出てきてました。
うーん、オフにするには結局IN手前にスイッチを入れるしかない。。ということで手直しが必要でした。

まあそんなこんなで出来た基板がこんな感じ。
スイッチはほぼ入れっぱだろうということでこんな感じにケースの内側になる様にしちゃいました。

DSC02329

ケースも秋月で購入したアクリルケース。
若干(だいぶ)スカスカですが、あいた部分は小物入れということで。。。。

ですがよ!ですがよ!
今日、ネットをウロウロしてたらこんなものを発見!!

充電式USB2200mAhリチウム充電ケース+18650付き
だそうです。あきばお~に売ってました。いや、売り切れてました。まさにこれじゃん!!しかもバッテリ込で1400円って安いし。。。
俺製の上記チャージャーは電池ケースの部品代だけで2000円以上してるはずだし。。。orz

とりあえず再入荷お知らせメールを登録しておきました。。。
おしらせメールきたらどうする??


今日の・・・
出来事:特になし
健康:変わらず
物欲:apt-Xのヘッドフォン。あんまり種類ないのが×
懇願:父の健康を願う!
運動:BCで1時間程。4Q~3Q
作る:なし
聴く:なし
読む:志賀直哉の「小僧の神様」
善行:なし
懺悔:なし
良運:なし
不運:なし
仕事:ちょっと頭を使ってみた。
買物:小僧の神様
飲食:特になし
ToDo:なし
Bucket List:追加なし

DIY FRISK Speaker Box for Running Back Pack

恒例のランチタイムDIY。しかもまたまたFRISKケース。どんだけ好きなんだよwww

長丁場になるトレランレースに音楽は欠かせません。
2009年の高水ではヘッドフォンして走りましたがどんなに音を小さくしてもやっぱり危険かな。
ノイズキャンセルヘッドフォンの理論を逆に利用して、外の音をマイクロフォンで拾ってプレーヤの音とmixするという手法も考えましたがマイクアンプ&加算回路の為にオペアンプと電源が必要になるので却下。骨伝導スピーカも購入して試したけどいまいち。
安全に簡単に音楽が聴ける方法っていうことでパックにスピーカをつける方法が一番良さそうです。

2008年の赤城の時は愛用のInox Running Packに5cm程度のフルレンジをつけて走ったと思う。
その後軽量化ということで、超小型スピーカをFRISKケースに収めたのを作りました。それがこれ↓
DSC02300

これはこれでよかったのですが、スピーカが小さすぎたのでmp3プレーヤの音量を上げる→電池消耗が激しい。
さらに構造に凝ってミニジャックを使ったりしてちょいと無駄な重さが気になる。

ということでFRISKスピーカ2nd. Versionを作成しました。

DSC02295

上の小さいのが旧バージョンで使ってたスピーカ。ちょいと大きなのが今回使うやつ。

DSC02288
DSC02290

ちょいと大きいと言いましたが、直径は約28mm、厚さ約5mmとこれまた小さなスピーカです。このサイズで8ohm 1W

DSC02289

ちなみにFRISKケースの内幅は。。実測で約27.8mm。。。
ギリじゃん。。(若干アウトだけどwww)

DSC02293

まあそんなこと気にせずさっそく工作。
まずΦ6mmで下穴をあけます。ケース中央にゲートの凹みがあるのでちょうどそこで。

DSC02294

あとはステップドリルでΦ22mmぐらいまで広げました。

DSC02296

軽量化したいので今回はミニプラグ直結で。
その辺に転がってた安モンヘッドフォンのケーブルを切断して利用。

DSC02297

写真撮り忘れましたが、スピーカユニットの固定はホットメルトで。
あっというまに完成!黒い旧型と並べてます。
左右あってるかの確認はいつものとおり、MadonnaのHard CandyからGive It 2 Meを聴いて確認。
この曲、2分45秒から左右にパンしながら、"to the LEFT, to the RIGHT, to the LEFT, to the RIGHT…"って歌ってくれるんでスピーカとかアンプとか作った時の左右確認に役立ってますww

左右はあってました。
旧バージョンより音は大きくなったので期待どおり。ただ、ZEN STONE PLUSの内蔵スピーカにはかないません。STONEに使ってるスピーカユニットがほしいっ!
余計なジャック&プラグが減ったので重量的にはかなり軽くなったのではないでしょうか(未計量)。

DSC02298

こんな小さなスピーカの割にまあまあいい音してるんで、こんな風にして音楽聴いてます。

DSC02301

薄いからデスクトップPCの液晶モニタの上にも置けましたww


2月24日、25日の・・・
出来事:なし
健康:変わらず
物欲:いろいろ
懇願:なし
運動:二日間とも運動ゼロ
作る:なし
聴く:ZEN STONE PLUSのバッテリの持ちを確認するためずっと流しっぱなし。AirborneとかAddiction CrewとかGalleonとか。Galleon好きなんだけど新しい曲ださないねぇ~~
読む:フレデリック・フォーサイスの「アフガンの男」
善行:なし
懺悔:なし
良運:なし
不運:なし
仕事:いつもどおりに
買物:小型スピーカ、熱収縮チューブ、DC/DCコンバータ、他
飲食:特になし
ToDo:なし
Bucket List:追加なし



noteslate

NoteSlateがほしい!

いろいろなブログで紹介されてるから知ってる人も多いと思うけど、いま一番ほしいガジェットはNoteSlate
KING JIMのブギーボードに保存機能が付いたみたいな感じ。メモはやっぱり手書きだよね。
eInk使ってるので熱くならないとか電池の持ちがいいだろうとかいろいろと期待。
まだ発売されてなくて、発売は2011年の6月から。$99~と安いのも魅力。
3色バージョンとかすげーほしいけど発売時期がずいぶんと先みたいだし、とりあえず写真の白ボディに黒文字バージョンがほしいっす。

今のところ日本での販売予定なさそうなんで直接買いますが送料節約の為に相乗りしたい方いたらコメントしてくださいな。

「NoteSlate」ってどおゆう意味?スレートってあの屋根のスレート??ノートみたいな瓦みたいな。なのかな?と思って「Slate」を辞書で引いてみたら

slate
【名詞】
1【可算名詞】 (粘板岩の)スレート 《屋根ふき用》【不可算名詞】 粘板岩.
2【可算名詞】 石板 《昔,学童がノート代わりに用いた粘板岩製の薄い板; 石筆で書いて消す》.
3【可算名詞】 《主に米国で用いられる》 (指名)候補者名簿.

へーへーへー、2の石板の意味なのね。なるほどぉ~~~

Repair of Bose Headphone

ボーズのインイヤー型のヘッドフォン、右側が付け根で断線したので修理してみた。

DSC01748

ギリギリをカッターでちょん切る。ドライバ側のリード短いっ!!
そして半田付け。

DSC01749

Φ2mmのシュリンクチューブで絶縁。

DSC01750

その上からΦ4mmのシュリンクチューブ。
ヒートガンで暖めすぎてプラボディが若干とけた!!

DSC01751

ビニールテープで太さをあわせて、

DSC01752

Φ6mmのシュリンクチューブかぶせて縮めて完成。

DSC01753

こんな感じです。
このヘッドフォン、ケーブルの途中にパッシブのフィルタがはいってんのよね。
たぶんドライバの特性を補正するためのものだと思うけど、とっぱらってみたい!気もする。
一度ドライバ本来の音を聞いてみたいですな。

あ、折角ケーブルの途中をぶったぎったんだから、フィルタの周波数特性を計測しておけばよかった!!!しっぱい。。

値段高い割りには音はそれほどでもないヘッドフォンです。

※後継機種のBose IE2 audio headphonesにはこのフィルタついてないみたいだね。しかも安くなってる。