Paso 5: Paso 5: Añadir código en el IDE de Arduino
Si ya no tienes el software de Arduino vaya a http://arduino.cc para descargarlo.
Código para:
LaserComm
Dispositivo de comunicación por láser / / Corbin Newhard
laserPin int = 13;
Cadena de mensaje = "Hola mundo";
l de bytes [] = {0, 0};
o de bytes [] = {0, 1, 0};
Byte [] h = {0, 1, 1, 0};
e de bytes [] = {0, 1, 1, 1};
Byte [] w = {1, 0, 0};
Byte [] r = {1, 0, 1};
Byte [] d = {1, 1, 0};
espacio de bytes [] = {1, 1, 1};
void setup() {}
Serial.Begin(9600);
pinMode (laserPin, salida); }
void loop() {}
para (int i = 0; i < message.length(); i ++) {}
Serial.Print(Message[i]);
sendCode(message[i]);
Serial.println(); }
Delay(5000); }
void sendCode(char x) {}
{Switch(x)}
caso 'L': para (int i = 0; i < sizeof(l); i ++) {si (l [i] == 0){dot();} else{dash();}} break;
caso ' o ': para (int i = 0; i < sizeof(o); i ++) {si (o [i] == 0){dot();} else{dash();}} break;
'H' del caso: para (int i = 0; i < sizeof(h); i ++) {si (h [i] == 0){dot();} else{dash();}} break;
caso 'E': para (int i = 0; i < sizeof(e); i ++) {si (e [i] == 0){dot();} else{dash();}} break;
caso 'W': de (int i = 0; i < sizeof(w); i ++) {si (w [i] == 0){dot();} else{dash();}} break;
'R' del caso: para (int i = 0; i < sizeof(r); i ++) {si (r [i] == 0){dot();} else{dash();}} break;
caso sería ': para (int i = 0; i < sizeof(d); i ++) {si (d [i] == 0){dot();} else{dash();}} break;
caso ' ': para (int i = 0; i < sizeof(space); i ++) {si (espacio [i] == 0){dot();} else{dash();}} break; }
}
void dash()
{Serial.print("-"); digitalWrite (laserPin, HIGH); delay(600);
digitalWrite (laserPin, LOW);
Delay(100);
}
void dot()
{Serial.print("."); digitalWrite (laserPin, HIGH); delay(200);
digitalWrite (laserPin, LOW);
Delay(100);
}
(Reemplazar y añadir tus propias letras y mensaje)
Código para el receptor:
const int sensorpin = 0;
isStarted boolean = false;
largo lastTime = 0;
duración = 0;
darkTime largo = 0;
largo darkDuration;
umbral de int = 600;
highPulse largo = 75;
lowPulse largo = 10;
void setup() {}
Serial.Begin(9600);
}
void loop() {}
luz de flotación;
luz = analogRead (sensorpin);
Serial.println(Light);
Si (luz < umbral & &! isStarted) {}
isStarted = true;
lastTime = millis();
darkDuration = millis() - darkTime;
Si {} (darkDuration > 600)
Serial.println ();
}
}
Si (luz > = umbral & & isStarted) {}
isStarted = false;
duración = millis() - lastTime;
darkTime = millis();
Si (duración > highPulse) {}
Serial.Print ("1");
}
Si (duración > lowPulse & & duración < = highPulse) {}
Serial.Print ("0");
}
} }