awawa's report: 電子工作、その他趣味についての記録日記ブログです。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ホームページの実験記事を追加しました。
「AVR 汎用I/Oポートで直接LCDを駆動する」
http://awawa.hariko.com/avr_lcd_drive.html
今回は、専用ICを使わずにセグメント型LCDをマイコンで駆動する実験を行ってみたいと思います。ジャンク品などからLCDを取り出して自作の工作に利用できれば色々応用ができておもしろいのではないかと思っています。
PR
この間からしばらく実験していたシリアル系モジュールのうち、SPIについての実験成果をまとめました。
実験:AVR SPIインターフェース(ドットマトリックスLEDの制御)
http://awawa.hariko.com/avr_spi_hc595.html
マイコンで多数の入力・出力を必要とする回路を作っているとき、ポートの本数が足りなくなってしまう、ということがよくあります。 汎用ポート数の多いデバイスに変更する、というのが簡単で確実な解決策ですが、状況によっては、シリアル→パラレル変換を利用してポート数を増やすこともできます。
記事中では、無理やりMISOを入力して実験していますが、色々とタイミングを考察+観察すると、HC595だけでは難しいようです。(とりあえず動作してはいますが)
ちゃんとしたタイミング設計なら、あと一つHC74などを後段に追加して半クロック遅延させてあげないといけないように思いますが、今回は体力切れw。
ともかくも、データシートを読んでいるだけではなかなか理解できない部分、特にクロックとMOSI/MISOの挙動について勉強になりました。
次回の実験では、USARTを使ってAVRのデバッグ環境を補強する、というのを計画中です。
I2Cも構想中ですが、まだおもしろいネタが出てきません。
では。
非公式参考資料:
拙訳:ATmega48/88/168データシート (SPIは18章)
http://awawa.hariko.com/chira-ura/index.html
実験:AVR SPIインターフェース(ドットマトリックスLEDの制御)
http://awawa.hariko.com/avr_spi_hc595.html
マイコンで多数の入力・出力を必要とする回路を作っているとき、ポートの本数が足りなくなってしまう、ということがよくあります。 汎用ポート数の多いデバイスに変更する、というのが簡単で確実な解決策ですが、状況によっては、シリアル→パラレル変換を利用してポート数を増やすこともできます。
今回の実験では、AVRマイコン(ATmega88)のSPIインターフェースと汎用ロジックIC(74HC595)を使用して出力ポートの本数を増加させ、ドットマトリックスLEDを点灯する実験を行っています。
記事中では、無理やりMISOを入力して実験していますが、色々とタイミングを考察+観察すると、HC595だけでは難しいようです。(とりあえず動作してはいますが)
ちゃんとしたタイミング設計なら、あと一つHC74などを後段に追加して半クロック遅延させてあげないといけないように思いますが、今回は体力切れw。
ともかくも、データシートを読んでいるだけではなかなか理解できない部分、特にクロックとMOSI/MISOの挙動について勉強になりました。
次回の実験では、USARTを使ってAVRのデバッグ環境を補強する、というのを計画中です。
I2Cも構想中ですが、まだおもしろいネタが出てきません。
では。
非公式参考資料:
拙訳:ATmega48/88/168データシート (SPIは18章)
http://awawa.hariko.com/chira-ura/index.html
なぜか、CadsoftのEagle 5.9がよくseg faultで落ちるので、アップグレードしようとしたところ、Eagle 5.10がFedora12にインストールできない問題が発生。
openssl-0.9.8ライブラリがない、というエラーが出てインストールが開始しない。
調べてみると、FedoraはOpenSSL 1.0に移行してしまったので、Eagle(for Linux)が使っているlibssl.so.0.9.8が見つからないのでインストール時にエラーが出てしまうようです。
かといって、古いバージョンのバイナリを無理やりインストールしたら、システム全体の依存関係が壊れるだろうし、SSLみたいな大事なライブラリをEagleのためにダウングレードするのもいや。
なので、しかたなくソースからコンパイル。
[openssl.org]
によると、リリースは9月22日現在調べで下記の二つがlatest stableのようです。
http://forums.fedoraforum.org/showthread.php?p=1398059
(抜粋)
wget http://www.openssl.org/source/openssl-0.9.8o.tar.gz -O - | tar -xzv
cd openssl*
./config shared -fPIC --openssldir=/usr/local
make
sudo make install
Then add /usr/local/lib to the ld.conf list with ....
sudo bash echo "/usr/local/lib" > /etc/ld.so.conf.d/old-ossl.conf
exit
(ここまで)
その後、再起動するか、ldconfigを実行して完了
# /sbin/ldconfig
-fPIC オプションてのは、libssl.so.*を作成する場合に必要とのこと。 Position Independent Codeだそうです。 Eagle 5.10は無事インストールできました。
openssl-0.9.8ライブラリがない、というエラーが出てインストールが開始しない。
調べてみると、FedoraはOpenSSL 1.0に移行してしまったので、Eagle(for Linux)が使っているlibssl.so.0.9.8が見つからないのでインストール時にエラーが出てしまうようです。
かといって、古いバージョンのバイナリを無理やりインストールしたら、システム全体の依存関係が壊れるだろうし、SSLみたいな大事なライブラリをEagleのためにダウングレードするのもいや。
なので、しかたなくソースからコンパイル。
[openssl.org]
によると、リリースは9月22日現在調べで下記の二つがlatest stableのようです。
- 01-Jun-2010: OpenSSL 0.9.8o is now available, including important bug and security fixes
- 01-Jun-2010: OpenSSL 1.0.0a is now available, including important bug and security fixes
- 01-Jun-2010: Security Advisory: two security fixes
http://forums.fedoraforum.org/showthread.php?p=1398059
(抜粋)
wget http://www.openssl.org/source/openssl-0.9.8o.tar.gz -O - | tar -xzv
cd openssl*
./config shared -fPIC --openssldir=/usr/local
make
sudo make install
Then add /usr/local/lib to the ld.conf list with ....
sudo bash echo "/usr/local/lib" > /etc/ld.so.conf.d/old-ossl.conf
exit
(ここまで)
その後、再起動するか、ldconfigを実行して完了
# /sbin/ldconfig
-fPIC オプションてのは、libssl.so.*を作成する場合に必要とのこと。 Position Independent Codeだそうです。 Eagle 5.10は無事インストールできました。
ちょっとした新しい回路のアイディアを実験してみたいけど、基板パターンを作成してまで手間かけて、もし全然ダメだったらイヤだなあ。
という動機で回路シミュレーション・ソフトを使ってみたくなりました。Linuxネイティブでもオープンソースの回路シミュレーションとして、GNUcapとかNGspiceとかあるようなんですが、なにせ初心者なのと、思いついた回路がリニア・テクノロジーのチップを使ったものだ、ということで、LTspiceを使ってみることにしました。
んで、よくわからなさそうで避けていたwineをインストールしてみたところ、LTspiceは英語オンリーのUIなので問題なく動いてハッピーなのですが、どうもwineの日本語フォントがちゃんとでない。(Fedora12です)
こちら↓の記事を参考にさせてもらい、VLゴシックでWindows、もとい、wineがなんとか日本語表示できるようになりました。
http://www.ivoryworks.com/blog/2009/07/316#respond
fedoraにWine(秀丸エディタ) | Vamp Records
一点、フォントサイズが大きすぎてはみ出す問題があるのですが、これはwineのレジストリ・エディタで緩和できました。
Windows、もといwineのシステムフォントのサイズは、
HKEY_CURRENT_CONFIG/Software/Fonts/
の"LogPixels"を小さくすると小さくなるみたいです。
ブログあてに報告しようと思いましたが、コメント受付終了のようなので、ここにて御礼を。ありがとうございました。
という動機で回路シミュレーション・ソフトを使ってみたくなりました。Linuxネイティブでもオープンソースの回路シミュレーションとして、GNUcapとかNGspiceとかあるようなんですが、なにせ初心者なのと、思いついた回路がリニア・テクノロジーのチップを使ったものだ、ということで、LTspiceを使ってみることにしました。
んで、よくわからなさそうで避けていたwineをインストールしてみたところ、LTspiceは英語オンリーのUIなので問題なく動いてハッピーなのですが、どうもwineの日本語フォントがちゃんとでない。(Fedora12です)
こちら↓の記事を参考にさせてもらい、VLゴシックでWindows、もとい、wineがなんとか日本語表示できるようになりました。
http://www.ivoryworks.com/blog/2009/07/316#respond
fedoraにWine(秀丸エディタ) | Vamp Records
一点、フォントサイズが大きすぎてはみ出す問題があるのですが、これはwineのレジストリ・エディタで緩和できました。
Windows、もといwineのシステムフォントのサイズは、
HKEY_CURRENT_CONFIG/Software/Fonts/
の"LogPixels"を小さくすると小さくなるみたいです。
ブログあてに報告しようと思いましたが、コメント受付終了のようなので、ここにて御礼を。ありがとうございました。
Linux上でEclipseとAVR Pluginを使って、AVRのGUI開発環境をつくる手順についてまとめてみました。
http://awawa.hariko.com/eclipse_avr.html
ArduinoでGUIでの開発環境になれてしまうと、なかなかコマンドラインベースの開発だけで満足することができません。
今回、Eclipseを使ってみて、GUIであるということだけでなく、以下のような利点があることがわかりました。
さすが、Eclipseの人気プラグインだけあって、想像以上によくできており、インストールではまる部分も少ないと思いますので、オススメです。
http://awawa.hariko.com/eclipse_avr.html
ArduinoでGUIでの開発環境になれてしまうと、なかなかコマンドラインベースの開発だけで満足することができません。
今回、Eclipseを使ってみて、GUIであるということだけでなく、以下のような利点があることがわかりました。
- makefileを自分で書かなくてよい
- Eclipseのコード編集支援を利用できる
- ヒューズビットの設定をわかりやすいGUIで操作できる
さすが、Eclipseの人気プラグインだけあって、想像以上によくできており、インストールではまる部分も少ないと思いますので、オススメです。
カレンダー
11 | 2024/12 | 01 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
フリーエリア
最新記事
(05/04)
(04/16)
(03/31)
(01/29)
(10/23)
最新トラックバック
ブログ内検索
最古記事
(02/23)
(02/24)
(03/08)
(03/18)
(06/24)
P R