2023年2月1日水曜日

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



スマホアプリ【RemoteXY】を使いサーボモータ(MG996R)により塩ビパイプ1Mの水平・垂直移動制御を行いました。



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

サーボモータシャフトにステアリングギアディスクを取付。








ステアリングギアディスクと同じ高さの塩ビパイプ(20)を入れます。









サーボモータ取付金具をネジ4か所固定する。








  


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












塩ビパイプ継手(13x3)パワートーチで熱してステアリングギアディスクが挿入できるまで広げ、固まったらドリルで穴を開けてねじで固定する。



塩ビパイプを上下左右にコントロールできることを確認しました。ただし、サーボモータ固定に難があり塩ビパイプが揺れながら移動します















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







回路図


ジョイスティックのXY軸使用

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, 30, 60); //垂直角度
  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 のカメラからコースを ディープラーニングさせ自動走行を行います。(動画は白線上を自動走行)   動画