SSブログ

はんだ吸取器 [ツール]

パソコンをしていると、8ヶ月の息子が邪魔をしてきます。
以前に使っていた PFU Happy Hacking Keyboard Lite を与えました。
スペースキーの接触が悪くなりお蔵入りしていたものです。
ところが、やたらコードを舐めるので、分解してコードレスにしてみました。
分解したついでに基板も取り外し、部品取りをしました。
hhkboards1.jpg

そのときに使ったのが、はんだ吸取器 HAKKO 808です。
hk808.jpg
[HAKKO] | はんだ吸取器 | HAKKO 808
http://www.hakko.com/japan/products/hakko_808.html

いままで、はんだ吸い取り線やスッポンで苦労していたのですが、808は気持ちいいくらい吸い取ってくれます。
お手入れは説明書をみてもよくわかりませんでしたが、実際さわってみると簡単にできました。

hhkboards2.jpg

表面実装部品以外のパーツはすっかりきれいに取り外せました。

このキーボードになにか仕込めると楽しいかも。








USBシリアル その2 [Arduino]

結局、ATtiny45版の他に、ATtiny2313版も作ってしまいました。
avrcdc-45-2313.jpg
本家の表面実装パーツに比べるとかさばります。

それぞれの組み立て回路図はこんな感じです。
<ATtiny45版>
circ-avr232-t45.png
<ATtiny2313版>
circ-avr232-t2313.png

CDC-AVRのページには、ツェナーダイオードではなくLEDで全体の電圧を落として使うように書いてあったのですが、意味なくLEDが光っているのもいやだったので、ツェナーダイオードを使いました。
ATtiny45版では、1カ所ジャンパの代わりにポリスイッチを挟んでみました。(ほんとはプルアップ抵抗の前に入れるべきでしょうが、ちょうどジャンパの代わりになって一石二鳥かなと、、)
ATtiny2313版では、ICソケット下にジャンパを通すのですが、秋月電子通商で買ったソケットは19番と20番の間にしきりがあるので、あえてあの位置になりました。
あと、ATtiny2313版は外部クロックが必要なのですが、ファームウェアを書き込むときにFuse (Lo:FF, Hi:CD, Ex:FF) を書き込んだ以降は外部クロックがないと操作できなくなるので、実際に回路の組み立てが終わってATtiny2313を搭載した上でICクリップで挟んで操作することになりました。

はじめUSBのD+,D-の信号線を逆にしていたため認識せず焦りましたが、原因も究明でき、デバイスドライバを要求してきたのでインストール。

avrcdc-test.jpg
Tx, Rxをワイヤーでつないでループバック試験をします。
Arduino IDEのシリアルモニターでBaud Rateを設定して、テキストボックスに入力した文字が返ってきたらOKです。
DTR制御線がなく、リセットができないことが残念なところです。

ドライバのインストールは64ビット版だと何やら面倒なようです。
うちの32bit Vistaでのドライバインストールは次のとおりです。

続きを読む


USBシリアル その1 [Arduino]

自作Arduinoで困るのはパソコンとのシリアル接続。metaboardはスケッチの書き込みにしかUSBを使えないのであいかわらず、

FT232RL搭載小型USB-シリアルアダプタ 5V
http://www.switch-science.com/products/detail.php?product_id=342

を使っています。

Arduinoとはピン配列が違ったりDTR信号がなかったりするわけですが、安いものなら400-500円くらいで売っているようです。

変換アダプタ > USB->TTL - aitendo@shopping
http://www.aitendo.co.jp/product-list/274

でも、調べてみると自作する方法もあるようです。

ソフトウェア USB による仮想 COM ポート AVR-CDC - CDC-232
http://www.recursion.jp/avrcdc/cdc-232j.html

ここではいつも使っているArduinoと同じAVRマイコンを使っています。
いろいろ制限はあるようですが、とりあえずファームウェアを書き込みさえできれば、あとは電子工作でよさそうです。コンパクトなものがいいので、ATtiny45を使用したもので行こうと思います。
というわけで早速ファームウェアの書き込みをしてみます。
以前に作ったブートローダライターにICSPの6ピンのヘッダーを付けておいたのでこれを利用します。

ブートローダライター [AE-UM232R]
http://hello-world.blog.so-net.ne.jp/2011-03-27

書き込まれる側にはICクリップを使うという技がありました。

AVRISP mkIIとAVR Studio 4で始めるAVRマイコン開発
http://homepage.mac.com/keinsoft/archive/hardwares/090112-avr1ststep-avrispmk2/090112-avr1ststep-avrispmk2.html

たしかに便利。
というわけでATtiny45用に作ってみました。

clip1.jpg
clip2.jpg
ケーブル圧接型ソケットも初めて使いましたが、安い万力みたいなものでカチカチっとしたらくっつきました。
clamp.jpg

書き込みソフトは avrdude-GUI [YCIT] を使わせていただきました。新バージョンです。

AVR/avrdude13 - 千秋ゼミ: avrdude-2011-0610版 【ダウンロード】
http://202.35.250.1/ken/senshu/sitedev/index.php?AVR%2Favrdude13#n9d66a8a

avrdudecdc1.png
「Programmer」 を 「(diecimila) FT232 Sync Bitbang」 にして、「Read」 ボタンを押して、マイコンの種類と Fuse が表示されれば接続はOK
avrdudecdc2.png
「Flash」 にダウンロードしたHexファイルを指定して、「Fuse (HEX)」はReadme.txt の通りに指定して
    Fuse bits
                          ext  H-L
        ATtiny2313         FF CD-FF
        ATtiny45/85        FF CE-F1
        ATmega8               8F-FF
        ATmega48/88/168    FF CE-FF

「Write」ボタンで書き込み完了。

次回は、ハードウェアです。

タグ:AVR-CDC

Arduino Mega 2560 間違い探し [Arduino]

mega2560a.jpg

Arduino Mega 2560 を買おうと思って安いサイトを探していたら、
Aliexpress.com
http://www.aliexpress.com/
というところに行き着きました。
中国の業者と買い手の橋渡しをするようなサイトの様です。
aliexpress.png

ここの一番安いところで注文して、2週間弱で届きました。
alimega.png
値段は送料を含めて $33.77 と日本円で2700~2800円くらいで非常に安かったのですが、、
なにやら違和感があります。

 ・箱に入っていない (プチプチにくるんであった)
 ・ハンダがテカテカしていて鉛フリーではなさそう
 ・シルク印刷が薄い感じがする

ということで、今回購入したものと、Arduinoのサイトに載っているものを比較してみました。

<今回購入したもの>
mega2560b.jpg
mega2560c.jpg

<本家>
http://arduino.cc/en/Main/ArduinoBoardMega2560
mega2560org.jpg

比較してみると、、
mega2560b2.jpg
パーツの違いや、シルク印刷のフォントやサイズ、USBコントローラのICSPピンがついていたり、、
いろんなところが違っていました。
裏面も「DESIGN IN ITALY」とあり、イタリア製ではないみたい。

タグ:Arduino Mega

続・自作プロトシールド [Arduino]

自作プロトシールドの続きです。
秋月電子通商で以下のものを注文してみました。

片面ガラス・ユニバーサル基板Cタイプ1.27mmピッチ(72x48mm): パーツ一般 秋月電子通商 電子部品 ネット通販:
http://akizukidenshi.com/catalog/g/gP-04707/
ピンソケット1x6(6P): パーツ一般 秋月電子通商 電子部品 ネット通販:
http://akizukidenshi.com/catalog/g/gC-04045/
ピンソケット1x8(8P): パーツ一般 秋月電子通商 電子部品 ネット通販:
http://akizukidenshi.com/catalog/g/gC-04046/

合計は、100 + 30x2 + 40x2 = 240 (円) となりました。

universalshield3.jpg
ユニバーサル基板をArduinoに合うように切断しました。

universalshield4.jpg
ピンはピンホールとピッタリのはまり具合でした。

ほんとは、ソケットなしのピンだけというもの(釘のような形?)のものがあるといいのになぁ。

日本語対応の電光掲示板ができました [Arduino]

いままでの成果

・I2C EEPROM
・日本語処理
・16x8 マトリックスLED

これらをまとめたものが完成しました。


シリアルで入力した文字列を、スクロール表示するスケッチです。
ふと思ったのは、LinuxやMac OSだとシフトJISでないかもしれないことです。
しかし確認のしようがないのでごめんなさい。

あと、アナログピンソケットの接触不良は、ピンをすこし曲げることで応急処置が可能でした。

スケッチはビギナーらしく、きれいとは言えませんが、
 i2c_eeprom_read_buffer()
 sjisToElisa()
 asciiToElisa()
 matrixClear()
 matrixRefresh()
これらの以前使ったものを再利用して、
さらに、シリアルからのテキストを受信/テキストをドットイメージに変換/スクロール表示部分を追加しました。

お恥ずかしながら、スケッチを載せます。

続きを読む


16x8 マトリックスLED 電光掲示板 [Arduino]

Arduinoで、8x8マトリックスLEDを1つなら普通なのですが、

ikkei Electronics:
http://web.mac.com/kxm_ikkei/Site/Welcome.html

ここに、なんと16ピンだけで8x8マトリックスLEDを2つも駆動する方法が詳細に書いてありました。
「Charlieplexingの考察と8x8ドットマトリクスLEDへの適用.pdf」
を熟読してなんとか理解しました。
肝は、Arduino のI/Oを 入力(INPUT)にすることでHi-Z (ハイ・インピーダンス:回路の出力が電気的に接続されていないような状態)とすることの様です。
とても感心いたしました。

赤色LEDドットマトリクス(8×8)38x38mm TOM-1588BH
http://akizukidenshi.com/catalog/g/gI-00963/

が、販売終了になってしまったので、

2色(赤・緑)LEDドットマトリクス(8×8) BU5004-RG
http://akizukidenshi.com/catalog/g/gI-00889/

を赤だけ使うことにしました。

前回の自作シールドを使って電光掲示板をつくってみました。
matrix1608-p1.jpg
matrix1608-p2.jpg
接触不良のため、輪ゴムで固定しないと点灯しない行や列ができてしまいました。

スケッチを簡単にするため、ArduinoのI/Oピンの順番とLEDの列の順番を合わせました。
配線はUEW線というものを使いましたが、初めてのUEW線で、エナメルが熱で溶けるのかどうか、エナメルの被覆がはがれているのかどうかよくわからない状態で困難をきわめました。見た目も美しくありません。

matrix1608-1.jpg
今後の漢字表示のためにEEPROMも搭載しています。

matrix1608-2.png
LEDの真ん中の列は、赤のカソードで行(ROW)の順番どおりに配置されているので助かります。
(抵抗が入っていますが説明簡略化のためこの図にはなかったことにしてあります)

matrix1608-3.png
右側のLEDのカソードを左側のLEDの列(COL)となるアノードに

matrix1608-4.png
左側のLEDのカソードを右側のLEDの列(COL)となるアノードに

matrix1608-5.jpg
悲惨な裏面、、。

スケッチは比較的シンプルになりました。

// 8x8 matrix LED を ikkeiplexing で 2個使う
byte hello[] = {
  0b11111111,
  0b00010000,
  0b11111111,
  0b00000000,
  0b01111000,
  0b10010100,
  0b01011000,
  0b00000000,
  0b11111111,
  0b00000000,
  0b11111111,
  0b00000000,
  0b01110000,
  0b10001000,
  0b10001000,
  0b01110000
};

void setup() {
}

void loop() {
  matrixRefresh( hello );
} 

void matrixClear() {
  for(int i = 0; i < 16; i++ )  pinMode( i + 2, INPUT );
}

void matrixRefresh( byte bitmap[] ) {
  for(int x = 0; x < 16; x++ ){
    matrixClear();
    pinMode( x + 2, OUTPUT );      // 点灯する列を指定
    digitalWrite( x + 2, LOW );
    for(int y = 0; y < 8; y++ ) {  // 指定列のデータを表示
      if( bitRead( bitmap[x], y ) ) {
        pinMode( y + ( ( x < 8) ? 10 : 2 ) , OUTPUT );
        digitalWrite( y + ( ( x < 8) ? 10 : 2 ) , HIGH );
      }
    }
    delay(1);
  }
}


Arduinoだとピン数が足りないけど、Sanguino や Arduino mega だと、24ピンだけで 8x8の2色マトリックスLEDを3つ駆動することができるんじゃないかなぁと思っています。
rg8x8x3.png
2色のマトリックスLEDを3つつなげようと思うと
単純に接続した場合、
  (Red 8 + Green 8 + Common 8) x 3 = 72 ピン
commonを3個で共有したとしても、
  (Red 8 + Green 8) x 3 + Common 8 = 56 ピン
逆にRed, Greenを3個で共有したとしても、
  Red 8 + Green 8 + Common 8 x 3 = 40 ピン
必要なはず。
ikkeiplexing はすごいなぁ。
ただ、駆動する個数が増えると電流や明るさの問題がでてくるかもしれませんね。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。