Autodesk Circuits

Autodeskといえば、AutoCADなどの3Dモデリングアプリケーションを開発している会社ですが、電子回路をWEB上でシミュレーションしてくれるサービスを提供していることを最近知りました。

https://circuits.io/

電子工作を勉強するにあたり、考えた回路をちょっと試してみのにとても役に立ちそうです。
そこで赤色と青色のLEDを交互に点滅させる簡単な回路を試してみました。
Arduinoのプログラムもシミュレーションしてくれます。

抵抗値を下げると明るくなり、下げすぎると以下のように部品が破壊されるような絵になります。

さすがによくできています。
ギャラリーには、 他のユーザが作成した回路を見ることができます。

これを見ているだけで楽しい気分。
本当にすごい!

I2C / Arduino – IchigoJam

IchigoJamがI2C通信をサポートしているということで、これをマスターとしたI2C(アイアイシー:Inter-Integrated Circuit)通信をArduinoとIchigoJam間でやったメモです。

参考 : http://nuneno.cocolog-nifty.com/blog/2015/05/ichigojamarduin.html


環境: Arduino 1.6.12 / Windows 10, IchigoJam Basic 1.2.1

SDA: ArduinoのA4 – IchigoJamのIN3
SCL: ArduinoのA5 – IchigoJamのSCL
2kΩの抵抗がなかったので、1kを二つ直列に。

白: 3.3V
黒: GND
黄: Clock
橙: Data

データ送信
IchigoJam(マスタ) -> Arduino(スレーブ)

IchigoJamから送られた8バイトのデータをArduinoのコンソールで受信を確認。
Rはリターンコード。0で正常終了。

データ受信
IchigoJam(マスタ) <- Arduino(スレーブ)

Arduinoから送られた8バイトのデータをIchigoJamで受信を確認。(1から8までの文字) Rはリターンコード。0で正常終了。 テストでは、2台のIchigoJamを使って同時に実行してみましたが、問題なく独立して通信できました。

Bit Counter / Arduino

ArduinoでビットカウンタをLEDと7セグでつくってみました。
4桁の7セグと、8個のLEDなので普通に作ってしまうと、PINが足らないので、4桁の高速切り替え表示や、シフトレジスタを使うところポイントです。
あと超音波センサで測った距離も表示しようと思いましたが、今回はログ表示にとどめておきたいと思います。

7セグは高速で4桁表示しているので、ディレイなどを使って処理が遅れると表示が乱れてしまいます。このあたり意外と難しいと思いました。

参考:http://osoyoo.com/ja/2014/12/06/arduino-starter-kit/

ここのチュートリアルはとても参考になります。今回はkumanのボードですが、osoyooは他のブログでも使っています。

“95”を表示

シリアルモニタ表示

別の角度から

Arudinoはドキュメントが豊富なので(kumanのキットにはCD-ROMが付属)、パーツの使い方を学ぶのに最適ですね。

FPGA MAX10

最初の投稿は、一番やりたかったFPGA(field-programmable gate array)。

https://ja.wikipedia.org/wiki/FPGA

CQ出版社「MAX10 実験キットで学ぶFPGA&コンピュータ」を購入して、勉強を始めました。
評価ボードは何にするか迷ったのですが、マクニカのWebサイトの記事がわかりやすかったのと、USBシリアルでTeraTermを使って書き込みが可能なのこと、そしてキャンペーン価格だった、ということで Odysseyにしました。(BLEでスマホからプログラムを呼び出せるのも面白い特徴です)

[概要編] MAX® 10 評価キット Odyssey の FPGA に microUSB ポート経由でコンフィギュレーション・データを転送してLチカ!
https://store.macnica.co.jp/library/115105

接続するときのドライバーとTeraTerm設定ファイル
http://www.m-pression.com/ja/solutions/boards/odyssey/odyssey-downloads
SiLabs USB Virtual Serial Port Driver
(Silabs-CDC_Install.zip)
http://www.m-pression.com/documents/10157/cf7a1227-ed65-4f6b-b8c5-0e7c13f356fd

(TERATERM.INI)
http://www.m-pression.com/documents/10157/1beb61af-2f1a-4935-a8f6-fd1ec3f01d07


それから今回、下記の記事に大変お世話になりました。(このサイトのコード、設定値を使わせていただきました)

Impression 製 Odyssey MAX10 評価キットを使ってFPGAをはじめてみる
https://theoriesblog.blogspot.jp/2016/05/impression-odyssey-max10-fpga.html

今回テストしたのは。ボード上のボタンを押すとLEDが光るという基本のLチカですが、ツールの機能が豊富で難しく感じました。
(まだまだほんの一部しか使っていないのですが・・)しかしながらまずは第一歩です。

環境: Quartus Prime ver15.1.1 Build 189(書籍付録DVD) / Windows 10
プロジェクト作成

ソースコードの追加

コンパイルは、[Processing]->[Start Analysis & Elaboration]

[Pin Planner]起動(メニューバーのアイコン)

再度コンパイル(メニューバーのアイコン[Start Compilation])

この時点で下記のようなファイルがoutput_filesフォルダに出力されます。

[Tools]->[Programmer]を起動して、[Edit]->[Add File]で上記.sofファイルを選択します。

.jbcファイルの作成[File]->[Create jAM,JBC,SVF or ISC File …]

.jbcファイルの転送(TeraTermでSiLabasのシリアルポートを選択)

デフォルトで空いている、パーソナリティ07に書き込み

できた!!

ちなみにパーソナリティの確認

何もでてこない模様

BLE通信のiOSアプリで確認

接続できた。パーソナリティも表示。

ADC and Audio Monitor では、音量に応じて、LEDがレベルメータのように光りました。

次はシミュレータとか使ってみたいと思います。

Hello!

IoT、ロボット、AIといったIT界隈の流れの中で、電子工作とローレベルプログラミングの必要性を強く感じるようになりました。
他のブログでもそれぞれ関連する話題について書いてきましたが、このテーマはこのブログで書いていくことにしました。
ということでブログもリニューアルしました。

ラズパイ電子工作
http://decode.red/ed/archives/202

Arduino電子工作
http://decode.red/ed/archives/315

FPGA & GPU/OPENCL
http://decode.red/blog/20150913427/

TAIL RECURSION
http://decode.red/blog/20161022617/

IoT / IchigoJam BASIC
http://decode.red/net/archives/320

IoT / IchigoLatte JavaScript
http://decode.red/net/archives/327

このbitlifeというタイトルのブログは、10年以上前にはじめましたが(初期バージョン)、ここにきてようやくそのタイトルに一番ふさわしいテーマになってきたような気がします。