2023年6月1日木曜日

Pico サーボモータコントローラ試作(Arduino IDE)

 

Raspberry Pi Picoによるボリューム制御サーボモータを作成しました。ボリューム電圧を[analogRead]で読込みデータを[PWM]に変換出力しサーボモータを制御するプログラムを組んでみました。
●Raspberry Pi Picoでアナログ入力(analogRead)こちらのサイトを参照【https://garchiving.com/how-to-use-analogread-with-pico/
●Pico  PWMについて
●同ブログ関連記事:




回路図

●GP26(ADC0)ボリューム電圧をアナログ→デジタル→PWM変換 GP0(PWM)に出力してサーボモーターを制御する。
●ボリュームを回すとサーボモーターもそれに同期して回転します(SG90:180度範囲)






ArdiunoIDEシリアルモニター

ボリューム電圧をGP26(ADC0)読込デジタル変換した値を[シリアルモニター]に表示。















プログラム Arduino IDE【ボード:Raspberry Pi Pico】
#include <hardware/pwm.h>
uint16_t VR;
float v;

void servo(){                                   // f=50Hz
  uint slice_num = pwm_gpio_to_slice_num(0);    // PWMスライスを取得  
  pwm_set_clkdiv(slice_num, 152.58789 );        // 分周比
  pwm_set_wrap(slice_num, 16383);               //PWMの分解能  
  pwm_set_chan_level(slice_num, PWM_CHAN_A, v); // High期間を設定   
  pwm_set_enabled(slice_num, true);             // PWM出力イネーブル   
}

void setup() {
  Serial.begin(9600);
  analogReadResolution(12); 
  gpio_set_function(0, GPIO_FUNC_PWM);          // ピン機能をPWMに設定    
}
  
void loop() {
  VR = analogRead(26);
  v = VR;
  Serial.println(v); 
  servo();  
}



0 件のコメント:

コメントを投稿

FST3253 - 直交ミキサ製作

アマゾンの口コミ(SDRトランシーバーに使用出来る)を見てFST3253MTCとピッチ変換基板を購入、FST3253 直交ミキサ基板を製作してPi Pico Rxで受信確認できました。  ●Pi Pico Rx  【 https://101-things.readthedocs....