検索
AND検索
OR検索
トップ
|
リロード
|
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
サーボモータを動かす をテンプレートにして作成
★トップ(目次)ページへ
★情報交換掲示板
08/08/14設置
今日の10件
PICとMikroC
(378)
è?ªä??my_pwm()é?¢æ?°ã?®ç´?ä??
(3)
I2C通信LCD表示法(16F1827 XC8)
(3)
スリープ(PICの消費電力を最小に)
(3)
PIC-PICの通信(USART)
(3)
FrontPage
(2)
Writer509 3,500円
(2)
PukiWiki/1.4/Manual/Plugin/S-U
(2)
Writer509+3,500±ß
(2)
XC8:変数の型のタイプと値の範囲
(2)
最新の15件
2024-01-29
MikroCの特徴
RecentDeleted
2023-12-22
RCDライタ 350円
LEDの明るさを変える(PWM)(24FJ64)
XC8:コンフィグレーションワード記述書式について
XC8:プログラミング書式の確認
ライントレースカー(基本機能のみ搭載)
発光ダイオード(LED)の点滅(16F1827 XC8)
2023-09-12
I2C通信LCD表示法(16F1827 XC8)
2023-07-16
スリープ(PICの消費電力を最小に)
2023-07-06
PIC-PICの通信(USART)
2023-07-04
16F1827のconfig設定
PICとMikroC
2023-06-06
A/D値でLED点滅間隔変更(12F683)
2023-05-29
LEDの明るさを変える(PWM)(16F886)
#amazon(4798109223)
Total:0/Today:0
開始行:
閲覧総計:&counter(); (本日:&counter(today); 昨日...
~
*サーボモータを動かす [#vbb42053]
PIC 16F628A内臓のTimer0割込み機能を利用し、サーボモータを...
周期のパルス信号を発生させて、サーボモータを動かしてみよ...
サーボモータ:ミニスタジオ社製 MiniS RB-50 @1,300円
http://www.ministudio.co.jp/Japanese/Goods-RB50-1.htm
06/11/15追記
下記同一プログラムで大きいサーボモータを動かしてみました。
写真右:ミニスタジオ社製 RCサーボRB303c @1,300円
http://www.ministudio.co.jp/Cgi-bin/Order-JP/DetailJp.asp...
サーボの機種が変わっても同じ動きをする事を確認しました。
|&attachref(P1010189.JPG,zoom,150x150,button){新しい写真...
/**
* RCサーボモータ制御
*
* PIC16F628A @4MHz
* RB3: servo MiniS RB50
* http://www.ministudio.co.jp/Japanese/Goods-RB50-1.htm
* 電源:乾電池3本
*
* Device Flags: _BODEN_OFF _BOREN_OFF _CP_OFF _PWRTE_ON ...
* _LVP_OFF _MCLRE_OFF _INTRC_OSC_NOCLKOUT
* MikroC 6.2
*/
// Global変数定義
signed short int deg = 0; // deg: -85 ~ +85
void interrupt() { //割込み関数
// Timer0 Interval 20mS
if (INTCON.T0IF) { //割込み種がTimer0割込みの場合
TMR0 = -(20000 / 128); // Timer0 Interval 20mS (...
INTCON.T0IF = 0;
PORTB.F3 = 1; // PWM RB3 on
Delay_Cyc(150 + deg); // delay(150 + deg) * 10uS
PORTB.F3 = 0; // PWM RB3 off
}
}
void main() {
PORTB = 0b00000000; //PORTBの中身をきれいにする
TRISB = 0b00000000; //PORTB 8個全て0:出力設定
OPTION_REG = 0x86; // TMR0プリスケーラ: 1/128
TMR0 = -(20000 / 128); // Timer0 Interval 20mS (@4MHz)
//TMR0割込み許可
INTCON.T0IE = 1;
INTCON.GIE = 1;
do {
//基準角度確認
deg = 0; Delay_ms(1000);
deg = -85; Delay_ms(1000);
deg = 0; Delay_ms(1000);
deg = 85; Delay_ms(1000);
deg = 0; Delay_ms(1000);
//-85度〜+85度までゆっくり首を振る
for(deg = -85; deg <= 85; deg++)
Delay_ms(50);
for(deg = 85; deg >= -85; deg--)
Delay_ms(50);
} while(1);
}
★この情報は役に立ちましたか?
#vote(はい[71],いいえ[41])
終了行:
閲覧総計:&counter(); (本日:&counter(today); 昨日...
~
*サーボモータを動かす [#vbb42053]
PIC 16F628A内臓のTimer0割込み機能を利用し、サーボモータを...
周期のパルス信号を発生させて、サーボモータを動かしてみよ...
サーボモータ:ミニスタジオ社製 MiniS RB-50 @1,300円
http://www.ministudio.co.jp/Japanese/Goods-RB50-1.htm
06/11/15追記
下記同一プログラムで大きいサーボモータを動かしてみました。
写真右:ミニスタジオ社製 RCサーボRB303c @1,300円
http://www.ministudio.co.jp/Cgi-bin/Order-JP/DetailJp.asp...
サーボの機種が変わっても同じ動きをする事を確認しました。
|&attachref(P1010189.JPG,zoom,150x150,button){新しい写真...
/**
* RCサーボモータ制御
*
* PIC16F628A @4MHz
* RB3: servo MiniS RB50
* http://www.ministudio.co.jp/Japanese/Goods-RB50-1.htm
* 電源:乾電池3本
*
* Device Flags: _BODEN_OFF _BOREN_OFF _CP_OFF _PWRTE_ON ...
* _LVP_OFF _MCLRE_OFF _INTRC_OSC_NOCLKOUT
* MikroC 6.2
*/
// Global変数定義
signed short int deg = 0; // deg: -85 ~ +85
void interrupt() { //割込み関数
// Timer0 Interval 20mS
if (INTCON.T0IF) { //割込み種がTimer0割込みの場合
TMR0 = -(20000 / 128); // Timer0 Interval 20mS (...
INTCON.T0IF = 0;
PORTB.F3 = 1; // PWM RB3 on
Delay_Cyc(150 + deg); // delay(150 + deg) * 10uS
PORTB.F3 = 0; // PWM RB3 off
}
}
void main() {
PORTB = 0b00000000; //PORTBの中身をきれいにする
TRISB = 0b00000000; //PORTB 8個全て0:出力設定
OPTION_REG = 0x86; // TMR0プリスケーラ: 1/128
TMR0 = -(20000 / 128); // Timer0 Interval 20mS (@4MHz)
//TMR0割込み許可
INTCON.T0IE = 1;
INTCON.GIE = 1;
do {
//基準角度確認
deg = 0; Delay_ms(1000);
deg = -85; Delay_ms(1000);
deg = 0; Delay_ms(1000);
deg = 85; Delay_ms(1000);
deg = 0; Delay_ms(1000);
//-85度〜+85度までゆっくり首を振る
for(deg = -85; deg <= 85; deg++)
Delay_ms(50);
for(deg = 85; deg >= -85; deg--)
Delay_ms(50);
} while(1);
}
★この情報は役に立ちましたか?
#vote(はい[71],いいえ[41])
ページ名: