« Arduinoで作ろう(33) 7セグLEDでデジタル時計 〈その2〉 | トップページ | Arduinoで作ろう(35) 8x8ドットマトリクスLEDで電子サイコロ »

2019年9月11日 (水)

Arduinoで作ろう(34) 赤外線リモコンカー

  20190911-125823

 PanasonicのTVリモコンを使って「赤外線リモコンカー」を作ってみました。
赤外線レシーバは秋月で買ったOSRB38C9AA,DCモータドライバはL298Nを使っています。

L298nmotor__20190911134001  

スケッチはコレ→20190911_ir_dcmotorcar.ino

/*
 * Panasonicテレビリモコンで赤外線リモコンカー
 */

#include <IRremote.h>
int RECV_PIN = 4;
IRrecv irrecv(RECV_PIN);
decode_results results;
 
// 右モーター A
int enA = 10;
int in1 = 9;
int in2 = 8;
// 左モーター B
int enB = 5;
int in3 = 7;
int in4 = 6;
//speed
int speed1=100;
int speed2=80;
 
void setup(){
  irrecv.enableIRIn();
  pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
}
 
void loop() {
 if (irrecv.decode(&results)) {
 irrecv.resume();
 switch (results.value) {
 case 0x757FB4DF: //button 2(前進)
      //右モーター A
      digitalWrite(in1, HIGH);
      digitalWrite(in2, LOW);
      analogWrite(enA, speed1);
      //左モーター B
      digitalWrite(in3, HIGH);
      digitalWrite(in4, LOW);
      analogWrite(enB, speed1);  
      break;
 case 0x6BACFEEF: //button 8(後退)
      //右モーター A
      digitalWrite(in1, LOW);
      digitalWrite(in2, HIGH);
      analogWrite(enA, speed1);
      //左モーター B
      digitalWrite(in3, LOW);
      digitalWrite(in4, HIGH);
      analogWrite(enB, speed1);  
      break;
 case 0xE705551F: //button 5(停止)
      //右モーター A
      digitalWrite(in1, LOW);
      digitalWrite(in2, LOW);
      //左モーター B
      digitalWrite(in3, LOW);
      digitalWrite(in4, LOW);
      break;
 case 0x3C03E507: //button 4(右回転)
      //右モーター A
      digitalWrite(in1, LOW);
      digitalWrite(in2, LOW);
      //左モーター B
      digitalWrite(in3, HIGH);
      digitalWrite(in4, LOW);
      analogWrite(enB, speed2);  
      break;
case 0xA4A58EC7: //button 6(左回転)
      //右モーター A
      digitalWrite(in1, HIGH);
      digitalWrite(in2, LOW);
      analogWrite(enA, speed2);
      //左モーター B
      digitalWrite(in3, LOW);
      digitalWrite(in4, LOW);
      break;           
    default:break;
    }
 }
}

|

« Arduinoで作ろう(33) 7セグLEDでデジタル時計 〈その2〉 | トップページ | Arduinoで作ろう(35) 8x8ドットマトリクスLEDで電子サイコロ »

Arduino」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« Arduinoで作ろう(33) 7セグLEDでデジタル時計 〈その2〉 | トップページ | Arduinoで作ろう(35) 8x8ドットマトリクスLEDで電子サイコロ »