hardwareの最近のブログ記事
当時、PICで制御してみたいなーともくろんでいてたんだけど、あっさり投げ出していたのだった。
arduinoの場合、(リファレンスいわくHitachi HD44780とその互換チップセットをベースにした)LCDを制御するライブラリが標準装備なので、print感覚で文字表示できる、はず。。。
とりあえず、同梱の説明書にある、「バックライトの電源を液晶側を共有」するようにちまちまとハンダづけする。J2にハンダを盛ってショートさせ、R8に添付されてた抵抗100Ω×3を並列に接続。
同梱されてたピンヘッダを何も考えずにモジュール背面にとりつけたのだけど、ネットで見かけた作例だとピンソケットを全面にとりつけている人もいた。そしたらジャンプワイヤで簡単に接続出来てお試ししやすいのか。そういう考え方もあるんだなー。
すでに取りつけてしまったものはCTRL+Zでとりはずすこともできず。さりとて電子工作初学者の自分は、ハンダを吸い取るのもおっくうで、このまま進むことにするのだった。
ユニバーサル基板にソケットとコントラスト調整用の半固定抵抗をのっけた。
説明書によれば、pin3 コントラスト調整用電源は、「=Vssで最も濃くなる」とあったので、何も考えずにGNDに繋いだら、何も表示していない部分や表示した文字の上下に不必要なドットが現れてしまった。
手元に500Ωの半固定抵抗があったので、えいやっと繋いだけど、180度中、コントラスト調整として意味があるのは30度ぐらいだけになってしまった。残りの150度ぐらいは何も映らない。。。
スケッチはただのコピペ。
使ってる液晶が20桁4行なので、初期化パラメータだけちょびっと変更。
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);
void setup()
{
lcd.begin(20, 4);
lcd.clear();
lcd.cursor();
lcd.blink();
lcd.setCursor(0, 0);
lcd.print("ohayo");
lcd.setCursor(2, 1);
lcd.print("oyasumi");
lcd.setCursor(4, 2);
lcd.print("ore dayo ore ore");
lcd.setCursor(6, 3);
lcd.print("moshi moshi");
}
void loop()
{
}
もはや制御らしい制御がコードに現れてこないのがすごい。
リファレンスによれば、blink()の結果はディスプレイ次第だそう。この液晶モジュールではカーソル位置に、下線→黒塗りつぶし四角のアニメーションが表示された。
環境:
Windows 7 Ultimate x64
Arduino 0018 (IDE)
Arduino Duemilanove 328
一か月ぐらい前にamazonで入門キットを購入したのだけど、忙しくてなんとなく放置してた。
キットに入ってたのは「Arduino Duemilanove 328」。
準備:
実装
実装、というほどのことはしていないけど、なにかしら入力と出力があるものしたいなと考え、
スイッチをONにするとLEDが光る (^^;;
を目指してがんばる。。
12番ピンを出力としてLEDの点灯制御に。
11番ピンを入力としてスイッチの入力に。
タクトスイッチのどの足がどのように繋がるかも知らなかったので、テスタ片手にポチポチと試したり。
ネットで調べると、デジタルの入力にはプルアップ/プルダウン抵抗というのを付けるのだとか。
スイッチON→真でコードが書けないと気持ち悪いという理由でプルダウン抵抗にしてみる。
※Arduino(というかAVRマイコン?)は内部プルアップを持ってるので、回路的にはプルアップの方がシンプルに。
Arduino IDEを起動して、ボードの種類とCOMポートを設定。
コードはこんな感じに。
コンパイルしてUpload。
タクトスイッチを押したらLEDが点灯した。わぁ。
入力にプルアップ/プルダウン抵抗を付けないと、スイッチOFF時の入力値が定まらないというか不安定になる、ということが、ソフトウェア屋からするとなんとも不思議な感じ。
digitalRead()の後で入力値を、
Serial.println(sw);
でシリアルに出力してみると、確かに1だったり0だったりする。
ソフトウェアってのは多くの抽象化レイヤの上に成り立ってるのだな~と実感する。
環境:
Windows 7 Ultimate x64
Arduino 0018 (IDE)
Arduino Duemilanove 328
これではじめました
USBはB端子です
ここから大ジャンプは無理だけど
キットに入ってたのは「Arduino Duemilanove 328」。
準備:
- Arduinoの公式サイトからIDEをダウンロード。バージョンは0018。
- JRE6が同梱されてる。
- B端子のあるUSBケーブルを用意してPCとボードを接続
- Windows 7の場合、ドライバは自動インストールをじっと待てばOK。そのまま使えるようになる。
→公式サイトのGetting Startedで「Really, it works!」って書いてあるのがウケる。 - ここの環境は64ビットだけど普通に使えた。
- ここの環境では、USB Serial PortにCOM3が割り当てられた。
実装
実装、というほどのことはしていないけど、なにかしら入力と出力があるものしたいなと考え、
スイッチをONにするとLEDが光る (^^;;
を目指してがんばる。。
12番ピンを出力としてLEDの点灯制御に。
11番ピンを入力としてスイッチの入力に。
タクトスイッチのどの足がどのように繋がるかも知らなかったので、テスタ片手にポチポチと試したり。
ネットで調べると、デジタルの入力にはプルアップ/プルダウン抵抗というのを付けるのだとか。
スイッチON→真でコードが書けないと気持ち悪いという理由でプルダウン抵抗にしてみる。
※Arduino(というかAVRマイコン?)は内部プルアップを持ってるので、回路的にはプルアップの方がシンプルに。
Arduino IDEを起動して、ボードの種類とCOMポートを設定。
コードはこんな感じに。
void setup() {
pinMode(12, OUTPUT);
pinMode(11, INPUT);
}
void loop() {
int sw = digitalRead(11);
if (sw) {
digitalWrite(12, HIGH);
}
else {
digitalWrite(12, LOW);
}
delay(100);
}
コンパイルしてUpload。
タクトスイッチを押したらLEDが点灯した。わぁ。
入力にプルアップ/プルダウン抵抗を付けないと、スイッチOFF時の入力値が定まらないというか不安定になる、ということが、ソフトウェア屋からするとなんとも不思議な感じ。
digitalRead()の後で入力値を、
Serial.println(sw);
でシリアルに出力してみると、確かに1だったり0だったりする。
ソフトウェアってのは多くの抽象化レイヤの上に成り立ってるのだな~と実感する。
環境:
Windows 7 Ultimate x64
Arduino 0018 (IDE)
Arduino Duemilanove 328
Arduinoをはじめようキット
posted with amazlet at 10.04.25
スイッチサイエンス
売り上げランキング: 1553
売り上げランキング: 1553
おすすめ度の平均: 

これではじめました
USBはB端子です
ここから大ジャンプは無理だけど
以前、Cマガジンで「自分だけのUSB機器を作ろう」という特集を読んだとき、自分で操作できるUSB機器を作ってみたいなぁと思ったもののなんとなくスルーしていた。
最近ふとしたきっかけで、ストロベリーリナックスの「EZUSB電子工作入門パーツセット」というキットを知った。これは、EZUSB FX2マイコンボードと「EZ-USB電子工作入門」に出てくる作例に対応した部品(掲載のほとんどのパーツ。詳細はストロベリーリナックスのページを参照)がセットになったものだ。
書籍だけ買ってながめていたら、あれこれ作ってみたいものがふつふつ浮かんできたので、さっそくオーダー。
土曜日の昼過ぎに申し込んだら月曜日のAMにはもう届いてた。当然不在だったのだが、こういうとき郵便の代引きを使うと24時間荷物を受け取れるから便利だ。深夜に郵便局まで行って受け取ってきた。
なんせ半田付けなど中学時代以来。電子工作の道具など何も持っていないので道具からそろえることに。
作例どおり作って「電子工作→ファーム作成→転送→動作」という流れに慣れるってセンで。
最初に組み立てるEZUSBワンボードマイコン
クリスタル発信器、ポリスイッチ、USBコネクタ、EEPROMソケット、ピンソケット、をはんだづけしてできあがり。 ここで一応疎通確認。細かいことはあちこちに載ってるので割愛。
電光掲示板部分の表。
LED、抵抗×8、LEDの下方に真ちゅう線×8、をはんだづけ。
EZUSBボードと比べるとはんだづけが多い&細かくて大変だ。。隣り合うスルーホール間で部品をはんだづけするだけで一苦労。
一番左の抵抗だけズレているのは、足の切り方があまくてスルーホール3マス分に収まらなかった(^^;)
はんだ盛りすぎというかなんというか(^^;)
電光掲示板部分の裏。
ピンヘッダ、リード線をはんだづけ。
部品の足やピンをはんだづけするのは割りとすぐに慣れるけど、ピンとリード線をはんだづけするのは手間取るなー。
EZUSBのボードと電光掲示板のボードをソケットで接続。
bulkloopと同様に、ファームを転送し、USBホストプログラムを実行して電光掲示板風。
ファームもUSBホストも書籍についてきたものそのまんま。
動いたー。
もっと工作部分の練習をしないといかんね。
最近ふとしたきっかけで、ストロベリーリナックスの「EZUSB電子工作入門パーツセット」というキットを知った。これは、EZUSB FX2マイコンボードと「EZ-USB電子工作入門」に出てくる作例に対応した部品(掲載のほとんどのパーツ。詳細はストロベリーリナックスのページを参照)がセットになったものだ。
書籍だけ買ってながめていたら、あれこれ作ってみたいものがふつふつ浮かんできたので、さっそくオーダー。
土曜日の昼過ぎに申し込んだら月曜日のAMにはもう届いてた。当然不在だったのだが、こういうとき郵便の代引きを使うと24時間荷物を受け取れるから便利だ。深夜に郵便局まで行って受け取ってきた。
なんせ半田付けなど中学時代以来。電子工作の道具など何も持っていないので道具からそろえることに。
用意したもの
- 鉛フリー対応はんだこて
- 「鉛フリー」というキーワードだけは聞いたことがあった。よくわからんが鉛が溶け出して問題になってるっていうし、これがいいだろう(と考えたのが不幸の始まり。鉛フリー半田があんなに扱いにくいものだとは・・)
- セラミックヒーターとニクロムヒーターが並んでいた。これまたよくわからんがセラミックがよさそうだ、と適当に選んだ。「鉛フリー対応こて先」って書いてあるし。大洋電機「CXR-40」
- 鉛フリーはんだ
- 自分が最後に半田付けしたときは、鉛フリー、なんて書いてある半田なんかあったかな・・・。よくわからんのでこれに。
- はんだこて台
- 最初はこて先クリーナーにこてを乗っけられるタイプのものを使っていたが不安定で危ないと思った。
- なので後から、こてをホールド出来るタイプを買った。
- テスター
- ソフトウェアのデバッグの場合、手がかりをいかようにもアウトプットすることが出来るが電子工作の世界はそうはいかんだろう、ということでテスターも購入。
- アナログタイプとデジタルタイプがあったが、なんとなくアナログタイプを購入。
- ピンセット
- 手で持っているとはんだづけするときにやけどしちゃうので必須。
- はんだづけの場所・角度によっては、こてとピンセットを持ち替えないとはんだづけが難しかった。。。
- ニッパー
- リード線を切ったり、部品の足を切ったり。
- はんだ吸い取り線
- 修正できるように。
電光掲示板を作る
電子回路の知識は皆無だし、はんだづけも中学生のとき教材でラジオ/インターホンを作って以来だ。作例どおり作って「電子工作→ファーム作成→転送→動作」という流れに慣れるってセンで。
最初に組み立てるEZUSBワンボードマイコンクリスタル発信器、ポリスイッチ、USBコネクタ、EEPROMソケット、ピンソケット、をはんだづけしてできあがり。 ここで一応疎通確認。細かいことはあちこちに載ってるので割愛。
- USBポートに接続
- EZ-USBのドライバをインストール
- bulkloopというファームを開発キットに添付のIDEでビルドする。
- EZ-USBコントロールパネルから「Download」ボタンでファームをEZ-USBに転送。 「Cypress EZ-USB Sample Device」でドライバを要求されるのでこれもインストール。
- bulkloop.exeを実行して動きを確認。
電光掲示板部分の表。LED、抵抗×8、LEDの下方に真ちゅう線×8、をはんだづけ。
EZUSBボードと比べるとはんだづけが多い&細かくて大変だ。。隣り合うスルーホール間で部品をはんだづけするだけで一苦労。
一番左の抵抗だけズレているのは、足の切り方があまくてスルーホール3マス分に収まらなかった(^^;)
はんだ盛りすぎというかなんというか(^^;)
電光掲示板部分の裏。ピンヘッダ、リード線をはんだづけ。
部品の足やピンをはんだづけするのは割りとすぐに慣れるけど、ピンとリード線をはんだづけするのは手間取るなー。
EZUSBのボードと電光掲示板のボードをソケットで接続。
bulkloopと同様に、ファームを転送し、USBホストプログラムを実行して電光掲示板風。ファームもUSBホストも書籍についてきたものそのまんま。
動いたー。
反省会
- はんだづけするときは、部品とランドをよく熱する。
- これをやらないと、はんだがうまくランドまでのっからない。
- 鉛フリーはんだは、溶けにくい。
- ネットで調べてみると、扱いにくいものらしい。
- 既に付けた部分で、しばらくこてをあてないと溶けなくて、やり直しに苦労した。
- 基盤を固定する万力?があったほうがいいようだ。
- 左手にピンセットで挟んだリード線、右手にはんだこて、で一度はんだづけしたピンにリード線をつけようとはんだを溶かしていると、基盤が「くるー」っと回転してウキーという気持ちになる(^^;)
- 電源タップにスイッチのついているものを使ったほうがいいようだ。
- はんだこてにはスイッチがないので、代わりにON/OFFできるようにタップにスイッチのついているものを選べばよかった。
- はんだこては、熱したままの状態で放置しない。
- 実は最初に買ったこて先は、酸化してしまったのか、先端ではんだが溶けないわ乗らないわで使えなくなってしまった。
- Tipリフレッサーにチャレンジしてみたものの変化なし、ということであきらめて、こて先だけ交換してしまった。
- リード線の皮膜をむいたり部品の配置をしたり、とはんだづけしないときは、はんだを溶かして塗りつけて電源を切る。
- リードストリッパーもあったほうがいいようだ。
- 書籍によれば、上手い人はニッパーで剥けるらしいが、やってみたら切れてしまった。
- なので、カッターで片側の皮膜を削り、残りを手で剥いてニッパーでカット、という手間がかかった。
もっと工作部分の練習をしないといかんね。

