LaserComm (5 / 6 stap)

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");

}

} }

Gerelateerde Artikelen