Problem: The Ir LED isn’t getting power. It’s not being picked up by the IR sensor. When replace with an LED it didn’t light up and the LED wasn’t blown.
Code:
#include <IRremote.h>
#define E2 82.41
#define E3 164.81
#define first_key 3360
#define firing 100
int speaker = 10;
int ch1;
int points = 0;
int receiver_pin = 8;
int fire = 99;
int first_led_pin = 7;
int ir_led_pin = 11;
int third_led_pin = 5;
int fourth_led_pin = 4;
int yellow_led_pin = 3;
int green_led_pin = 2;
int led[] = {0,0,0,0};
IRrecv receiver(receiver_pin);
decode_results output;
void setup()
{
//Setup for Outputs and Inputs
Serial.begin(9600);
receiver.enableIRIn();
pinMode (speaker, OUTPUT);
pinMode(9, OUTPUT);
pinMode(A1, INPUT);
pinMode(first_led_pin, OUTPUT);
pinMode(ir_led_pin, OUTPUT);
pinMode(third_led_pin, OUTPUT);
pinMode(fourth_led_pin, OUTPUT);
pinMode (yellow_led_pin, OUTPUT);
pinMode(green_led_pin, OUTPUT);
digitalWrite(first_led_pin, HIGH);
digitalWrite(green_led_pin, HIGH);
digitalWrite(yellow_led_pin, HIGH);
digitalWrite(fourth_led_pin, HIGH);
digitalWrite(third_led_pin, HIGH);
}
void loop() {
ch1 = pulseIn(A1, HIGH, 25000);
Serial.print("Channel 1:");
Serial.println(ch1);
if (fire>25){ //Stop shooting after 25 senses
analogWrite(ir_led_pin, 0);
}
if (ch1 > 1300 && fire == firing){ //Only fire when 100 senses have gone by and when joystick is up
analogWrite(ir_led_pin, 51);
tone(speaker, E2, 1000);
fire = 0;
}
if (receiver.decode(&output)) {
unsigned int value = output.value;
if (value >0) {
points ++; //Points for 4 lives
switch (points){
case 1:
digitalWrite(green_led_pin, LOW);
analogWrite(ir_led_pin, 0);
break;
case 2:
digitalWrite(yellow_led_pin, LOW);
analogWrite(ir_led_pin, 0);
break;
case 3:
digitalWrite(fourth_led_pin, LOW);
analogWrite(ir_led_pin, 0);
break;
case 4: //Infinite loop for death
while (points == 4){
analogWrite(ir_led_pin, 0);
digitalWrite(green_led_pin, LOW);
digitalWrite(yellow_led_pin, LOW);
digitalWrite(fourth_led_pin, LOW);
digitalWrite(third_led_pin, LOW);
digitalWrite(first_led_pin, LOW);
delay(100);
digitalWrite(green_led_pin, HIGH);
digitalWrite(yellow_led_pin, HIGH);
digitalWrite(fourth_led_pin, HIGH);
digitalWrite(third_led_pin, HIGH);
digitalWrite(first_led_pin, HIGH);
delay(100);
}
}
for(i=0;i<10;i++){ //Getting hit shield and flashing lights
digitalWrite(first_led_pin, HIGH);
delay(500);
digitalWrite(first_led_pin, LOW);
delay(500);
}
for(i=0; i<3; i++){
digitalWrite(first_led_pin, HIGH);
delay(1000);
digitalWrite(first_led_pin, LOW);
delay(1000);
}
}
Serial.println(value);
receiver.resume();
}
if (fire < firing){ //Says 1 loop has gone by from since it shot until reload time is over
fire++;}
}
I can post pics if anyone wants them.