I am trying to control the lights of my Rc Car with receiver. I made the installment as in the photo and generate the the code as below. I can get the 1056 and 1942 signals from the receiver ana and change the lights when arduino is connected to the usb. However when i connect my 2S lipo to the card signal becomes 0 and i cannot change the light combination. I have tried with 2 different nano card and both give same result. How can i fix it.
#include "Arduino.h"
#define TXPIN 3
#define LED_1 6
#define LED_2 9
#define LED_3 12
int tx; // Transmitter Input
int i;
static unsigned int state;
static unsigned int counter;
void setup() {
// put your setup code here, to run once:
pinMode(TXPIN, INPUT); // Set the tx input pin
pinMode(LED_1, OUTPUT);
pinMode(LED_2, OUTPUT);
pinMode(LED_3, OUTPUT);
state = 0;
counter = 0;
Serial.begin(9600); // Start serial
}
void loop() {
switch (state)
{
case 0:
Serial.println("Case = 0");
digitalWrite(LED_1, LOW);
digitalWrite(LED_2, LOW);
digitalWrite(LED_3, LOW);
break;
case 1:
Serial.println("Case = 1");
digitalWrite(LED_3, LOW);
digitalWrite(LED_1, LOW);
digitalWrite(LED_2, HIGH);
delay(500);
digitalWrite(LED_2, LOW);
delay(500);
break;
case 2:
Serial.println("Case = 2");
digitalWrite(LED_2, LOW);
digitalWrite(LED_3, LOW);
digitalWrite(LED_1, HIGH);
break;
case 3:
Serial.println("Case = 3");
digitalWrite(LED_1, LOW);
digitalWrite(LED_2, LOW);
digitalWrite(LED_3, HIGH);
break;
case 4:
Serial.println("Case = 4");
digitalWrite(LED_3, LOW);
digitalWrite(LED_1, HIGH);
digitalWrite(LED_2, HIGH);
delay(500);
digitalWrite(LED_2, LOW);
delay(500);
break;
case 5:
Serial.println("Case = 5");
digitalWrite(LED_2, LOW);
digitalWrite(LED_1, HIGH);
digitalWrite(LED_3, HIGH);
break;
case 6:
Serial.println("Case = 6");
digitalWrite(LED_1, HIGH);
digitalWrite(LED_2, HIGH);
delay(500);
digitalWrite(LED_2, LOW);
delay(500);
digitalWrite(LED_3, HIGH);
break;
}
tx = pulseIn(TXPIN, HIGH, 25000); // Read paulse from Tx
delay(50);
Serial.println(tx); //channel
if (tx < 1700 && i==1) {
counter += 1;
state = counter % 7;
i=0;
}
if (tx > 1700 && i==0) {
counter += 1;
state = counter % 7;
i=1;
}
Serial.println(state);
//delay(100);
}


