質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

IRC

IRC(Internet Relay Chat)は、インターネットを用いたテキストチャット方式。専用ソフトをインストールすれば、用意されたサーバへ接続しスムーズにログを進めることが可能です。多くのOSで利用でき、多言語にも対応しています。

Q&A

1回答

934閲覧

Arduinoでラジコンカーを製作しているのですが、うまくいきません

INKR

総合スコア3

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

IRC

IRC(Internet Relay Chat)は、インターネットを用いたテキストチャット方式。専用ソフトをインストールすれば、用意されたサーバへ接続しスムーズにログを進めることが可能です。多くのOSで利用でき、多言語にも対応しています。

0グッド

0クリップ

投稿2020/11/26 00:32

前提・実現したいこと

ArduinoUNOでリモコン操作で走行できるラジコン模型を製作しているのですが、サーボが途中で動かなくなるトラブルが発生してしまいました。
ステアリング機能を実装中に以下の不調が発生しました。

該当のソースコード

Arduino

1include <Servo.h> 2 3 4//https://www.Google.co.jp 5 6#include <IRremote.h> 7 8////////// IR REMOTE CODES ////////// 9#define F 16736925 // FORWARD 10#define B 16754775 // BACK 11#define L 16720605 // LEFT 12#define R 16761405 // RIGHT 13#define S 16712445 // STOP 14#define UNKNOWN_F 5316027 // FORWARD 15#define UNKNOWN_B 2747854299 // BACK 16#define UNKNOWN_L 1386468383 // LEFT 17#define UNKNOWN_R 553536955 // RIGHT 18#define UNKNOWN_S 3622325019 // STOP 19#define KEY1 16738455 20#define KEY2 16750695 21#define KEY3 16756815 22#define KEY4 16724175 23#define KEY5 16718055 24#define KEY6 16743045 25#define KEY7 16716015 26#define KEY8 16726215 27#define KEY9 16734885 28#define KEY0 16730805 29#define KEY_STAR 16728765 30#define KEY_HASH 16732845 31 32#define RECV_PIN 12 33 34/*define channel enable output pins*/ 35#define ENA 5 // Left wheel speed 36#define ENB 6 // Right wheel speed 37/*define logic control output pins*/ 38#define IN1 7 // Left wheel forward 39#define IN2 8 // Left wheel reverse 40#define IN3 9 // Right wheel reverse 41#define IN4 11 // Right wheel forward 42#define carSpeed 250 // initial speed of car >=0 to <=255 43 44IRrecv irrecv(RECV_PIN); 45decode_results results; 46unsigned long val; 47unsigned long preMillis; 48 49/** 50 * BEGIN DEFINE FUNCTIONS 51 */ 52 53 void forward(){ 54 digitalWrite(ENA,HIGH); 55 digitalWrite(IN1,HIGH); 56 Serial.println("go forward!"); 57} 58void back(){ 59 digitalWrite(ENA,HIGH); 60 digitalWrite(IN1,HIGH); 61 Serial.println("go back!"); 62} 63void rudder(){ 64 Servo myServo; 65 myServo.attach(3); 66 myServo.write(0); 67 delay(9600); 68 myServo.write(90); 69 delay(9600); 70} 71 72void stop(){ 73 digitalWrite(ENA, LOW); 74 digitalWrite(ENB, LOW); 75 Serial.println("STOP!"); 76} 77 78void setup() { 79 Serial.begin(9600); 80 Serial.begin(10000); 81 pinMode(IN1,OUTPUT); 82 pinMode(ENA,OUTPUT); 83 stop(); 84 irrecv.enableIRIn(); 85} 86 87void loop() { 88 if (irrecv.decode(&results)){ 89 preMillis = millis(); 90 val = results.value; 91 Serial.println(val); 92 irrecv.resume(); 93 switch(val){ 94 case F: 95 case UNKNOWN_F: forward(); break; 96 case B: 97 case UNKNOWN_B: back(); break; 98 case L: 99 case UNKNOWN_L: rudder(); break; 100 case S: 101 case UNKNOWN_S: stop(); break; 102 default: break; 103 } 104 } 105 else{ 106 if(millis() - preMillis > 500){ 107 stop(); 108 preMillis = millis(); 109 } 110 } 111} ``` 112 113### 試したこと 114 115実際に書き込みは出来ましたが、サーボのギアがガツガツ行ったり、動かなくなったりしています。 116 117### 補足情報(FW/ツールのバージョンなど) 118 119使用しているのは、ELEGOOのArduino自動車キットです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

thkana

2020/11/26 12:21

トラブルがあった、という報告は書かれていますが「質問」はなんですか? まさかデバッグ丸投げじゃないですよね?
guest

回答1

0

void rudder() { Servo myServo; myServo.attach(3); myServo.write(0); delay(9600); myServo.write(90); delay(9600); }

この
Servo myServo;
は外に書いた方が良い。

myServo.attach(3);
はsetup関数に書いた方が良い。

あと、
delay(9600);
だと9.6秒だけど、そんなに長く必要なの?
実際にはコンマ数秒で目標位置に到着して、9秒程度何も受け付けない(動作しない)って事になるよ。

あぁ、それと、↑のスケッチは見にくいから直した方が良いよ。

投稿2020/11/26 12:27

nac_tnk

総合スコア494

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問