ライントレースカー:本体部分の完成
ついにライントレースカーの基盤部分が完成しました。あとはプログラムを書けばとりあえずは完成。
本体の基盤にはセンサの状態がわかるようにLEDをつけた。そこで動作確認もかねて試しにLEDを点滅させるプログラムを書いてみた。
―コードー
#include <avr/io.h>
#include <util/delay.h>
int main (void)
{
// PORTx(x = B, C, D)をすべて出力に
DDRB = 0b11111111;
DDRC = 0b11111111;
DDRD = 0b11111111;
PORTD = 0b00000111; // PORTDの0,1,2PIN(LEDがつながっている)をHighにし他をLowに
while(1){
_delay_ms(500); // 500ms待つ
PORTD = 0x01; // PORTDの0PINをHighにし他をLowに
_delay_ms(500);
PORTD = 0x02;
_delay_ms(500);
PORTD = 0x04;
}
}
初めてのマイコンでうまくいくのか心配だったが、ちゃんとLEDが順番に光っているので良かった。基板をはんだ付けしているときは全くテストできていなかったので、LEDが光ったときは少し感動!LCD(液晶ディスプレイ)をつけて遊びたくなってしまった。
また、モータドライバのテストがまだうまくいっていない。試しに電池をつなげてモータも動かそうとしてみたところ、電圧が足りないのかタイヤが回らなかった。ちゃんとした電源でやるとうまく回ったので電源周りが課題に。
全体:センサとか基板の位置はまだ固定しておらずてきとう。コードが少し邪魔になってしまった。 |
基板その1:センサから情報をもらい、モータへ出力するための基板。真ん中にATMEGA168Pがあり、右下に2つついているのが左右それぞれのモータドライバ。 |
赤外線センサ:黒いLEDみたいなのがセンサ。隣のLEDから赤外線が出てそれの反射の状態をキャッチする。青いのが半固定抵抗でこれで感度を調整する(らしい)。 |
モータ回り:青いのがコンデンサでモータなどで発生するノイズを除去するらしい。 |
本体の基盤にはセンサの状態がわかるようにLEDをつけた。そこで動作確認もかねて試しにLEDを点滅させるプログラムを書いてみた。
#include <avr/io.h>
#include <util/delay.h>
int main (void)
{
// PORTx(x = B, C, D)をすべて出力に
DDRB = 0b11111111;
DDRC = 0b11111111;
DDRD = 0b11111111;
PORTD = 0b00000111; // PORTDの0,1,2PIN(LEDがつながっている)をHighにし他をLowに
while(1){
_delay_ms(500); // 500ms待つ
PORTD = 0x01; // PORTDの0PINをHighにし他をLowに
_delay_ms(500);
PORTD = 0x02;
_delay_ms(500);
PORTD = 0x04;
}
}
―コードは以上―
初めてのマイコンでうまくいくのか心配だったが、ちゃんとLEDが順番に光っているので良かった。基板をはんだ付けしているときは全くテストできていなかったので、LEDが光ったときは少し感動!LCD(液晶ディスプレイ)をつけて遊びたくなってしまった。
また、モータドライバのテストがまだうまくいっていない。試しに電池をつなげてモータも動かそうとしてみたところ、電圧が足りないのかタイヤが回らなかった。ちゃんとした電源でやるとうまく回ったので電源周りが課題に。
ライントレースカーの進捗
前回の更新から随分間があいてしまいました。
まず大きく仕様を変更することになったということと、ライントレースカーも基板の工作を始めたのでその報告。
次のページを大きく参考にさせていただく予定です。回路はほぼそのままです。
うしこさんの「うしこlog」ライントレーサーを作るぞ
http://usicolog.nomaki.jp/engineering/avr_lineTracer/lineTracer.html
センサーは三角に3つ配置しました(前一つに左右1つづつ)。
また、AVRのマイコンを使うに当たってマイコンにプログラムを書き込むものが必要になるので、それも部品を調達して自作してみました。できたものを買うとなると2,3千円かかるものが、千円ぐらいで済みました。また、AVRのマイコンにもPICにも使うことが出来るのでよりお得な気がします。
PICerFT http://einstlab.web.fc2.com/PICerFT/PICerFT.html
詳しい説明は後日かけるといいかも。。。
まず大きく仕様を変更することになったということと、ライントレースカーも基板の工作を始めたのでその報告。
仕様の変更
Arduinoを使って作る予定だったのが、AVRのマイコンを使うことになりました。次のページを大きく参考にさせていただく予定です。回路はほぼそのままです。
うしこさんの「うしこlog」ライントレーサーを作るぞ
http://usicolog.nomaki.jp/engineering/avr_lineTracer/lineTracer.html
最近の進捗
数日前に、センサーの部分ができました。実物は後日公開できたらいいです。センサーは三角に3つ配置しました(前一つに左右1つづつ)。
また、AVRのマイコンを使うに当たってマイコンにプログラムを書き込むものが必要になるので、それも部品を調達して自作してみました。できたものを買うとなると2,3千円かかるものが、千円ぐらいで済みました。また、AVRのマイコンにもPICにも使うことが出来るのでよりお得な気がします。
PICerFT http://einstlab.web.fc2.com/PICerFT/PICerFT.html
詳しい説明は後日かけるといいかも。。。
今後について
ライントレースカーでは、あとはマイコンやモータドライバを積む基盤を製作して、プログラムを書く。
上のうしこlogさんでは、マイコンの5v電源を百均の携帯の充電器を改造しているが自分で探してみたところ見当たらなかったのでどうするか悩み中です。有力なのは3端子レギュレータというものを使って変圧して電池から5v電圧をとりだすことかな。
ArchLinuxのインストール 続き
以前ArchLinaxをインストールしたときうまくいかない部分があったが今回少し変えてインストールしてみたら無事起動できた。このことを忘れないように記録に残しておこうと思う。
状況のまとめ
- 2002年くらいのVAIOのPCV jx11のマシンにインストールしてみたが起動しない。
- ↑思い返してみればブートローダ(grub)が起動していなかった。
- 仮想マシン(VirtualBox)ではインストールできた。
今回変えてみたこと
- ブートローダをgrubからsyslinuxに変更
他はArchLinux公式ページのビギナーズガイドの通り。
おそらくグラフィックで問題があった。2年くらい前にUbuntu12でgrubをインストールしたときはうまくいっていたような気がする。SiS関連が面倒であった。これからArchlinuxにX Window Systemを入れる際にも面倒になると思われる。
ちなみに今回ArchLinuxを導入したPCのスペック(VAIOのホームページより)
モデル | PCV-JX11GBP7・JX11GBP5・JX11BP7・JX11BP5・JX11L5・JX11BPV7 |
プロセッサー | AMD Athlon XPプロセッサー 1500+(1.3GHz)*1 |
キャッシュメモリー | 1次キャッシュ128KB/2次キャッシュ256KB (CPU内蔵) |
システムバス | 200MHz |
チップセット | SiS740 チップセット |
メインメモリー(標準/最大) | 256MB/1GB*2(DDR SDRAM DDR266対応) |
拡張メモリー スロット(空きスロット数)*3 | DIMM スロット×2(1) |
グラフィック アクセラレーター | SiS740チップセットに内蔵 |
ビデオメモリー | 32MB(メインメモリー共有) |
表示モード(RGB接続時)*4 | 約1677万色 (1280×1024、1024×768、800×600、 640×480) |
表示モード(DVI接続時)*4 | 約1677万色 (1280×1024*5、1024×768、800×600、640×480) |
ハードディスクドライブ | 約80GB (Ultra ATA/100)(Cドライブ約15GB, Dドライブ約65GB)*6 |
CD/DVDドライブ | CD-RW/DVD-ROM一体型ドライブ ●書き込み:最大8倍速(CD-R・CD-RW)*8 ●読み出し:最大32倍速(CD-R・CD-ROM)、最大20倍速(CD-RW)、最大8倍速(DVD-ROM) |
オーディオ機能 | AC97準拠オーディオ、3Dオーディオ(Direct Sound 3D)対応 |
電源 | AC100V ±10% / 50~60Hz |
登録:
投稿 (Atom)