「理系フリマ」でゲット!!
x 電子工作社殿の画像を資料の為に引用いたします。
x 逆起電圧がわかる人、限定 数百ボルトが発生します。
x 起動電流がわかる人、限定 起動電流は、論理値無限代です。
x 安全対策を適切にしないと一発でパソコンを壊します。
x 動かす時は、最低でもモバイルバッテリに繋いで動かしてね!!
x サーボの電源は、共通アースすで別電源の単三電池3本定格4.5Vがおすすめ5,6アンペア流せるのでモーターが起動できます。
x SG90には、1チップの専用アナログ、アプリケーションICが使われているらしい。よって、適当なアナログ機器です。
目的
SG90でセッターだしをする。
買ってきたサーボは、オイルが固いので
手で十分ほぐすこと。
上下に優しく「ぐりぐり」する事
2、3分、ゆっくり丁寧に続けてください。
ちゃんと、「ほぐさないと」ショートして
故障の原因になります。
サーボがおこります「ぷんぷん」
参考
結果
プログラム
//PWM_servo_test22_C011_1
//インクルド
#include <Arduino.h>
//定義
//1000の割り算 だいたい正しい。
#define DIV1000(n) ((n+((n*25)>>10))>>10)
//data SG90
// 2400us 2.4ms
#define s_max 2400
// 500us 0.5ms
#define s_min 500
#define s_r (2400-500)
#define s_c (65536/20000)*1000
//#define SN(n6) (n6*((65536/20000)*1000))
//↓式変形と要約↓6万を2万で割ると3ぐらい、3を1000倍するとだいたい3000
#define SN(n6) (n6*3277)
#define DD PA8 // potentiometer connected to analog pin x
//初期化
void setup() {
pinMode(DD, OUTPUT); // sets the LED pin as output
analogWriteFrequency(50); //周波数
analogWriteResolution(16); //分解能
}//setup
//メインループ
void loop() {
int ii; //ループカウンター
//for (ii = 500; ii < 2400; ii=ii+100) {
ii = 1450;
analogWrite(DD, DIV1000(SN(ii)) ); // analogRead values go from 0
// to 4095, pwmWrite values
// from 0 to 65535, so scale rough
delay(1000); //1000mS
//}//for
}//loop