Motorbike 12V feeds to iPhone app

Thinking about it maybe the 5v supply isnt 100%, this is the sort of device that im currently using.

and here is my code

#include <SoftwareSerial.h>
SoftwareSerial Bluetooth(2, 3); // RX, TX

String incomingString;
int relay1 = 4;
//relay2 = 5;

int ledState = LOW; 

int alarmLed =  8;      // the number of the LED pin
int lowBeam = 9;
int highBeam = 10;
int right = 11;
int left = 12;
int neutral = 13;

int running = 0; 

long previousMillis = 0;        // will store last time LED was updated
long interval = 1000;           // interval at which to blink (milliseconds)

int buttonState = 0;          // current state of the button being checked

int lastLState = 0;             // previous state of the button
int lastRState = 0;             // previous state of the button
int lastlowBeamState = 0;       // previous state of the button
int lasthighBeamState = 0;       // previous state of the button
int lastneutralState  = 0;
boolean alarm = true;


void setup() { 
  pinMode(relay1, OUTPUT);
  digitalWrite(relay1, HIGH);  
  pinMode(alarmLed, OUTPUT);      
  pinMode(right, INPUT);
  pinMode(left, INPUT);
  pinMode(lowBeam, INPUT);
  pinMode(highBeam, INPUT);
  pinMode(neutral, INPUT);
  Serial.begin(9600);
  Bluetooth.begin(9600);
}


void loop() {
  // Check if there's incoming serial data.
  buttonState = digitalRead(right);
  if (buttonState != lastRState) {
    if (buttonState == HIGH) {
      Bluetooth.println("R ON");
    }
    else {
      Bluetooth.println("R OFF");
    }
  }
  lastRState = buttonState;

  buttonState = digitalRead(left);
  if (buttonState != lastLState) {
    if (buttonState == HIGH) {
      Bluetooth.println("L ON");
    }
    else {
      Bluetooth.println("L OFF");
    }
  }
  lastLState = buttonState;


  buttonState = digitalRead(lowBeam);
  if (buttonState != lastlowBeamState) {
    if (buttonState == HIGH) {
      Bluetooth.println("LOW ON");
    }
    else {
      Bluetooth.println("LOW OFF");
    }
  }
  lastlowBeamState = buttonState;

  buttonState = digitalRead(highBeam);
  if (buttonState != lasthighBeamState) {
    if (buttonState == HIGH) {
      Bluetooth.println("HIGH ON");
    }
    else {
      Bluetooth.println("HIGH OFF");
    }
  }
  lasthighBeamState = buttonState;

  buttonState = digitalRead(neutral);
  if (buttonState != lastneutralState) {
    if (buttonState == HIGH) {
      Bluetooth.println("N ON");
    }
    else {
      Bluetooth.println("N OFF");
    }
  }
  lastneutralState = buttonState;

  if (Bluetooth.available() > 0) {
    delay(10);
    char  inchar;   
    String text = "";
    while (Bluetooth.available()){
      inchar = Bluetooth.read();
      text = text + inchar;
    }
    text.toUpperCase(); 
    text.trim();
    Serial.println(text);
    if (text == "IGN ON") {
      digitalWrite(relay1, LOW); 
      alarm = false;
    } 
    if (text == "IGN OFF") {
      digitalWrite(relay1, HIGH);  
      alarm = true;
    } 
  }


  unsigned long currentMillis = millis();
  // the following code gets called after every delay.
  if(currentMillis - previousMillis > interval) {
    // save the last time you blinked the LED 
    previousMillis = currentMillis;   
    if (alarm)
    {
      // if the LED is off turn it on and vice-versa:
      if (ledState == LOW)
        ledState = HIGH;
      else
        ledState = LOW;
      // set the LED with the ledState of the variable:
      digitalWrite(alarmLed, ledState);
    }
    else
    {
      digitalWrite(alarmLed,LOW);
    }
  }
}

this is all working fine if im not reading any of the 12volt feeds from the bike. i was riding the bike earlier on today ith no probs and no resetting.