LoginSignup
0
0

(サーボ)(夜の)「理系フリマ」でGET(ゲットだぜ!!(2月4日))した。SG90で遊ぶ。(STM32C011J4M6)

Last updated at Posted at 2024-02-05

「理系フリマ」でゲット!!

o_cop926.jpg

x 電子工作社殿の画像を資料の為に引用いたします。

o_cop927.jpg

x 逆起電圧がわかる人、限定 数百ボルトが発生します。
x 起動電流がわかる人、限定 起動電流は、論理値無限代です。
x 安全対策を適切にしないと一発でパソコンを壊します。
x 動かす時は、最低でもモバイルバッテリに繋いで動かしてね!!
x サーボの電源は、共通アースすで別電源の単三電池3本定格4.5Vがおすすめ5,6アンペア流せるのでモーターが起動できます。
x SG90には、1チップの専用アナログ、アプリケーションICが使われているらしい。よって、適当なアナログ機器です。

目的
SG90でセッターだしをする。
買ってきたサーボは、オイルが固いので
手で十分ほぐすこと。
上下に優しく「ぐりぐり」する事
2、3分、ゆっくり丁寧に続けてください。
ちゃんと、「ほぐさないと」ショートして
故障の原因になります。
サーボがおこります「ぷんぷん」

参考

結果

o_cop928.jpg

プログラム




//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



0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0