先日秋葉原の秋月電子で面白いものを見つけました
ユニバーサル基板の表面にブレッドボードのような印刷が施してあるものなのですが、
なんと裏のパターンはブレッドボード同様に配線されています
これを使えば、小さいブレッドボードに組んだ回路をそのままの配置で基板上に半田付けできるという訳です。
ブレッドボードからユニバーサル基板に移す時って何かと難しいですからね。。。とりあえず3枚ほど買ってみました。
記事一覧
ブレッドボードのようなユニバーサル基板
FT232RL接続用基板
PCからスケッチを自作ArduinoにアップロードするためにFT232RL USBシリアル変換モジュールを買いましたが、ブレッドボードに抜き差しする時にピンを傷めてしまいそうなので、ピンソケットを付けたFT専用の基板を作ることにしました
ユニバーサル基板を適当に切り出し、ピンソケットを左右に2列ずつ半田付け。外側のソケットはブレッドボードとジャンパ線でつなぐ場合のために設けました。あと、送受信の確認用のLEDも付けています。
Arduino基板とはL型のピンヘッダ&ソケットでつなぎます。
と、ここまでは良かったのですが、いざ完成してArduinoとつないでもスケッチをアップロードできません。。。
IDEで「not sync」と表示されるため、配線が間違っているのかあれこれチェックしましたが、間違っているところはなさそうです。
2時間くらい悩んで、FTとピンソケットの接触不良であることが分かりました。というのは、FTにはブレッドボード用の細いピンが装着されており、ピンソケットの穴が緩くうまく接触していなかったようでした。
試行錯誤してFTのピンを微妙に曲げながら、無事IDEからスケッチもアップロードできるようになりました。
Arduinoとの接続に関しては、「Arduino/Arduino の自作/DuemilanoveTYPE」を参考にさせていだきました。
上記サイトには載っていませんでしたが、送受信確認のLEDはCB0、CB1とVCCの間に挟みます。
自作Arduinoを基板に乗せました
ボートローダを書き込んだATMEGA328を端材のユニバーサル基板に乗せてみました。部品点数は少ないけど、小さい基板に詰め込むのは結構大変でした。
いつ断線orショートするか分からない危うい半田付けです・・・
とりあえずブレッドボードに刺せるようピンヘッダを仕込んでいます。
達人の域に達すればこんな技もできるみたいです
One-Chip Arduino ver. 2.0
Arduino 2台体制で出来ること
昨日Arduinoクローンを作ったので2台体制となりました。
ここで以前から気になっていた、Arduinoでオシロスコープを動かすことを試してみました。
Arduinoで動くオシロをネットで検索してみると、
国立九州大学さんの「Arduino 簡易オシロスコープ」
Ichiro Marutaさんの「Arduinoで簡易オシロスコープ」
の2つが見つかりました。両方組んで試してみたのですが、Ichiroさんのオシロの方は追加部品も不要で簡単に作れます。
オシロを表示するプログラムは、Proccessingという実行環境を使用しますが、現在のバージョンではコンパイルが通らないので1.5.1を使います。
(ダウンロードページの下、Stable Releases 1.5.1)
Windows側は「Arduinoで簡易オシロスコープ」のソースをコピペして実行。
Arduino側はオシロのソース最後尾でコメント化されている「/* Arduino code」以下のコードをArduinoIDEにコピペしてコンパイル、1台目のArduinoにアップロード。
これで、オシロ側は完成!
続いて実験対象の作成ですが、2台目のArduinoに以下のプログラムを仕込みます。
int led = 13;void setup() {
pinMode(led, OUTPUT);
Serial.begin(9600);
}unsigned long prevMilli = millis();
int pls = 1;void loop() {
unsigned long currentMilli = millis();
if (currentMilli - prevMilli > 1000) {
pls = pls < 10 ? pls+1: 1;
Serial.println(pls);
prevMilli = millis();
}
digitalWrite(led, HIGH);
delay(10);
digitalWrite(led, LOW);
delay(pls * 10);
}
サンプルソースのBlinkに手を入れてOn/Offの時間を切り替えるものです。

2台目のArduinoを接続すると、IDEのシリアルポートにCOM4が追加されるので、そちらを選択してアップロード。
13番ピン、抵抗とGNDにオシロから引いてきたアナログ0、1、GNDを接続して計測。
Windows側で以下の波形が確認できました。

(デューティ比50%)

(デューティ比10%)
やっぱり画面でリアルタイムに波形が変化するのは見ていて楽しいですね。
あと、Proccessingという開発環境にも興味を持ちました。ArduinoIDEと似たインターフェイスで使用言語もC/C++っぽくて入りやすいです。
秋月のオシロスコープキットを買おうか迷っていたのですが、しばらくはこれで遊べそうです。
Arduinoを自作してみました
Arduinoはサクサクッと回路を組んで、ガリガリッとプログラムを書いて、パパッと走らせることが、本当にお手軽にできる楽しいガジェットです。
ただ、そのお手軽さゆえに幾つか回路を試していると足りなく感じる物があります。
その一つはブレッドボードとジャンパケーブル
こちらは小さいものを買い足しながら使っています
電源ラインがあるミニサイズや+-は無いけど150円という格安のものなど小さい回路では重宝しています。
ケーブルは店頭で見つけた、とにかくたくさん入ったセットが線も細くて便利です
もう一つ、やっぱりどうしても欲しくなるのが2台目3台目のAduino本体ですね。でも1台あたり2500円ほどするので買い足すのも気が引けます。ということで、ネットで調べてみると色々とArduinoそのものを自作されている方がいるようです。私も先人を見習ってArduino互換のマイコンを作ってみることにしました。
準備
互換機を作るために以下のものを調達しました
- AVRマイコン ATMEGA328P-PU 1個250円
- クリスタル(水晶発振子) 16MHz通販では10個パックですが、店頭では1個50円でした
- コンデンサは22pFが2個と0.1μFが1個必要
- 抵抗は1Mと10kが1個ずつ
- リセット用の押しボタン
あと、USB接続にして直接スケッチをアップロードしたかったので
- 抵抗1kが2個とコンデンサ0.1μFを1個
ブートローダ
ブートローダの書き込みはこちらを参考にしました
http://midohaji.ryokuondokei.com/content/4.html
クリスタル無しの回路もありますが、失敗すると面倒らしいのでクリスタル有り回路を採用
現在公開されているoptifixは当時のものと違うようです
以下のように修正
42行目の #include <avr/pgmspace.h>
↓コメントアウトして<Arduino.h>に書き換え
//#include <avr/pgmspace.h>
#include <Arduino.h>
とくにトラブルなく、すんなり書き込めました
単独起動
主に以下のページを参照
http://robo.mydns.jp/Lecture/index.php?Arduino%2FArduino%20%A4%CE%BC%AB%BA%EE%2FDuemilanoveTYPE
FT232RLのデバイスドライバをインストールしてつなぎました
IDEでも単独のArduinoとして認識され、スケッチのアップロード・実行が問題なく動作しました
※注意点
ネット上には古い情報もあり、ATMEGA168を想定した回路図も多いようです。私の方では、Arduino UNO +ATMEGA328Pの組み合わせだったので、上記HPの情報を採用しました
これで以前作ったUWB基板状のものを作れば、ブレッドボード直刺しで使えそうです