2016/02/24

OLED 有機ELディスプレイ

 I2C通信の有機ELディスプレイ。幅は、指2本ほどの小さいやつ。I2C だから、データピン2本と電源2本、計4ピンだけで動作する。手元に置いておくデバイスなら、そのまま組み込めそうだし、デバッグ用途にも便利そう。ESP8266 だと好きな GPIOピンで使えるっぽい。
#include <Wire.h>

void setup() {

Wire.begin(SDA, SCL);


2016/02/22

Max6675 K型熱電対温度センサモジュール


 デジタル3ピン+電源2ピン、計5ピン接続で、簡単に温度測定できる。ネジみたいなのがセンサ部。

2016/02/18

ESP8266 WiFi リモコン3


 肝心のリモコンの操作ボタンをどうするか悩ましい。とりあえずテンキーにリモコンのモジュールを組み込んでみた。電池駆動にしたので、きちんとワイヤレス化できた。ジョイステックは、さして操作性が良くないので外してある。

 受光部へリモコンを向ける必要もないから、据え置き型も有り。なら、スマホでいいじゃん、と言われるかもしれないが、あくまでも物理ボタンは必要。なんのことはない、ストレート形の携帯電話が理想の形かも。

 結局、アナログなインターフェイスを、どう作るかって話になると、もう、部品がどうのじゃなくて、必要なのは工作機械なんだよな。NC付きのフライスが欲しい。
※ 技適マーク無しの無線デバイスの実験は、日本国外で行いましょう。

2016/02/09

ESP8266 + Arduino IDE


 ESP-01 専用に、スイッチを2つ付けた書き込み専用の治具的なものを作った。手順としては、GPIO0 と GND 接続した状態(赤チップLEDだけ点灯)で、リセット(RST と GND 接続)して書き込みモード。リセット直後、一瞬、ESP-01 の青チップLEDが点灯するので、後は、Arduino IDE の Upload ボタンを押せばいい。

 USB-TTL 変換モジュールからの 3.3V では、プログラム実行時に、WiFi通信に必要な電流が足りず、まともに動作しない。書き込み自体は、成功するので問題はないが、一応、5V から、3.3V をつくって使っている。中央の青LEDは、GPIO2に繋いであり、プログラム起動の確認に使う。

 実際のプログラム・デバッグ作業は、LoLin 上で行い、出来上がったものを、ESP-01 に書き込めばいい。

 LoLin は、Arduino 同様、小細工無しで、そのまま書き込める。使用中の IDE は、ARDUINO 1.6.5-r5 - 2015.08.28 版。

※ 技適マーク無しの無線デバイスの実験は、日本国外で行いましょう。

2016/02/05

ESP8266 WiFi リモコン2


  組み込み用のコンパクトな Pro Mini 3.3V/8MHz と ESP-01 を選択。各入力(ジョイスティック、キーパッド、ボリューム)は、Arduinoで処理して、ESP8266 は、WiFi通信だけさせる。WOL で電源ON。操作コマンドは、UDP 通信。

 ESP-01 の CH_PD ピンの役割が、さっぱり分からない。VCC と直結でいいんじゃね? 抵抗を入れるのと、どう違うのよ?

 それにしても、この WiFi モジュール。この小ささで、こいつ自身が、Arduino IDE から使えるんだよ。マトモなアナログピンが追加されたら、ATmega なんぞいらなくなるわ。

 一般PC の世界は停滞感バリバリなのに比べ、マイコンの世界は、色々動いていて面白い。
※ 技適マーク無しの無線デバイスの実験は、日本国外で行いましょう。

2016/01/15

Alan Rickman アラン・リックマン


 やっぱ、「ダイ・ハード」か。

 しかし、「ギャラクシー・クエスト」も捨てがたい。
2016年1月14日(69歳没)

2016/01/12

David Bowie デヴィッド・ボウイ


 「ラビリンス/魔王の迷宮」を観よう。
2016年1月10日(69歳没)

2016/01/01

ESP8266 WiFi リモコン


 NodeMCU のパチモン(LoLin)、ESP8266 っていうWiFi機能付きのマイコンに、USB がついて、そのまま書き込みも可能なタイプ。これ、中々凄くて、単体で無線ルータ経由して、ネットワーク通信できたりする。クライアントでも、サーバでも、色々出来ちゃう。Lua って言語で操作するらしいが、あれこれ覚えられないので、動作確認だけして、Arduino IDE から利用することにする。

 僕のような、素人は、間違いなくUSB のついたヤツにしておいたほうが、無難。といいつつ、Lチカするのに、半日かかった。謎デバイス過ぎ。というか、資料少ないし。ともあれ、ワイヤレスリモコン的な実験をしてみる。

 4x5のキー・マトリクスを組んで、押されたボタンのデータを、UDPで送信。ラグも感じないし、普通に使える。受光ユニットも必要ないし、システム的には、かっこいい。まぁ、ルータへの接続に数秒かかるので、つけっぱなしで使えるよう電源確保しないと実用的じゃないのかも。なら、スマホでいいじゃん、ってなツッコミが。

※ 技適マーク無しの無線デバイスの実験は、日本国外で行いましょう。

2015/12/22

Arduino USB IR Receiver

 Pro Micro もどきを使った USB 接続の受光ユニットをつくってみた。普段は、旧バイオのリモコンセットを使っているが、同じようなものを、Arduino でも出来るのか実験。

 プログラムは分かっても、電子工作側の知識は、ほとんど無し。もちろん、部品の見分けぐらいは付くし、ハンダ付けは可能。しかし、中身が良く分からない。LED は、オンオフさせるピンから、GNDへ繋ぐ。抵抗を挟んで、光り加減を調整、昔習ったオームの法則ってやつだ。動作を理解できる部分は、この辺まで。肝心のリモコンの信号を処理させるには、3本足の受光素子モジュールを、それぞれの対応するピンに接続すればいいらしい。ハード側は、あっさり完成(実際には、ブレットボードで試した後で、組み立てた)。

 で、ソフト側。このデバイスからPC側に、どうやってデータを渡すか考える。ネットのサンプルだと、キーボード入力に変換しているのが多いようだが、それではダメ。あくまでもデータだけ渡したい。データ専用の適当なUSBデバイスをでっち上げたいが、難しそう。とりあえずは、自動で割り当てられているシリアルポートで通信することにした。

 Windows で、ボタンデータを受信してコマンド振り分けする rmx 風のシリアル通信ソフトを作って試す。問題なく使えそう。ライブラリで認識されるリモコンなら、なんでも使えるのは、いい点。ただ、抵抗一つ手に入れるのに、数百円もの送料が、掛かったりもするから、電子パーツ類を簡単に手に入れられる環境じゃないと高くつく。

2015/12/21

Arduino IDE を使ってみる


 ちっこいコンピュータ、Arduino。他の人が作ったものを真似してるだけでは、何の進歩もないので、一から勉強中。開発は、Arduino IDE という、C言語風の統合環境。PC上で、プログラム作成して、USB 経由で書き込んで実行させる。各種ライブラリは、充実しているので、素人にもやさしい。ただし、コンパイル成功、失敗ぐらいで、デバッグも、へったくれもない。やはり、ある程度は、プログラム経験が無いと、厳しいかも。

2015/12/06

Pro Micro (ATMega32U4) Clone


 SparkFun Pro Microのパチもの。Arduino Leonardo として認識される。ATmega32U4 であるから、手持ちの Davinci32u の代わりになる。ADB変換は、ピン数が必要なわけじゃないから、これで十分。


2015/10/17

Lazarus 1.4.4

 いつのまにか、1.4.4 だ。意外なまでに、アップデートが続いてる。おしむらくは、ユーザがいない現実。
TIOBE Index for October 2015

 ごちゃ混ぜのランキングは無意味。上位以外は、誤差の範囲。せめて、用途別の分類とかなら参考になるのに。Lazarus は、16位の Pascal 枠? でも、Free Pascal は、Object Pascal というか、Delphi言語もどきだよな。ただの Pascal なら、Turbo Pascal とかまで遡らないとダメなんじゃないの。

2015/10/10

Lazarus ハルカたんに嫌われる


 M$ の SAPI、というか、32bit 版の Speech Server 。Lazarus だと、きちんとしゃべってくれない。Delphi だと問題なし。半角じゃない文字が認識されてないようだ。OleObject って、丸投げしてるだけじゃないのか?
var
SpVoice: Variant;
begin
SpVoice := CreateOleObject('SAPI.SpVoice');
SpVoice.Speak('ハルカたんだよ', 0);
end;

 たまに、Lazarus で検索してくる人がいるから、記事にしておく。知ってる人、いないだろうなぁ。そもそも、Lazarus 使ってる日本人て何人いるんだろ。

2015/09/21

Lazarus で自前のリソースの追加


 前は、lazres というので、手動でリソースファイルを作ってくっつけてた。Ver 1.4 から、プロジェクトオプションに直接、ファイルを指定できるようになったみたい。

2015/06/06

rSrt : srt字幕エディタ


 ソフトサブ SRT 字幕の入力・編集ソフト。字幕画像のテキスト化のためのツール。最新版は、修正したビットマップの出力だけで、それを一般の OCRソフトに丸投げして、結果を貼り付ける形に。DVDのローレゾ画像じゃ、OCR 調教も時間の無駄だった。

 OCR を省いても、文字種の分類機能は必須。アルファベットに、ひらがな、カタカナに、漢字。日本語は、複雑なんだよ。この校正補助機能がないと、使い物にならない。

 こっちは、完成済み SRTファイルの編集専用。

2015/05/28

UTF-8 は、BOM 無しで統一しよう

 テキストファイルなんかで扱う文字コードの話。古いアプリでは、今でも Shift-JIS で読み書きしていたりもしているが、Lazarus や Web なんかだと、必然的に UTF-8 を使うことになる。で、この UTF-8 ってのが、ちょいと曲者。BOM有りと、BOM無しの2種類がある。

 TeraPad では、UTF-8 と UTF-8N と、それぞれ、BOM有り・無しを意味するが、アプリによっては、BOMの有無の違いで読み込めなくなったりもする。

 Windows 上のコードページは同じ 65001 なのだから、ファイル自体も当然同じ。違いは、先頭の3バイト、EF BB BF が有るか無いか。ったく、何考えて、こんな仕様になったのか、頭悪すぎだろ。