2023年2月1日水曜日

アンテナローテーター(サーボモータ)水平


スマホアプリ【RemoteXY】を使ってサーボモータ(MG996R)による塩ビパイプブームの回転制御テストを行いました。ジョイスティックを左右に移動するとブームを左右90度(180度)回転制御ができます。








カメラ三脚とサーボモータ取付金具をピンクの専用ナットで固定。


ステアリングギアディスク2個をサーボモータに取付ます。










ステアリングギアディスクに塩ビパイプ(20)を挿入、塩ビパイプのネジでステアリングギアディスク中心軸を押さえます。




















塩ビパイプ継手(13x3)内径18㎜を18㎜ドリルで内側の段を除去して、ブームの塩ビパイプ(13)1メータ挿入する。
















塩ビパイプ(20)に18㎜穴を空けて
塩ビパイプ(13)ブームを取付ける。










【NodeMCU-32S】下記プログラムを書いて実行すれば【RemoteXY】アプリによりジョイスティック画面表示されてブームを制御することが出来ます。
同ブログ:【RemoteXY使い方



回路図



ジョイスティックのX軸のみ使用。
ESP32 USBにモバイル電池接続して電源供給。











NodeMCU-32Sプログラム
  1. /*
  2.    -- New project --
  3.    
  4.    This source code of graphical user interface
  5.    has been generated automatically by RemoteXY editor.
  6.    To compile this code using RemoteXY library 3.1.8 or later version
  7.    download by link http://remotexy.com/en/library/
  8.    To connect using RemoteXY mobile app by link http://remotexy.com/en/download/
  9.      - for ANDROID 4.11.1 or later version;
  10.      - for iOS 1.9.1 or later version;
  11.     
  12.    This source code is free software; you can redistribute it and/or
  13.    modify it under the terms of the GNU Lesser General Public
  14.    License as published by the Free Software Foundation; either
  15.    version 2.1 of the License, or (at your option) any later version.
  16. */
  17. //////////////////////////////////////////////
  18. // RemoteXY include library //
  19. //////////////////////////////////////////////
  20. // RemoteXY select connection mode and include library
  21. #define REMOTEXY_MODE__ESP32CORE_WIFI_POINT
  22. #include <WiFi.h>
  23. #include <RemoteXY.h>
  24. // RemoteXY connection settings
  25. #define REMOTEXY_WIFI_SSID "RemoteXY"
  26. #define REMOTEXY_WIFI_PASSWORD "12345678"
  27. #define REMOTEXY_SERVER_PORT 6377
  28. // RemoteXY configurate
  29. #pragma pack(push, 1)
  30. uint8_t RemoteXY_CONF[] = // 19 bytes
  31.   { 255,2,0,0,0,12,0,16,31,1,5,0,1,14,61,61,2,26,31 };
  32.   
  33. // this structure defines all the variables and events of your control interface
  34. struct {
  35.     // input variables
  36.   int8_t joystick_1_x; // from -100 to 100
  37.   int8_t joystick_1_y; // from -100 to 100
  38.     // other variable
  39.   uint8_t connect_flag; // =1 if wire connected, else =0
  40. } RemoteXY;
  41. #pragma pack(pop)
  42. /////////////////////////////////////////////
  43. // END RemoteXY include //
  44. /////////////////////////////////////////////
  45. #define joystick_1_xPin 13
  46. #define joystick_1_yPin 14
  47. int jx = 80;
  48. int jy = 80;
  49. void setup()
  50. {
  51.   RemoteXY_Init ();
  52.   // TODO you setup code
  53.   pinMode(joystick_1_xPin, OUTPUT);
  54.   pinMode(joystick_1_yPin, OUTPUT);
  55.   ledcSetup(1, 50, 10); //0ch 50Hz 10bit=0-1023(PWM)
  56.   ledcSetup(2, 50, 10);
  57.   ledcAttachPin(joystick_1_xPin, 1); //joystick_1_xPin 1ch
  58.   ledcAttachPin(joystick_1_yPin, 2); //joystick_1_yPin 2ch
  59. }
  60. void loop()
  61. {
  62.   RemoteXY_Handler ();
  63.   // TODO you loop code
  64.   // use the RemoteXY structure for data transfer
  65.   // do not call delay()
  66.      
  67.    int jx1 = RemoteXY.joystick_1_x;
  68.    jx1 = map(jx1, 100, -100, 30, 120);
  69.    if( jx1 > jx ) {
  70.      for (jx; jx != jx1 ; jx++){
  71.       ledcWrite(1, jx); //1ch ,PWM
  72.       delay(100);
  73.      }
  74.    }
  75.    else if( jx1 < jx ){
  76.       for (jx; jx != jx1 ; jx--){
  77.       ledcWrite(1, jx);
  78.       delay(100);
  79.       }
  80.     }
  81.     
  82.    int jy1 = RemoteXY.joystick_1_y;
  83.    jy1 = map(jy1, 100, -100, 50, 100);
  84.    if( jy1 > jy ) {
  85.      for (jy; jy != jy1 ; jy++){
  86.       ledcWrite(2, jy); //2ch ,PWM
  87.       delay(100);
  88.      }
  89.    }
  90.    else if( jy1 < jy ){
  91.       for (jy; jy != jy1 ; jy--){
  92.       ledcWrite(2, jy);
  93.       delay(100);
  94.       }
  95.     }
  96. }

0 件のコメント:

コメントを投稿

Raspberry Pi Donkey Car スマートカー

  2020年に製作したDonkey Car スマートカー について記事にしました。 Donkey CarはRaspberry Pi のカメラからコースを ディープラーニングさせ自動走行を行います。(動画は白線上を自動走行)   動画