XRQ技研の業務日誌(XRQ Tech Lab)

2018-02-15 Arduino

Arduino uno + shield

 ウィキペディアによると「Arduino(アルデュイーノ)は、AVRマイコン、入出力ポートを備えた基板、C++風のArduino言語とそれの統合開発環境から構成されるシステム。Arduino LLC および Arduino SRL が設計・製造を行い、登録商標を持っている。」と書かれている。このプロジェクトは2005年にイタリアで始まり、ロボット制御などに手軽に使える基板として安価に提供するとして始まったという。また、オープンソースハードウェアという考えから回路構成や基板情報などが公開されていて、誰でも同様な基板が製作できるようになっている。

 Arduinoという名称の使用にはライセンスが掛けられているそうだが、同じように動作する互換機が数多く出回っていて、驚くほどの安価で入手することができる。

 私はマイコン工作にはこれまでもPICやAVRを使ってきたが、周辺の回路を構成するのに結構手間がかかっていた。しかし、このArduinoは基板として提供されており、入出力のピンが基板の周囲に出ていて、さまざまな動作に活用できる。さらにRS-232シリアル接続でプログラムできるようにUSBコネクタが設けられていて、IDE(開発アプリ)から直接プログラムを書き込むことができる。実験にはたいへん便利なものである。

 使われている言語はC++に似たもので、私のようにBASICしか使ったことのない者でも理解しやすく、日本語の解説サイトもあって、すぐにプログラミングを試みることができる。Arduinoではプログラムをスケッチと呼び、C++ライクの言語で書いたものは自動的に変換されて基板のAVRに書き込まれる。

 その昔、BasicStampというBASICインタラプタが書き込まれたPICがあり、これを使ってモールス信号の練習機を作ったことがあった。今回、これと同じようなのをArduinoを使って作ってみることにした。あっけないほど簡単に回路が組み上がった。シールドというArduinoに親亀子亀方式で組み合わせる基板があり、それを使うことでほんの数カ所ハンダ付けするだけで出来上がってしまう。

 今回の練習機はアルファベットと数字、和文の仮名をランダムに送出し、少し遅れて液晶画面にその文字を表示するものである。16文字2行のLCDを使ったので、8文字づつ10回繰り返すものとした。仮名を表示するスケッチを書くのに多少手間取ったが、どうやら動作を始めるまでこぎ着けた。

 うまくいくと、さらに機能を増やしたくなる。そこで、欧文の交信でよく使われる略語、TNX、CUAGN、QRAなどの語をランダムに発生するモードを組み込んだ。実際の運用ではこれらの略語は符号としてよりも語として受信している。ひとかたまりの音として慣れてしまう方が良いのだ。繰り返しこれらの音を聞くことにより、交信が円滑になる。

 次に組み込んだのは和文の交信で使われる挨拶である。コンニチハ、オゲンキデなど である。これらも音のかたまりとして記憶してしまう方がよい。

 Arduinoの良いところは、スケッチの変更が容易なことである。使う人が自分に使いやすいように自由に変更することができる。また、開発用のArduino unoだけでなく、組み込みに使えるような小型のArduino nanoなどさまざな基板があり、同じスケッチを走らせることができる。

 Arduinoを使ったCW_Drill製作記事