johnwasser,

That last reply of yours looks encouraging. I haven't tried it yet. I know the forum always wants questions to include the Arduino code so everybody knows what you're talking about. I've been reluctant to do that because I wasn't sure if there were limits to how much code you wanted to see.

```
int b1 = 0; // counter for carrier burst length
int b2 = 0; // carrier cycles in burst = (4 x b2)
void setup() {
pinMode(A1, OUTPUT);} // output pin for IR LED signal
void loop() {
for (b1 = 0; b1 < 24; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 12; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 12; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 12; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
delay(30);
for (b1 = 0; b1 < 24; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 12; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 12; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 12; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
for (b1 = 0; b1 < 6; b1++){
carrier();}
delayMicroseconds(600);
digitalWrite(A1,HIGH);
digitalWrite(A1,LOW);
delay(2000);
}
void carrier() { // this function generates 4 carrier cycles
digitalWrite(A1,LOW);
delayMicroseconds(12);
digitalWrite(A1,HIGH);
delayMicroseconds(12);
digitalWrite(A1,LOW);
delayMicroseconds(12);
digitalWrite(A1,HIGH);
delayMicroseconds(11);
digitalWrite(A1,LOW);
delayMicroseconds(11);
digitalWrite(A1,HIGH);
delayMicroseconds(11);
digitalWrite(A1,LOW);
delayMicroseconds(11);
digitalWrite(A1,HIGH);
}
```

The above sketch puts out a near-perfect copy of the Sony MUTE infrared remote control signal on pin A1 of an Arduino NANO. If anyone doesn't believe that, just connect the anode of an IR LED to +5V and the cathode to A1 and point it at a Sony TV. The audio will go off and on repetively every 5 seconds.