web-dev-qa-db-ja.com

マイクロコントローラプログラミングに飛び込む

Sure Electronics( http://www.sureelectronics.net/goods.php?id=112 )とドライバーボード( http:/)からLEDマトリックスモジュールのバッチを入手しました。 /www.sureelectronics.net/goods.php?id=972 )。

配線してMacに接続しました。適切なドライバーを見つけました。SureElectronicのWebサイトのドキュメントに従って、仮想COMポートを使用してディスプレイにテキストを送信できるようになりました。

start with "0xFE,0x47 (G) 0x01,0x01" followed by 16 characters - display the 16 characters in the first row
start with "0xFE,0x47 (G) 0x01,0x02" followed by 16 characters - display the 16 characters in the second row

計画では、すべてをRaspberry Piに接続し(最終的に入手したとき)、すべてを使用してWebサービスからの情報を表示します。

ただし、この設定は最適ではありません。ドライバボードをUSB経由で使用できるようにするには、電源を入れるたびに初期化する必要があります。また、文字の表示をより細かく制御したい(たとえば、この設定では非ASCII文字やテキストのスクロールはサポートされていません)。

重いグーグルは、私がドライバーボード上のHT1632チップに深く入る必要があると私に信じさせました。 SureElectronicsからのドキュメントはまばらです。

目標は、コンピューターで実行されているコードから各LEDピクセルを個別にアドレス指定できるようにすることです(たとえば、ブール値の2D配列のように)。

私はマイクロプログラミングにまったく慣れていないので、どこから始めればよいのかわかりません。それをプログラムするために私は何をする必要がありますか?ドライバーボードのコードを変更することもできますか、それとも別の種類のドライバーボードが必要ですか?また、ボードが自動的にUSB対応になるように、起動シーケンスを自動化するにはどうすればよいですか?

また、私は主にJava/Web開発者なので、Cプログラミングはできるだけ避けたいと思います。

この種のプログラミングの経験がある人が私を正しい方向に向けて始めることができれば、私は感謝するでしょう。

3
Vidar S. Ramdal

ほとんどのマイクロコントローラーはプログラミングできますが、リセットピンをより高い電圧に設定して「プログラミングモード」にするか、他の方法でそのように信号を送る必要があります。購入したハードウェアを簡単に見ると、マイクロがボードに統合されていることがわかります。したがって、使用しているコントローラーの再プログラミングをサポートしていない限り、ボードから取り外してプログラマーボードに接続する必要があります。次に、プログラマーボードに付属しているソフトウェアを使用して、コントローラーのコードをバックアップ、変更します。

この場合にどのオプションが利用可能になるかは、私が見た小さな外観からはわかりませんが、少なくとも、一般的にすべてがどのように機能するかを知ることができます。

しかし、最終的には、あなたがJavaの人なら、おそらくマイクロプログラミングを楽しむことはないでしょう-それはまったく異なる球技です。また、少なくともかなりの時間を費やす必要があります。ほとんどの趣味のマイクロには、一般にほぼ十分なメモリがないか、Javaの複雑さに近づくものを実行するのに十分な強力なプロセッサがないため、Cのバリアント(および場合によっては制御レジスタなどのアセンブリにジャンプすることもあります)。

2
Jon Kloske

また、私は主にJava/Web開発者なので、Cプログラミングはできるだけ避けたいと思います。

マイクロコントローラーで多くのことをしたいのであれば、Cと一緒に暮らすことを学ぶ必要があります。少なくとも、とにかく合格の知識があります。マイクロコントローラー用に表示されるほとんどのコードはCで記述されています。記述したくない場合でも、少なくとも読み取り可能である必要があります。

また、 http://arduino.cc/playground/Main/HT1632C は、そのボードなどのフォントの設定方法を示しています。個々のピクセルを制御することは可能だと思いますが、ボード上のフォントサポートを使用して回避し、代わりにピクセルを切り替えて各文字を描画することを計画している場合、ディスプレイの更新は非常に遅くなります...

2
Earlz

HT1632はわかりませんが、データシートを入手できるはずです。まず、デバイスがフィールドプログラマブルかどうかを確認する必要があります。最近のものもありますが(ほとんど?)、One TimeProgrammableデバイスから作成する方がはるかに安価です。そこから、ポートピンを切り替えてオシロスコープで監視するなど、簡単なプログラムを実行する方法を考えてください。そうすれば、LEDディスプレイを機能させることができる場合があります。

HT1632データシートから、デバッグ/プログラミングモードにする方法を見つけることができる場合があります。 JTagはありますか?

経験不足を考えると、発汗とインスピレーションに頼る必要があります。あなたが試みていることを達成するために、あなたはほぼ確実にボードの回路図についてSureElectronicsからの詳細を必要とするでしょう。

編集:私はマニュアルをスキャンしました。ドライバボードはシリアルモードで起動しているようです-コネクタのないシリアルポートがありますが、シリアルがRS232 ot TTLレベル信号であるかどうかはわかりませんでした。 Macをシリアルポートに接続するだけです(これにはRS232ドングルを使用できます)。

1
mattnz