スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | TB(-) | CM(-)

マイコンについて語る、の巻

PICBASICのいいところでも紹介(`・ω・´)

でも廃盤になっちゃったんで、H8をお勧めarduinoや生PIC、AVRとかその他もろもろをお勧めします。

sonota27.jpg

いきなりH8から始めると自爆するので注意!!(笑)

PICBASICなんて、2000円払えば開発環境を構築できちゃう素晴らしいものだったんですが、時代の流れにのまれ消えてしまいました。

この場合の時代の流れと言うと、マイコンが8bitから16bitの時代へと移行しつつあるとか、BASICより直感的にプログラムが書けるCに移る人が多いとか、PIC16F877なんか古い!とかですかね(´・ω・`)


とりあえずコイツのいいとこ。

めっちゃ安いのに最低限の開発環境を構築できる。
・別でBASICコンパイラいらん。
・言語めっちゃ簡単。(小学生でも書ける←マジで!!)
・デバックとか簡単、ブレークポイントとかも使えるよ!!
・液晶表示簡単!
・動作20MHzなので遅いわけじゃないカナ(PICでは普通・PCと比べるな!w)

こいつのわるいとこ

割り込み処理できん。
┗プログラマーの人ならわかると思いますが高度な処理をさせるときに無いとちょっと困りますよネ。
・プログラムがオーバーフローしまくる。
┗自分のプログラムの書き方が悪いだけかも(笑)
 IF文使いまくるとオーバーフローします^^;
・A/D変換やたら遅い。(と言っても人間の反応速度より早いから普通に使っててもわからない。高速な処理をするときに遅いことが発覚する(笑))
・水晶発信子が振動に弱い(まぁ普通か。気になるならセラロックに変えましょう)
・廃盤になりやがった。




ってことでもう手にはいらないので、あきらめてarduinoを買うんだ!

それかPICライター買うか(←市販のCとかBASICコンパイラ高い;;cygwin使えるのかな?)

挫折しない覚悟がある人はいきなりH8マイコンやらやりましょう。
多分挫折する(笑)

sonota3.jpg
↑DSiで撮ったから手振れがww↑

ネタが無いので要望があれば、PIC、H8、arduinoのどれかの説明でもしていこうかな…。

ハッキリ言ってH8は自分も全部できない;;

LED制御(5V出力)やPWM、A/D変換、D/A変換、タイマー、割り込み処理、I2Cはできるけど、それ以外の機能についてはできないかも。

それとH8買うなら悪いこと言わないから3052買いましょう!

3048なんか買うと後で損するので。

処理遅いし、書き込み回路作らないといけないし。

ちなみにポケウォーカーの中に入っているのはH8マイコンです。

H8ができると世界は広がります!

H8も16bit、ARMも16bitのマイコンです。

DSのCPUとあんまりかわんないですよ。

まぁクロック遅いからH8負けてますが(笑)




aruduinoは使いやすいです。

ちょっと情報量が少ないですが、調べる価値アリです。

最近流行なので今から流行に乗っても遅くないです。

Arduino1.jpg

ただ、IDEにバグがあったりしてまだ発展途上です。

例えばMEGAだとアナログポートがうまく動作しなかったりです。

言語はCで、H8の100分の1くらい簡単なので初心者でもできます!

と言っても英語読めないとオワタ\(^o^)/

マイコン選択に迷っているひとは相談してくださいな。

役に立つかもしれません(´∀`)
[ 2009/12/26 00:29 ] 電子工作 | TB(0) | CM(15)
私もマイコンに手を出してみようかな~なんて。
Perlしかプログラミングは出来ないので、
VB/C#を猛特訓中なのりんむらでしたw
とりあえず電卓ぐらいは作れるようになりましたよ(`・ω・´)
Movabletypeへの自動投稿ツールを作りたい( ̄∇ ̄;)
[ 2009/12/26 01:24 ] [ 編集 ]
自分はPCは.NETC++くらいしか書けませんw
[ 2009/12/26 12:52 ] [ 編集 ]
コマンドプロンプトのバッチでプログラミングが出来た気持ちになっていますw
[ 2009/12/26 22:28 ] [ 編集 ]
コマンドプロンプトもプログラムの1種なので、できない人から見れば立派なプログラマですよ(´∀`)

それにコマンドプロンプトできれば、自動でパッチしたりするプログラム作れますしね~。

ちなみに自分はコマンドラインのプログラムはあんまりできません^^;

参考書の文字をそのまま並べるくらいしか^^;

frameworkのC++ならちょくちょく書けるんですが、無料版を使っているのでプログラムの制限とかもあって、あんまり役に立つプログラムは書けないんですよね・・・。

なので電卓作って、図形抽出するプログラム作って終わってます(´Д`)
[ 2009/12/27 19:02 ] [ 編集 ]
どうも。
いきなりですが、マイコンをいじってみたくなってしまいました。
電子回路では小型化が難しいものをPSPに組み込んでみたくなってので♪

http://feng3.cool.ne.jp/10f/knight2005.html
↑のところのものなのですが、現在でも再現可能でしょうか?
駄目だったら、何を使うのがお勧めですか?
[ 2010/01/01 20:56 ] [ 編集 ]
おお♪すごい長文w

ライター・・・
た…高い・・・・
ウチはお年玉が使わせてもらえない家庭なのですよ・・・

交渉しだいで使えるようになるかな…

マイコン使えたら結構幅が広がりそうww
まずは軍資金の調達からですな・・
[ 2010/01/02 00:18 ] [ 編集 ]
そうなんですか~;
自分は使っちゃうタイプです。
ちなみにライターは自作もできますよ。
まぁ後々、自作だと困りますが^^;
売っているものの方が対応しているPICの数が多いので。

と言うか書き込んだのに表示されてない^^;
1回失敗して消したからかな;;
[ 2010/01/02 00:30 ] [ 編集 ]
よく考えてみたらパラレルもない…
変換買わねば
[ 2010/01/02 09:50 ] [ 編集 ]
たしかにRS232Cが無いとできませんね^^;

USBのRS232C変換アダプタを使用する場合は、書き込みソフトウエアを起動する前に変換アダプタをPCに接続していないと書き込みできません

認識とかの問題だと思います。

ネットゲームも起動する前にコントローラーを接続しておかないといけないのと同じです。

ソフト起動後に接続しても認識しないのはUSBインターフェイスの特徴と言うか難点ですかね。
[ 2010/01/02 16:40 ] [ 編集 ]
RS232C・・・?
ぁ、⑨ピンの・・・?
緑の・・・?


付いてましたw
「|O|O|」みたいなことが書かれてw
[ 2010/01/02 20:52 ] [ 編集 ]
親にライターほしいって言ったら通りました♪

でも受験終わってからだそうで・・・
[ 2010/01/02 20:58 ] [ 編集 ]
高専に受かれば早く買ってもらえる!
ってことでがんばってください^^

高専でやることはPIC程度だと思うので、今理解しとけば高専で注目の的かも?(笑)
ちなみにマイコンとかできるとロボコン部では重宝されるそうです。
この前岐阜高専に行ったときにはそんなこと言ってました。

RS232Cはシリアル通信のことです。
⑨ピンのやつですw
秋月のマイコンの説明書にはRS232Cと書いてある場合が多いです。
[ 2010/01/02 21:29 ] [ 編集 ]
面接で終わったらいいなぁ…
それなら一月で遊び放題・・・w

でも内申悪そw
教師殴ったりしたからなぁ
[ 2010/01/02 21:47 ] [ 編集 ]
ちょw殴るなw

殴ると推薦がもらえないかもw

ちなみに自分は内申出ているんでいいんですが推薦はギリギリ無理w

高専受けるかは微妙です(笑)

ロボコン部でPICか~と思っちゃいましたし^^;

トラ技とか読んでると高専で習うことはそんなにだな~と思っちゃいます

4年生の研究で赤外線通信や加速度・・・。

ロボカップやってると中学生でもマイコン弄ってる人たくさんいますし、PC搭載してる人もいるので^^;

まぁ去年の全国大会まともにロボット動かなかったんですが^^;

マルチCPUでロボット作ったんですが、うまく同期できてなかったw

それに新フィールドでやったので超音波センサーでの位置の取得がうまくできなくて;;

ちなみにこんなプログラムです。

動かなかったのでツカエネープログラムですw

'■■■■■■変数定義■■■■■■
Dim IR1
Dim IR2
Dim IR3
Dim IR4
Dim IR5
Dim IR6
Dim IR7
Dim IR8
Dim c0
Dim c1
Dim c2
Dim c3
Dim c4
Dim c5
Dim c6
Dim c7
Dim ex1
Dim ex2
Dim ex3
Dim ex4
Dim ex5
Dim ex6
Dim ex7
Dim ex8

'■■メインプログラム■LCD初期化■example変数への数値の代入■■
Initlcd
Clearlcd

ex1 = 150
ex2 = 150
ex3 = 150
ex4 = 150
ex5 = 150
ex6 = 150
ex7 = 150
ex8 = 150
loop:
Setpos 10,1
Putlcd " ",IR3," "
'■A/D変換&デジタル値を変数に代入■
c0 = rc.Bit0
c1 = rc.Bit1
c2 = rc.Bit2
c3 = rc.Bit3
Adc 0,0,IR1
Adc 1,0,IR2
Adc 2,0,IR3
Adc 3,0,IR4
Adc 4,0,IR5
Adc 5,0,IR6
Adc 6,0,IR7
Adc 7,0,IR8
'■■■■■■■■!!!!!!!試合中は処理が遅くなるのでデバッグは「'」でコメントにしておく!!!!!!■■■■■■■■
'Gosub debag
Gosub lcd

'ここからメインプログラム
If c0 >0 Then'前に障害物があるか捜索
If c1 >0 Then
Gosub type1'前後に障害物があるのはおかしいので全範囲ボール捜索
Else
If c2 >0 Then
If c3 >0 Then
Gosub type1'前右左に障害物があるのはおかしいので全範囲ボール捜索
Else
Gosub type2'ロボットは右上の端にいると断定、左後だけでボール捜索
Endif
Else
If c3 >0 Then
Gosub type3'ロボットは左上にいると断定、右後だけでボール捜索
Else
Gosub type1'相手ゴール前、又は相手ロボットが自分の前にいると断定、通常処理type1へ
Endif
Endif
Endif
Else
If c1 >0 Then'後に障害物があるか捜索
If c2 >0 Then'右に障害物があるか捜索
If c3 >0 Then'左に障害物があるか捜索
Gosub type1'後右左に障害物があるのはおかしいので全範囲ボール捜索
Else
Gosub type4'ロボットは右後にいると断定、右前だけでボール捜索
Endif
Else
If c3 >0 Then'ここで止まる!
Gosub type5'ロボットは左後にいると断定、左前だけでボール捜索
Else
Gosub type1'自陣ゴール前、又は相手ロボットが自分の後にいると断定、通常処理type1へ
Endif
Endif
Else
Gosub type1'どこにも障害物がないので通常処理type1へ
Endif
Endif
Goto loop

'■■■■■■■■■■■■サブルーチン■■■■■■■■■■■■
'デバッグ
debag:
Debug " SS1=",c0," SS2=",c1," SS3=",c2," SS4=",c3
Sleep 200
Return
'LCDの表示
lcd:
Setpos 0,0
Putlcd "C0=",c0," "
Setpos 5,0
Putlcd "C1=",c1," "
Setpos 10,0
Putlcd "C2=",c2," "
Setpos 0,1
Putlcd "C3=",c3," "
Return

'位置条件判定後の処理
type1:
Setpos 8,1
Putlcd "1"
If IR1 > ex1 Then
Gosub fwd
Else
If IR2 >ex2 Then
High rd.Bit0
Low rd.Bit1
High rd.Bit2
Low rd.Bit3
High rd.Bit4
Low rd.Bit5
High rd.Bit6
Low rd.Bit7
Else
If IR3 >ex3 Then
High rd.Bit0
Low rd.Bit1
Low rd.Bit2
High rd.Bit3
High rd.Bit4
Low rd.Bit5
Low rd.Bit6
High rd.Bit7
Else
If IR4 >ex4 Then
Low rd.Bit0
High rd.Bit1
High rd.Bit2
Low rd.Bit3
Low rd.Bit4
High rd.Bit5
High rd.Bit6
Low rd.Bit7
Else
If IR5 >ex5 Then
High rd.Bit0
Low rd.Bit1
High rd.Bit2
High rd.Bit3
High rd.Bit4
Low rd.Bit5
High rd.Bit6
High rd.Bit7
Else
If IR6 >ex6 Then
High rd.Bit0
High rd.Bit1
Low rd.Bit2
High rd.Bit3
High rd.Bit4
High rd.Bit5
Low rd.Bit6
High rd.Bit7
Else
If IR7 >ex7 Then
High rd.Bit0
High rd.Bit1
High rd.Bit2
Low rd.Bit3
High rd.Bit4
High rd.Bit5
High rd.Bit6
Low rd.Bit7
Else
If IR8 >ex8 Then
Low rd.Bit0
High rd.Bit1
High rd.Bit2
High rd.Bit3
Low rd.Bit4
High rd.Bit5
High rd.Bit6
High rd.Bit7
Else
Gosub stop
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Goto loop

type2:
Setpos 8,1
Putlcd "2"
If IR2 >ex2 Then
High rd.Bit0
Low rd.Bit1
Low rd.Bit2
High rd.Bit3
High rd.Bit4
Low rd.Bit5
Low rd.Bit6
High rd.Bit7
Else
If IR4 >ex4 Then
Low rd.Bit0
High rd.Bit1
High rd.Bit2
High rd.Bit3
Low rd.Bit4
High rd.Bit5
High rd.Bit6
High rd.Bit7
Else
If IR8 >ex8 Then
High rd.Bit0
High rd.Bit1
High rd.Bit2
Low rd.Bit3
High rd.Bit4
High rd.Bit5
High rd.Bit6
Low rd.Bit7
Else
High rd.Bit0
High rd.Bit1
High rd.Bit2
High rd.Bit3
High rd.Bit4
High rd.Bit5
High rd.Bit6
High rd.Bit7
Endif
Endif
Endif
Goto loop

type3:
Setpos 8,1
Putlcd "3"
If IR2 >ex2 Then
High rd.Bit0
Low rd.Bit1
High rd.Bit2
Low rd.Bit3
High rd.Bit4
Low rd.Bit5
High rd.Bit6
Low rd.Bit7
Else
If IR3 >ex3 Then
Low rd.Bit0
High rd.Bit1
High rd.Bit2
Low rd.Bit3
Low rd.Bit4
High rd.Bit5
High rd.Bit6
Low rd.Bit7
Else
If IR7 >ex7 Then
Low rd.Bit0
High rd.Bit1
High rd.Bit2
High rd.Bit3
Low rd.Bit4
High rd.Bit5
High rd.Bit6
High rd.Bit7
Else
High rd.Bit0
High rd.Bit1
High rd.Bit2
High rd.Bit3
High rd.Bit4
High rd.Bit5
High rd.Bit6
High rd.Bit7
Endif
Endif
Endif
Goto loop

type4:
Setpos 8,1
Putlcd "4"
If IR1 >ex1 Then
Low rd.Bit0
High rd.Bit1
Low rd.Bit2
High rd.Bit3
Low rd.Bit4
High rd.Bit5
Low rd.Bit6
High rd.Bit7
Else
If IR4 >ex4 Then
Low rd.Bit0
High rd.Bit1
High rd.Bit2
Low rd.Bit3
High rd.Bit4
Low rd.Bit5
Low rd.Bit6
High rd.Bit7
Else
If IR6 >ex6 Then
High rd.Bit0
High rd.Bit1
Low rd.Bit2
High rd.Bit3
High rd.Bit4
High rd.Bit5
Low rd.Bit6
High rd.Bit7
Else
High rd.Bit0
High rd.Bit1
High rd.Bit2
High rd.Bit3
High rd.Bit4
High rd.Bit5
High rd.Bit6
High rd.Bit7
Endif
Endif
Endif
Goto loop

type5:
Setpos 8,1
Putlcd "5"
If IR1 >ex1 Then
Low rd.Bit0
High rd.Bit1
Low rd.Bit2
High rd.Bit3
Low rd.Bit4
High rd.Bit5
Low rd.Bit6
High rd.Bit7
Else
If IR3 >ex3 Then
High rd.Bit0
Low rd.Bit1
Low rd.Bit2
High rd.Bit3
High rd.Bit4
Low rd.Bit5
Low rd.Bit6
High rd.Bit7
Else
If IR5 >ex5 Then
High rd.Bit0
Low rd.Bit1
High rd.Bit2
High rd.Bit3
High rd.Bit4
Low rd.Bit5
High rd.Bit6
High rd.Bit7
Else
High rd.Bit0
High rd.Bit1
High rd.Bit2
High rd.Bit3
High rd.Bit4
High rd.Bit5
High rd.Bit6
High rd.Bit7
Endif
Endif
Endif
Goto loop


stop:
High rd.Bit0
High rd.Bit1
High rd.Bit2
High rd.Bit3
High rd.Bit4
High rd.Bit5
High rd.Bit6
High rd.Bit7
Return

fwd:
Low rd.Bit0
High rd.Bit1
Low rd.Bit2
High rd.Bit3
Low rd.Bit4
High rd.Bit5
Low rd.Bit6
High rd.Bit7
Return
[ 2010/01/02 22:52 ] [ 編集 ]
殴っても一応木更津高専の推薦は出ました。

ってか( ゚д゚)ポカーン
[ 2010/01/02 23:49 ] [ 編集 ]
コメントの投稿

コメントを投稿する際の注意点
・アフィリエイトコメントは即消去してアクセス規制させて頂きます。
・「@」を含む文は投稿できません。
@は☆や○、「あっと」などに置き換えてください。
・誹謗中傷コメントは消去、悪質な場合にはアクセス規制させて頂きます。
・質問する際には、まず自分である程度調べてから質問してください。













管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

プロフィール

儚

Author:儚
PSPやDSのハードウエア改造関係の記事をちまちま書いています( ´∀`)ノ
誤字脱字は報告していただけるとウレシイです(^_^)

GNCT1年生。

最近ブログの更新が少ないですが生きてます。

所持物
PSP10002台,PSP20001台
DS DSi
ネットノートUL20A
自作PC(corei7860 GTS250)
iphone 3GS
ipod touch 2nd

所持マイコン
PIC各種 H8/3052 H8SX/1655
インタプリタ型所持マイコン
arduino 秋月PICBASIC

とりあえず書けるプログラム言語など
BASIC C C++.NET PHP HTML CSS javascript

やってみたい言語
java

twitterやってます。

よかったらフォローしてください。

ブログ内の記事を参考に行った改造について私は責任を負いません。
自己責任で行ってください。




ブラウザはFirefox3以上Opera10.0以上を推薦。
IE6以下はテンプレートが崩れる可能性があります。




スペシャルリンク
僕とPSPとPCの生活。

ユタスケブログ
のりんむらBLOG
相互リンクをしている中から激選してスペシャルリンクさせて頂きました。
最新コメント
メールフォーム
修理改造を希望される方はこちらのメールフォームより必要事項を記入した上で送信してください。

名前:
メール:
件名:
本文:

コメント・トラバ・総記事数
コメント数:  トラバ数:  総記事数:
管理人のやる気


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。