Stap 5: Stap 5: uploaden van de Code op de Arduino IDE
Als u nog geen de Arduino software gaat u naar http://arduino.cc om het te downloaden.
Code voor zender:
LaserComm
Laser communicatieapparaat / / Corbin Newhard
int laserPin = 13;
Koord bericht = "HELLO WORLD";
byte l [] = {0, 0};
byte o [] = {0, 1, 0};
byte h [] = {0, 1, 1, 0};
byte e [] = {0, 1, 1, 1};
byte w [] = {0, 1, 0};
byte r [] = {1, 0, 1};
byte [met] d = {1, 1, 0};
byte ruimte [] = {1, 1, 1};
VOID Setup {}
Serial.begin(9600);
pinMode (laserPin, OUTPUT); }
void loop {}
for (int i = 0; ik < message.length(); i ++) {}
Serial.Print(Message[i]);
sendCode(message[i]);
Serial.println(); }
delay(5000); }
VOID sendCode(char x) {}
switch(x) {}
geval 'L': voor (int i = 0; ik < sizeof(l); i ++) {als (l [i] == 0){dot();} else{dash();}} breken;
geval ' o ': voor (int i = 0; ik < sizeof(o); i ++) {als (o [i] == 0){dot();} else{dash();}} breken;
kast 'H': voor (int i = 0; ik < sizeof(h); i ++) {als (h [i] == 0){dot();} else{dash();}} breken;
geval 'E': voor (int i = 0; ik < sizeof(e); i ++) {als (e [i] == 0){dot();} else{dash();}} breken;
geval 'W': voor (int i = 0; ik < sizeof(w); i ++) {als (w [i] == 0){dot();} else{dash();}} breken;
kast 'R': voor (int i = 0; ik < sizeof(r); i ++) {als (r [i] == 0){dot();} else{dash();}} breken;
geval zou ': voor (int i = 0; ik < sizeof(d); i ++) {als (d [i] == 0){dot();} else{dash();}} breken;
geval ' ': voor (int i = 0; ik < sizeof(space); i ++) {als (ruimte [i] == 0){dot();} else{dash();}} breken; }
}
VOID dash()
{Serial.print("-") digitalWrite (laserPin, hoge); delay(600);
digitalWrite (laserPin, laag);
delay(100);
}
VOID dot()
{Serial.print(".") digitalWrite (laserPin, hoge); delay(200);
digitalWrite (laserPin, laag);
delay(100);
}
(Vervang en voeg uw eigen brieven en bericht)
Code voor de ontvanger:
Const int sensorpin = 0;
Boole isStarted = false;
lange lastTime = 0;
lange duur = 0;
lange darkTime = 0;
lange darkDuration;
int drempel = 600;
lange highPulse = 75;
lange lowPulse = 10;
VOID Setup {}
Serial.begin(9600);
}
void loop {}
float licht;
licht = analogRead (sensorpin);
Serial.println(Light);
Als (licht < drempel & &! isStarted) {}
isStarted = true;
lastTime = millis();
darkDuration = millis() - darkTime;
Als (darkDuration > 600) {}
Serial.println ();
}
}
Als (licht > = drempel & & isStarted) {}
isStarted = false;
duur = millis() - lastTime;
darkTime = millis();
Als (duur > highPulse) {}
Serial.Print ("1");
}
Als (duur > lowPulse & & duur < = highPulse) {}
Serial.Print ("0");
}
} }