まごころせいじつ堂

浜町庄金 研究開発 最近はArduinoとセンサ類ばっかだなあ。マイコン楽しいよマイコン

YIS-303/CX5用ビデオ接続アダプタ

 ヤマハのMSX、YIS-303を入手した。これ、ビデオとオーディオの出力が5PINのDINコネクタなので変換用の基板を作った。

Home » Wiki » Yamaha YIS-303
YAMAHA CX5

45 MSX YIS VIDEO


 YIS-303本体側とは5ピンのDINケーブルで接続する。MIDIケーブルが流用できるが、MIDIケーブルの中には全結線していないものがあるので注意。(MIDI自体は全結線する必要がないため)
3ピンプラグをRCA2個にするケーブルを使ってビデオ、オーディオ出力に接続する。
2016yisvideo1

 LEDは通電確認用。
2016yisvideo2

2016yisvideo3

2016yisvideo4

その他資料:
CX5M.net
MSX-AUDIO music keyboard

改造すれば内蔵メモリ16KBを32KBに拡張できる。DRAM拡張 LS244×2 MB81416(120ns)×2 16K×4bit品

中華レーザー彫刻機をレーザーカッターに変えるためのメモ

 40W CO2レーザーカッター、ベクトルデータを扱ってアクリルなどを任意形状にカットするにはどうしたらよいか。付属ソフトでの扱い方はよくわからないし、なによりWindowsXPで動作するのでそろそろなんとかしたい。持ち主であるminemaz氏と電話しながら色々検索したら、reprap系3Dプリンタのコントローラが使えそうなことがわかった。以下は議事録代わりのメモ。

 アップグレーキットというのは存在する。BeagleBoardBlackをベースにしたコントローラに載せ換える。ただし日本には送ってくれないみたい。
Lasersaur Shield K40 Laser USB Controller for Replacement of MoshiDraw Controller
UPGRADE LinuxCNC Controller CO2 LASER ENGRAVING CUTTING MACHINE ENGRAVER CUTTER(ebay)

 もうちょっと探してみるとArduino MEGA2540+RAMPS1.4というのがあった。このRAMPS1.4というのはreprap系3Dプリンタのコントローラで、さきほどのアップグレードキットにも使われていた。そうだよね、同じCNCだ。

Upgrade That Cheap-o Laser Cutter!(HACK A DAY)
40 Watt Chinese CO2 Laser Upgrade with RAMPS & Arudino(Adventures in DIY Engineers)
InkScapeのプラグインとして実行できるようだ。

OSOYOO 3D Printer Kit with RAMPS 1.4 Controller + Mega 2560 board + 5pcs A4988 Stepper Motor Driver with Heatsink + LCD 12864 Graphic Smart Display Controller with Adapter For Arduino RepRap(amazon.com)

 日本のアマゾンにもあった。

サインスマート RAMPS 1.4 3Dプリンターをはじめよう 互換キット(Mega 2560 R3 + A4988 for Arduino RepRap) 詳細なチュートリアルPDF提供

RAMPS 1.4 互換 コントローラ Controller Reprap 3Dプリンター
Kuman KY57 RAMPS 1.4 互換 コントローラ Controller Reprap 3Dプリンター 3Dプリンター基板セット+ヒートシンク


メモ:ロジアナ ZEROPLUS LAP-C

 ロジック・アナライザ、ZEROPLUS LAP-CのソフトウェアがWindows10対応になり、これまで別売だったプロトコルが付いてくるようになったそうだ。

ZEROPLUS社のLAP-CシリーズのロジアナがWindows 10に対応(しなぷすの独り言)
ZEROPLUSのLAP-CがWIn10に対応&追加プロトコル無料(博多電子工作室)

私のはいちばん安い16032だけど分解したら上位機種にゴニョゴニョできる基板らしい。
ZeroPlus LAP-Cロジックアナライザを上位機種に!!(ケース開け不要に)(Illegal function call)

ロジックアナライザ【LAP-C(16032)】(マルツ)
秋月電子で買ったけど、16032モデルはもう扱ってないみたい。
ZEROPLUSロジックアナライザ64kビット16ch100M LAP-C(16064)(秋月電子)


micro:bit 野球カウンタ

 Block Editorにも慣れてきた感があるので野球カウンタ作ってみた。主審がポケットに持っている、ストライクボールアウトを記録するあれです。

 仕様を考える。Aボタンでストライクを+1、Bボタンでボールを+1、A+B同時押しで全クリア。3ストライクならボールをクリアしてアウト+1、4ボールならストライクをクリア。3アウトで全クリア。アウトの+1はボタンが足らないのでストライクをカウントアップすることで代用。
 3ストライク、4ボール、3アウトでいきなり表示がクリアされてもわかりにくいのでしばらく点滅させる。
 何も表示しないと動いているかどうかわからないので、空いている場所でLEDを点滅させることにした。これはforeverループ内でチカチカさせておく。これはボタン操作とは無関係。
 変数はstrike,ball,out。数値に応じた個数のLEDを左から表示。if〜doではelseを使っている。これはif〜doブロックの歯車マークをクリックし、出てきた吹き出し内でelseをドラッグすればよい。


20160810baseballcounter

 .hexファイルはこちら。https://gist.github.com/houmei/395bb140bb22bfd4c7f84ca458646e2f

こんな表示になる。上からボール、ストライク、アウトね。

2016baseballcounter2


micro:bit互換のchibi:bit、サイコロ続き

 スイッチサイエンスのmicro:bit互換機は名前がchibi:bitに決まったようです。

イギリスの教育向けマイコンボードBBC micro:bitの互換機 「chibi:bit」を開発しました

MFT2016にて、micro:bit互換機「chibi:bit」のテスト版を販売します

 前回の続き。サイコロを数字ではなく目で表示してみる。プログラムの構造も変えて、本体を振ったら乱数のみ生成し、メインのループではそれを受けてLEDの表示を行うことにする。

 on shakeはこんなかんじ。振ったらdiceという変数に1〜6の乱数を入れる。

48

 Block Editorにはarduinoでいうところのvoid begin() { ... }がないのでforever内の冒頭でサイコロを振っていない時のイメージを用意する。無限ループで実行するのは次のwhile do内。
scroll image bg twith offset 5 and interval (ms) 200 で200msごとにLEDを交互にチカチカさせる。この次のif dice > 0 でサイコロが振られたかどうかを判断し、振られていれば背景の動きをstop animetionで止めてclear screenで消去、あとはdiceの数字に合わせた目を表示する。(一部省略)
27


 6の目まで。表示が終わったら2秒まってdice変数を0クリア。これを繰り返す。
57

.hexファイルはこちら。
https://gist.github.com/houmei/ae17406c4cf73bf2239417213f2d15ac


 さきほど、初期化に相当する記述はなさそうだと書いたけどTouch Developに変換するとfunction main()の冒頭、basic → forever doの前で使用する変数の初期化を行っているので、明に書きたければTouch Developでやれということなのかもしれない。あと、配列変数どうすればいいんだろう?この辺制限なく使いたければCK JavaScriptを使えということだろうか。

04


 ぼちぼちつづく。

スイッチサイエンスのBBC micro:bit互換機とBlock Editor

 スイッチサイエンスのmicro:bit 互換機のモニターに応募したら幸運な事に当たったので色々遊んでみた。
 開発環境の簡単な使い方に関してはQiitaの方に書いてみた。ブラウザで完結しておりチュートリアルの通りにやればだいたいOK。
BBC micro:bitの開発環境 (CK JavaScript)

 ここではブロックをドラッグ&ドロップして開発するBlock Editorとそのテキスト版であるTouch Developでサイコロを作ってみた。振ると1〜6を表示する、というのはCK JavaScriptのチュートリアルであったので、ここでは通常時はアニメーション表示、振ったらサイコロの数字を表示して1秒待つ、という風に作ってみる。

2016microbit1


 無限に繰り返して実行するにはBasic→foreverのブロック内に記述する。ここで市松模様を交互に表示させる。foreverはarduinoでのloop() { ... }に似ている。
 Input→on shakeのブロックはmicro:bit本体を振ったときに実行される。この中で乱数を発生し、LEDに数字を表示させる。変数への代入は[set "変数名" to]のブロックと代入する値を並べる。このあたりはブロックの形状でちゃんと左右に置ける場所が決まっている。
 さて、foreverループはバックグラウンドで実行され、on shakeで割り込みが発生してサイコロの数字を表示を表示後1秒待たせたいのだが、その間にforeverループでLED表示が上書きされてしまう。そこでon shake内でwaitという変数に1を代入する。foreverループ内ではwaitが1のときに次のステップに移らないよう待たせる。on shakeで1秒待った後、変数waitを0にすることでforever内の待ち合わせを解除する。
変数は最初は0に初期化されるようだ。

 Block Editorの画面コピー。
20160803microbit


 画面上部にあるボタンのRunでシミュレーションしたり、compileで.hexファイルを作りPCにmicro:bitを接続して現れるMBEDディスクにコピーすることで実機での実行ができる。また、convertでTouch Developの形式に変換することができる。
 My Scriptsの画面でソースを保存することができる。拡張子は.jszだが内容は十六進のダンプファイルである。

https://gist.github.com/houmei/2cbe532870ab071a777abc3d50c6d012

 このソースをcreate code画面のImport Codeで読み込むことができる。
20

 ということでちょっと遊んでみてください。

 以下は小型ラジコン用のバッテリー(公称3.7V)を繋いでみたところ。ウェアラブルもOKよ。

2016microbit2



GY-302モジュールを使った簡単な照度計

 GY-302というモジュールを入手した。これにはロームのAmbient Light Sensor BH1750FVIで照度を測定しI2Cで読み出せる。

 照度計に関しては秋月電子から入手できる浜松ホトニクスのS9705を使ってなんとかしようと思っていたが、タイマ関連の設定をもっと厳密にする必要があって手を出せないでいた。
S9705照度計をスケッチのみで/Arduino 1.6.6のシリアルプロッタ

Arduino用のライブラリFlexTimer2では不正確な場合があり、以下の記事が参考になる。
FlexiTimer2の挙動の調査(Arduino)(ラジオペンチ)

 さて、GY-302モジュールならI2Cで読み取るだけということなので、簡単にできそうである。精度もセンサのばらつきにのみ左右される。ということでAmazon経由で購入。

GY-302 BH1750 光照度照明モジュール [並行輸入品]GY-302 BH1750 光照度照明モジュール [並行輸入品]

Phishine
売り上げランキング : 27339

Amazonで詳しく見る
by G-Tools

 BH1740FVI資料。Typ 3.0V動作、I2C。
http://rohmfs.rohm.com/en/products/databook/datasheet/ic/sensor/light/bh1750fvi-e.pdf

 GY-302モジュール資料。Vcc 5V入力をLDOで3.3Vに変換しBH1740FVIの電源にしている。SCL/SDAはプルアップ付き。I2Cのアドレスを設定するADDRはプルダウンされている。
BH1750 BH1750FVI Digital Light intensity Sensor Module For AVR Arduino 3V 5V

 ライブラリと作例も見つかった。ほぼそのまま使用する。
bh1750fvi (GY-302) Light Sensor Module(Simple Arduino Skeches)

 GY-302モジュールをそのままArduinoの端子に差し込んでみた。SCLをA5、SDAをA4になるようにさしてVccとGNDは無理やりワイヤで接続、ADDRはA3にささるのでピンの設定でGNDに落とした。

 スケッチはこちら。
https://gist.github.com/houmei/60255efe8029ca7a79e51a9c698a34ab

2016-GY302

 MacOSX10.10.5 / Arduino IDE 1.0.6にBH1750ライブラリを置く。ターゲットはDuemilanove w/ATmega328互換のCrowduino。秋月電子で扱っているデジタル照度計 LX-1010Bとだいたい同じ照度を表示することを確認。
 BH1750ライブラリ自体はArduino固有の操作をやっているわけではなく単にI2Cの送受信なので他のマイコンに持っていくのも簡単そう。

Digisparkを使ったPC人感センサとセルフパワーUSBハブ

 DIgisparkと焦電センサモジュールと組み合わせて、人がいる時はディスプレイをONでしばらく使ってなかったらOFFというのを作ってみた。
 動作原理は簡単で、焦電センサに感があった時にマウスを少し動かすというもの。これでPC側からは人が操作しているように見える。ディスプレイの設定で30分後に画面OFFにしておけば、人がいなくなったら自動的にOFFになる。また人が近づいだらマウスが動いたようにみえるので画面はONになる。
これ、U-NEXTで動画見てるとき無操作のままだとディスプレイがOFFになり中断されるのが嫌で作った。AmazonPrimeの動画再生時だとこうならないのに。

ソースは以下。
https://gist.github.com/houmei/76a1d26c207333ba5b7496113de297de

201607PIR


 さて、思いついて書くのは簡単だったのだがその後うまくいかなかった。MacBookPro15(2011)だとDigispark接続後にタッチパッドが効かなくなる。MacBookPro13(2009)ではマウス動作が無視される。PRIMERGY TX100S3 Windows7だとデバイスドライバがインストールされずUnknown Deviceとなる。しかしいずれもArduino IDEからはプログラムができる。なんでだ。
 調べたら、USBハブやUSB延長ケーブル経由だとうまく認識されない場合があるということだ。
Digispark 超小型ARDUINOクローン WINDOWS インストール(気分はメイカーズ)

 USBハブやUSB延長ケーブルを使わずDigisparkをUSBポートに直結したらうまく認識した。しかしMacBookPro13(2009)では相変わらずうまくいかない。安定させるには?セルフパワーUSBハブを使ったらどうだろうか。
 いま市販している小型のUSBハブはバスパワーといって、電源を接続元からもらっている。4ポートハブにUSBデバイスを繋いだ電力はUSBハブ自身を含めて接続元PCのUSBポートが供給できる電力を越えられない。セルフパワーUSBハブはACアダプタなどを接続し電力はそこからもらう。市販品だと種類は少ないが液晶テレビにUSBハードディスクをつなぐときに安定化させるなどの宣伝で売っている。で、近所のヤマダ電機から500円で買ってきた。

結果:すべてOK
MacBookPro15(2011) → USBハブ → Digispark
MacBookPro13(2009) → USBハブ → Digispark
TX100S3 Windows7 → USBハブ → USB延長ケーブル → Digispark

ということでDigisparkをPCにつないで使うときはUSBポート直結かセルフパワーUSBハブ経由がよさそう。DigisparkのVINに電源を供給する方法もあるが、これは試していない。

 使ったUSBハブはこれ↓
ELECOM USBハブ セルフ/バスパワー両用 タブレットスタンドタイプ microB-USB[A]変換アダプタ付属 4ポート ブラック U2HS-S401SBKELECOM USBハブ セルフ/バスパワー両用 タブレットスタンドタイプ microB-USB[A]変換アダプタ付属 4ポート ブラック U2HS-S401SBK

エレコム 2013-10-24
売り上げランキング : 3299

Amazonで詳しく見る
by G-Tools


HiLetgo Digispark Kickstarter ATTINY85 Arduino Micro USB 開発ボード [並行輸入品]HiLetgo Digispark Kickstarter ATTINY85 Arduino Micro USB 開発ボード [並行輸入品]

HiLetgo
売り上げランキング : 110268

Amazonで詳しく見る
by G-Tools


Arduinoで開発できるDigispark

 USB I/Fを持っていないはずのATTiny85をUSB経由で開発できるDigisparkという小型マイコンボードを試してみた。

開発元:Digistump Digistump wiki

 ファームウェアmicronucleusはソフトウェアでUSBデバイスを実現するV-USBを組み込んでいる。
https://github.com/micronucleus/micronucleus
V-USB

895円の超小型Ardunoクローン DigiSparkを買った(橋本商会)
Digisparkを買って動かすまで(syamojigzag)
安価なUSB直挿しマイコンDigisparkのススメ(Qiita)
Digisparkを試してみました(猫にコ・ン・バ・ン・ワ)
Digisparkの使い方(ELEFINE)

MacOSX 10.10.5 / Arduino IDE 1.6.9でやってみた。
メニューのArduinoから[Preferences...]を選択、追加のボードマネージャのURL欄に
http://digistump.com/package_digistump_index.json
を入れてOKを押す。
次にメニューのツールから[ボード:" xxx"]→[ボードマネージャ...]からDigistump AVR Boardsを探しインストールする。これらはArduinoにボードを追加する手順と同じ。

プログラムの転送はいったんMacからDigistumpを外した状態で[マイコンボードに書き込む]を実行し、60秒以内にDigistumpをUSBポートに接続する。

以下のプログラムはポート2に接続した焦電センサモジュールに感があるとLEDが点灯する。
https://gist.github.com/houmei/117544cfdc5a11e7163f9f2babdd8533

※訂正 ポート2です 写真は間違い
2016digispark-pir

 簡単にできた。USB-HIDなどの使用方法はインストールしたら追加されるスケッチの例を見ろ、とWikiに書いてあった。ATMega32U4(Arduino Leonardoなど)では大げさな、1ボタンで動作するキーボードなどに良さそう。

 以下の本、Kindleで買ってみたけど「Arduinoをはじめよう」のような内容でした。

Digispark USB Development Workshop (English Edition)Digispark USB Development Workshop (English Edition)
Agus Kurniawan

PE Press 2015-09-17
売り上げランキング :

Amazonで詳しく見る
by G-Tools

HiLetgo Digispark Kickstarter ATTINY85 Arduino Micro USB 開発ボード [並行輸入品]HiLetgo Digispark Kickstarter ATTINY85 Arduino Micro USB 開発ボード [並行輸入品]

HiLetgo
売り上げランキング : 90325

Amazonで詳しく見る
by G-Tools

Rasbee オリジナル Digispark Kickstarter ATTINY85 Arduino Micro USB 開発ボード Arduino 1個 [並行輸入品]Rasbee オリジナル Digispark Kickstarter ATTINY85 Arduino Micro USB 開発ボード Arduino 1個 [並行輸入品]

Rasbee
売り上げランキング : 55601

Amazonで詳しく見る
by G-Tools

Arduinoでログを取るメモ

 焦電センサモジュールの挙動があやしかったのでArduinoに繋いで終日ログを取ってみた。
やり方としてはArduino UNOの入力3本に焦電センサモジュールの出力をつなぎ、それを表示。センサの状態は16進数1桁で表すので、4ピンまではパッと見ただけでわかる。これを1秒ごと繰り返す。
1秒ごとシリアルコンソールに出力すると1秒ごとに選択がクリアされるのでコピペで結果を持っていけない。そこで60秒ぶん内部で溜めてから1分を一行として出力する。

ソースとログはこちら。
https://gist.github.com/houmei/e2e3f5a1cc5b09992a8df9c8eb429de1

焦電センサモジュールだが、ちゃんとした電源端子を使わずに内部3.3Vの箇所に乾電池を繋いだのが悪かったみたいで、きちんと仕様通りにやったらなんの問題もなかった。

SODIAL(R) モジュール焦電型赤外線検出器PIRモーションSODIAL(R) モジュール焦電型赤外線検出器PIRモーション

SODIAL(R)
売り上げランキング : 37055

Amazonで詳しく見る
by G-Tools
HiLetgo 人センサーモジュール焦電赤外線 HC-SR501 [並行輸入品]HiLetgo 人センサーモジュール焦電赤外線 HC-SR501 [並行輸入品]

Phishine
売り上げランキング : 24723

Amazonで詳しく見る
by G-Tools

TWE-Lite実験メモ

 離れたところのデバイスを操作できるTWE-Liteについていくつか実験。

超簡単!無線マイコンモジュールTWE-Lite DIP

購入時に入っている以下のアプリをそのまま使用。
超簡単!TWEアプリ

わかったこと:
・親機のIDは0。子機IDを設定している子機モジュールは、子機IDを1とすると、親機がID=1とID=120(全子機)宛に送信したデータを受信する。
・親機はすべての子機のデータを受信する。子機のIDで判別するにはシリアルデータを読む。
・子機は連続モードになっていないと親機からの送信データを受信しない。間欠モードは子機→親機のみ、センサ読み取りなどに使う。
・子機のデジタル入力は間欠モードであっても親機に即座に送信される。
・PWM3端子はなるべく使用しない。リセット時の動作モードを決める端子と兼用のため、不安定になる可能性がある。
・電池で動作可能。動作電圧は親機に送信される。

2016TWE-Lite

 実験基板。これは焦電センサの出力を親機に送っている。LEDは親機からのデジタル入力をそのまま表示。LEDはカソード側をTWE-Liteに接続。
201606TWELitejikken


TWE‐Lite(トワイライト)ではじめるカンタン電子工作―「無線システム」が「つなぐ」だけで出来る! (I・O BOOKS)TWE‐Lite(トワイライト)ではじめるカンタン電子工作―「無線システム」が「つなぐ」だけで出来る! (I・O BOOKS)
大澤 文孝

工学社 2014-08-25
売り上げランキング : 12762

Amazonで詳しく見る
by G-Tools


 おまけ。よく見かける焦電センサ、黄色い線をハンダ付けしている所に3.3V供給すると動作します。出力は元々3.3Vレベル。
焦電型赤外線センサーモジュール(焦電人感センサ)

201606PIRmodule

SODIAL(R) モジュール焦電型赤外線検出器PIRモーションSODIAL(R) モジュール焦電型赤外線検出器PIRモーション

SODIAL(R)
売り上げランキング : 10219

Amazonで詳しく見る
by G-Tools

アナログ入力によるロータリーエンコーダの読み出し

※抵抗の値に誤りがあったので図を修正

 ロータリーエンコーダ実験の続き。
 ロータリーエンコーダを扱うには2本のGPIOが必要だが、アナログ入力1本でもできるんじゃないかとやってみた。ロータリーエンコーダの端子A,B,Cのうち、導通状態になるのはA-C,B-C,およびA,BとC。これらの組み合わせで図のようにRa,Rb,Rcを組み合わせると次のようになる。

解放: V
A-C: Ra/(Ra+Rc)V
B-C: Rb/(Rb+Rc)V
A,B-C: (Ra//Rb)/((Ra//Rb)+Rc)V ※Ra//Rbは並列つなぎの値

ロータリーエンコーダfix

Rcは1kでAinをプルアップ、Ra=10k,Rb=4.7k。

これらをArduino UnoのADC分解能1023〜0に当てはめると
解放:1023
A-C:930.9
B-C:844.4
A,B-C:780.0
これを4bit分の分解能にすると(÷64)
解放:15
A-C:14
B-C:13
A,B-C:12
まあこうなるように抵抗値を決めたわけだが。

Arduino Uno/Arduino IDE 1.0.6でテストした。
https://gist.github.com/houmei/3625551d7013cbd2bff2159a96ebc4b3

時計回り: 15→14→12→13→15→...
反時計回り: 15→13→12→14→15→...

2016Arot

 実験の結果、チャタリングが発生してないように見えるのだがどうだろうね?この辺はもうちょっと調べる。
 Arduino Leonardo(ATMega 32U4)系だとアナログ入力はA0〜A11までの12本が使えるのでたくさん繋げそうなんだがそんなにロータリーエンコーダは持っていないのであった。以下で手配。

SODIAL(R)10個入り12ミリメートルキースイッチロータリーエンコーダスイッチSODIAL(R)10個入り12ミリメートルキースイッチロータリーエンコーダスイッチ

SODIAL(R)
売り上げランキング : 30350

Amazonで詳しく見る
by G-Tools

MSP430 / Energia によるRTCの利用

 MSP430版のLaunchPadを購入するとRTC用と思われる32KHzの発振子が付いてくるのだけど、Energiaから直接使う手段がない。探したらライブラリが公開されていた。

Real-Time Clock (RTC) Library for the MSP430/LaunchPad[43oh]
Bibliothèque RTC pour le MSP430[Archives blog XV4Y]

ここのディスカッションではEnergia 0006では動作がおかしいとの報告があったが、最新の0101E0017では問題なかった。
※追記:発振子外付けでは問題ないが、M430G2553の内蔵32KHzOSCを使うと上記問題が発生。

 まずは発振子をハンダ付けしておく。マイコンはM430G2553を使用。
2016msp430xtal

 シリアルポートが使えるよう準備をしておく。→LaunchPad V1.4のシリアル設定

 修正したソースは以下。といっても余計な}の後のセミコロンを削ったりサンプルにゼロサプレス表示を追加しただけ。
https://gist.github.com/houmei/a149f4715e44e99ccc68fe97105c9c04

EnergiaのライブラリはArduino IDEの考え方に似ている(というか同じ)。次を参考にした。
Writing a Library for Energia

 MacOSXの場合、Energia実行ファイルを右クリックして"パッケージの内容を表示"を選択する。
Energia→Contents→Resources→Java→hardware→msp430→librariesの下に sRTCsec というフォルダを作り、その中に sRTCsec.h と sRTCsec.cpp を置く。

 LaunchPadだけど何年か前は500円くらいで売ってた。今は直販で$9.99。日本国内の情報は少ない。ずっと積んでたのでまあちょっとは役に立てたかな。

↓ Arduinoをはじめようと同じくらいの内容の入門書です。

MSP430 LaunchPad Programming (English Edition)MSP430 LaunchPad Programming (English Edition)
Agus Kurniawan

PE Press 2014-01-03
売り上げランキング :

Amazonで詳しく見る
by G-Tools


格安4.3インチ液晶モニター

 2015年の夏頃に知って購入した液晶モニター。ミニオンダッシュ液晶モニターの名前で当時1600円くらい。DC12V前後の電源で動作し、2系統のビデオ入力を持つ。で、その時試してみたのだがビデオデッキの出力やIchigoJamならOK。MSXなどでは同期が合わずにゆっくりと上方向に動く感じ。JR-100/JR-200/BASIC MASTER Jr.ではまったく表示されなかった。これらのマシンもビデオデッキをいったん経由させると表示可能だが、せっかくの小型なのであまり意味がない。
 が、最近のは改善されているらしいという話だったので、同じものを購入してみた。今回は1200円くらい。試してみるとMSX/BASIC MASTER Jr.でもOKだった。

 これはMachikaniaの例。
2016LCD1


 MSX。どの機種もだいたい同じはず。
2016LCD2

 ベーシックマスターJr.の例。
2016LCD3

 ということで積極的に使っていこうと思う。

【ノーブランド品】2系統の映像入力 12V車用 ミニオンダッシュ液晶モニター 4.3インチ バック切替可能【ノーブランド品】2系統の映像入力 12V車用 ミニオンダッシュ液晶モニター 4.3インチ バック切替可能

ノーブランド
売り上げランキング : 1068

Amazonで詳しく見る
by G-Tools
車用 ミニオンダッシュ液晶モニター 12V 4.3インチ バック切替可能車用 ミニオンダッシュ液晶モニター 12V 4.3インチ バック切替可能

Sweet Deams!!
売り上げランキング : 1730

Amazonで詳しく見る
by G-Tools

ロジックチェッカー

 30年前くらいに作ったロジックチェッカー。見たいところのH/Lレベルと立ち上がり/立ち下がりがわかる。7474と7400を使った。電源はターゲットからもらう。

2016logigchecker1

 当時便利に使ってたけど、LSやHCタイプでも問題ないよう作りなおした。せめてICソケットを使っていれば……

2016-04-04 23_54_13-LogicChecker

 74LS74と74LS14使用。テストクリップはピンヘッダ経由で接続。リセットボタンを押すと立ち上がり/立ち下がりのLEDを消灯する。Hレベル/LレベルのLEDは片方しか点灯しないので電流制限抵抗を兼用した。輝度が大幅に違うような場合などは個別に入れなければならないが。

http://www.tij.co.jp/product/jp/sn74ls74a/description

 秋月電子のD基板に載せた。ICソケットを使ったので標準TTL、LS、HCなどOK。

2016logigchecker2

 測定はこんな感じ。

2016logigchecker3


 この本はたいへん良いですよ。

定本 ディジタル・システムの設計―ディジタル技術の基礎からASIC設計まで定本 ディジタル・システムの設計―ディジタル技術の基礎からASIC設計まで
猪飼 国夫 本多 中二

CQ出版 1990-09
売り上げランキング : 732940

Amazonで詳しく見る
by G-Tools

 改訂版。

定本 ディジタル・システムの設計―ディジタル技術の基礎からASIC設計まで定本 ディジタル・システムの設計―ディジタル技術の基礎からASIC設計まで
猪飼 國夫 猪飼 維斗

CQ出版 2010-11
売り上げランキング : 186954

Amazonで詳しく見る
by G-Tools



メモ:HP EliteBook 2740p Tablet PCのSSD交換

 中古で買ったHP EliteBook 2740pだがSSDの容量が60GBでさすがに苦しいので128GBに交換した。
HP EliteBook 2740p Tablet PC スペック

 内蔵SSDはIntel製1.8inch 60GBでmicroSATAコネクタ。同等のSSDよりもminiPCIeスロットに装着するタイプのmSATA SSDが安価なので、mSATA-microSATA変換基板で接続することに。

Transcend SSD 128GB mSATA3 6Gb/s 3年保証 TS128GMSA370Transcend SSD 128GB mSATA3 6Gb/s 3年保証 TS128GMSA370

トランセンド・ジャパン 2014-05-20
売り上げランキング : 1690

Amazonで詳しく見る
by G-Tools
mSATA(Mini SATA)→1.8インチmicro SATA変換アダプターKINGSPECJPmSATA(Mini SATA)→1.8インチmicro SATA変換アダプターKINGSPECJP


売り上げランキング : 12193

Amazonで詳しく見る
by G-Tools

 microSATAよりもminiSATAが小さいのはどうなんだろうね。さてPC本体内のSSDをまるっとコピーするためにはUSB-SATA変換を使うが、これに接続するためにはmSATAを普通のSATAに変換するコネクタが必要。
タイムリー GROOVY HDDをUSB SATA接続2.5/3.5/5.25タイムリー GROOVY HDDをUSB SATA接続2.5/3.5/5.25"ドライブ専用 UD-505SA

タイムリー
売り上げランキング : 277

Amazonで詳しく見る
by G-Tools

1.8インチ HDD/SSD 用 MicroSATA→SATA 変換アダプター EnlargeCorp1.8インチ HDD/SSD 用 MicroSATA→SATA 変換アダプター EnlargeCorp

enlargecorp
売り上げランキング : 14247

Amazonで詳しく見る
by G-Tools

 ハードの準備はOK。あとはSSDをコピー(クローン)する。PentiumIIIでWindowsXPの頃から使っているEaseUSのツールを使う。無料版でOK。

EaseUS ToDo Backup
EaseUS Partition Manager

 新しいSSDを接続し、OSがリムーバブルドライブとして見えるSSDを認識したらMBRにチェックを付ける。そしてEaseUS ToDo Backupでクローン。60GBで約1時間半かかった。
 新しいSSDをPC本体内のSSDと交換。ネジ2箇所でコネクタが固定されている金具を外し、そのままコネクタ部分を浮かせて外す。変換基板はむき出しなので、テープなどで絶縁。差し替えて元に戻す。
 EaseUS Partition Managerで空のパーティションも使えるよう割り当てる。クリックしてドラッグするだけ。反映は見ている間に終わる。
 ということであっさりとSSDの交換ができた。


汎用ロジックICによる早押し回路

 35年くらい前、ラジオの製作で見かけた74LS00一個による早押しゲームというのがあって、どんな回路だったか思い出せないでいた。おそらく基本はSRラッチで、早く押した方が確定したら自分はONのまま他方はONさせないんだろうなと考えてたら風呂で思いついた。

 SRラッチを中心に、一度確定した方の入力をホールドしてしまえばよい。

2016hayaoshi-kentou

 で、手持ちの部品で作ってみた。秋月片面D基板。電源はUSBからもらう。

2016hayaosi

 赤い方のボタンを先に押したら赤のLEDが、緑の方を先に押したら緑のLEDが点灯してそれ以降はどう操作しても変化しない。リセットするには電源をいったん切る。

 さてコレで完成……ではなかった。試しに74LS00の代わりに無印7400と74HC00に差し替えて実験してみたら、電源投入後に片方のLEDが点灯したままロックしてしまう。74HC00では常に発生し、7400では高い頻度で発生する。74LS00でもたまに発生することがわかった。
 このSRラッチの出力が両方とも"H","H"の初期状態になるためには、入力が両方共"L"になっていないといけない。その前段にあるNANDの出力が、電源投入時に"L"とみなされればうまくいくが、無印7400と74HC00では"H"となりどちらか片方に確定してしまうようだ。そこでこの部分をプルダウンしてみるとうまくいった。
2016hayaoshikairo

 これは修正済みの回路。Y,Zをプルダウンしているので電源投入時は"L"とみなされる。これによりSRラッチの出力B,Dは両方とも"H"になりLEDは消灯。
 A,Cはスイッチ入力でプルアップされているので開放時は"H"。B,Dも"H"なのでY,Zは両方とも"L"である。
 Aのスイッチが先に押されたとする。Aが"L"になり、Yが"H"となる。Y,Dが"H"なのでSRラッチの出力Bが"L"となりLEDが点灯する。Bが"L"になるとYは常に"H"となりSRラッチはこれ以降動かない。この状態でCのスイッチを押すと、Zは"H"だがBが"L"なので出力Dは"H"のままで変化しない。

 先程の素子によってはレベルが確定せずどちらか片方が先にセレクトされてしまう問題は等価回路や出力/入力のスレッショルドレベル、ディレイなども確認しないといけないが、そもそも電源投入直後は論理演算素子として正常動作していない状態である。この時の信号線は不定値"X"として扱う。不定値"X"は"H","L"のどちらでもないが、NANDゲートの場合は片方の入力が"L"ならばもう片方の入力が何であろうと出力は"H"で確定する。過去に見た早押し回路にはプルダウンはなかった記憶なので、74LS00を使うことにより電源投入後の状態がスイッチの入力待ちになることをアテにしていたのだろう。

SN74LS00 (供給中) クワッド 2 入力 正論理 NAND ゲート
http://www.tij.co.jp/jp/lit/an/slva700/slva700.pdf
高速 CMOS ロジック HD74HC シリーズ アプリケーションノート

 なお、LSIの中の同期回路ではこのような設計は避ける。意図しないラッチができるとクロックに同期せずに状態を記憶する部分ができてしまい検証が困難になる。

2016hayaoshi-normalTTL

2016hayaoshi-HC


おまけ:USBを電源にしているが、スマホ用のバッテリーの中にはある程度の電流が流れないと切断してしまうものがある。PanasonicのQE-PL203はロジックIC一個程度でも切れないで実験に使用できた。


パナソニック モバイルバッテリー 5,800mAh 無接点充電(Qi)対応 USBモバイル電源 ホワイト QE-PL203-Wパナソニック モバイルバッテリー 5,800mAh 無接点充電(Qi)対応 USBモバイル電源 ホワイト QE-PL203-W

パナソニック 2013-06-26
売り上げランキング : 14475

Amazonで詳しく見る
by G-Tools

pcbeで設計した秋月C基板

 2015年の夏頃に秋月電子C基板で試作したものをそのままpcbeでプリント基板化した。これはその外形とネジ止めの穴を残し、2.54mmピッチのパターンを追加したもの。外形とネジ止め穴は実績あり。

akiduki-c-single

akiduki-c-single.pcb ファイルはこちら。ご自由にお使いください。
https://onedrive.live.com/redir?resid=A51ACEA3F5739277!287&authkey=!AJzuddh7hE1p6tY&ithint=folder%2cpcb

レーザーカッターでICの樹脂パッケージは削れるか→無理っぽい

 レーザーカッターでICを封止している樹脂を削ることはできるかやってみた。通常は硝酸を使うのだが普通のご家庭にはないし危険。
半導体パッケージの開封(NC Network)

アームの移動速度とビームの割合(40Wの何%)を変えながら試してみる。対象は書き損じのPLD、PLCCパッケージ。

W:11.0 H:11.0 CenterX:47.0 CenterY: 8.5 の長方形で中央を狙う。

10mm/s 10% - あまり焼けていない
10mm/s 40% - 少し削れる 指先で触ってわかる程度
10mm/s 90% - 同上

繰り返し同じ所を狙って削ろうとしてみたが大して深くならない。ちょっとこれは無理だろう。
2016laserdie

 作業している所が光るとつい目が向いてしまうので、簡単なカバーを作った。
2016lasermado

 ↓ なんか面白そうなのあるね。

ウンカン 強化版 ミニ型 レーザー彫刻機 ブラック 500mW USB対応 16.5×13.5x13cm 電子自作 DIY道具
ウンカン 強化版 ミニ型 レーザー彫刻機 ブラック 500mW USB対応 16.5×13.5x13cm 電子自作 DIY道具
ウンカン
売り上げランキング : 224100


Amazonで詳しく見る
by G-Tools

メモ:レーザーカッター SmoothieBoard

 HACKADAY経由。
3D Laser Carving with the Smoothieboard(HACKADAY)

 よくある40Wレーザーカッターのコントローラを替えて、立体的な彫刻をやったようだ。
SmoothCarve(NON-NEWTONIAN)
https://github.com/koswix/SmoothCarve/releases
Laser Cutter(NON-NEWTONIAN)

MatLABが必要らしい。

オープンソースのCNCコントローラ。
http://smoothieware.org/smoothieboard
記事検索
電子部品通販リストなど
竹下世界塔の計算機よもやま話
竹下世界搭のソフトウェア
zigsow (houmei)
ーーーーーー
ーーーーーー
livedoor プロフィール
QRコード
QRコード
  • ライブドアブログ