こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

16ピンのPIC16F819のサーボモータなどのBASICプログラム

16ピンのPIC16F819のPICを利用してサーボモータや光電センサー、ディスプレイを制御したいのですがBASICのプログラムが分かりません 

サーボモータは Futaba S3002 を使用
・計7個のサーボモータ使用
・ボタンを押して入力したものをサーボモータに出力〔右に90度⇒左に90度〕

光電センサーは鏡とセンサーの間を通過するのを検出するもので omron E3R-R2E4 を使用
・コインを検出してカウントする
・6個使用

ディスプレイは数字と文字の両方を表示したいです


まとめると、コインを光電センサで検出してその検出したコインをディスプレイに表示する。たまボタンを押すとサーボモータが回転
するものを作りたいです。
この動作をBASICのブログラムで制御させるには、どのようなプログラムにすればいいですか

投稿日時 - 2008-12-11 16:38:55

QNo.4547377

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

まだ、解決していないのでしょうか??

取り合えず、マイクロテクニカのHPからマニュアルをDLすると、ある程度で切ると思うし。
本場、アメリカのメーカーサイトにアクセスするとサンプルプログラムがありますので、上手く組み合わせるとプログラミングできると思います。

------------------------------------------------------
PICとLCDを直結して使うプログラム

DEFINE LCD_DREG PORTB 'データポートを設定します。
DEFINE LCD_DBIT 4 '使用するポートのLSB番号の指定です。0又は4 ※
DEFINE LCD_RSREG PORTB 'レジスタセレクトポートを設定します。
DEFINE LCD_RSBIT 0 'レジスタセレクトのピンを指定します。
DEFINE LCD_EREG PORTB 'ENABLEポートを指定します。
DEFINE LCD_EBIT 1 'ENABLEビットを指定します。
DEFINE LCD_BITS 4 'LCDのバスサイズを指定します。4ビット又は8ビット
DEFINE LCD_LINES 2 'LCDの行数を指定します。1行~4行

------------------------------------------------------
LCD接続をRS232Cで接続し使用ピンを減らすプログラム

Define OSC 20
ADCON1 = 7
vars: Rx var PORTC.7
Tx var PORTC.6
rec var byte[2]
ser: Serin2 Rx, 84, [STR rec¥2]
jud: Lcdout $fe, 1, "Receive = ", STR rec¥2
Serout2 Tx, 84, ["REC"]
Goto ser
------------------------------------------------------

サーボ駆動は、PWMでパルス幅とDuty値を指定すれば良いですよ。

光電センサーは、傷害物が無い時の出力と傷害物がある時の違いを、PICで判断させればOKです。

商品を買っているなら、テクニカルサポートでアドバイスを受けられます。


     

参考URL:http://www.microtechnica.net/

投稿日時 - 2013-01-25 06:38:20

ANo.2

初歩的な間違い。  PIC16F819は18ピンですね。

PICBasic Pro
PIC Pico Basic
MikroBasic

などがあります。

投稿日時 - 2011-12-02 21:43:03

ANo.1

BASIC の環境は何ですか?
(そもそもPIC用のBASIC環境っていうのが存在するのですか?)

投稿日時 - 2008-12-14 06:10:10

補足

正直プログラムに関してそんなに詳しくないので、よく分からないのですが
define osc 10 porta=%00000000
のような言語です

投稿日時 - 2008-12-15 16:55:52

あなたにオススメの質問