Étape 5: Étape 5: Télécharger Code sur IDE Arduino
Si vous n’avez pas encore le logiciel Arduino aller à http://arduino.cc pour le télécharger.
Code de l’émetteur :
Démonstrateur
Dispositif de Communication au laser / / Corbin Newhard
int laserPin = 13 ;
Message de chaîne = « HELLO WORLD » ;
l Byte = {0, 0} ;
o Byte = {0, 1, 0} ;
Byte [h] = {0, 1, 1, 0} ;
Byte e [] = {0, 1, 1, 1} ;
Byte [w] = {1, 0, 0} ;
Byte r [] = {1, 0, 1} ;
Byte [] d = {1, 1, 0} ;
espace Byte = {1, 1, 1} ;
void setup() {}
Serial.Begin(9600) ;
pinMode (laserPin, sortie) ; }
void loop() {}
pour (int i = 0; i < message.length(); i ++) {}
Serial.Print(message[i]) ;
sendCode(message[i]) ;
Serial.println() ; }
Delay(5000) ; }
void sendCode(char x) {}
{Switch(x)}
case "L": pour (int j’ai = 0; j’ai < sizeof(l); i ++) {si (l [i] == 0){dot();} else{dash();}} break ;
cas ' o ': pour (int i = 0; j’ai < sizeof(o); i ++) {si (o [i] == 0){dot();} else{dash();}} break ;
affaire 'H': pour (int i = 0; j’ai < sizeof(h); i ++) {si (h [i] == 0){dot();} else{dash();}} break ;
cas 'E': pour (int i = 0; j’ai < sizeof(e); i ++) {si (e [i] == 0){dot();} else{dash();}} break ;
cas 'W': pour (int i = 0; j’ai < sizeof(w); i ++) {si (w [i] == 0){dot();} else{dash();}} break ;
affaire 'R': pour (int i = 0; j’ai < sizeof(r); i ++) {si (r [i] == 0){dot();} else{dash();}} break ;
affaire aurait ": pour (int j’ai = 0; j’ai < sizeof(d); i ++) {si (d [i] == 0){dot();} else{dash();}} break ;
cas ' ': pour (int j’ai = 0; j’ai < sizeof(space); i ++) {si (espace [i] == 0){dot();} else{dash();}} break ; }
}
Sub dash()
{Serial.print("-") ; digitalWrite (laserPin, HIGH); delay(600) ;
digitalWrite (laserPin, basse) ;
Delay(100) ;
}
Sub dot()
{Serial.print(".") ; digitalWrite (laserPin, HIGH); delay(200) ;
digitalWrite (laserPin, basse) ;
Delay(100) ;
}
(Remplacer et ajouter vos propres lettres et messages)
Code pour le récepteur :
const int sensorpin = 0 ;
isStarted booléen = false ;
lastTime long = 0 ;
longue durée = 0 ;
long darkTime = 0 ;
longue darkDuration ;
seuil d’int = 600 ;
highPulse long = 75 ;
activer faible impulsion longue = 10 ;
void setup() {}
Serial.Begin(9600) ;
}
void loop() {}
flotteur lumineux ;
lumière = analogRead (sensorpin) ;
Serial.println(Light) ;
Si (lumière < seuil & &! isStarted) {}
isStarted = true ;
lastTime = millis() ;
darkDuration = millis() - darkTime ;
Si {(darkDuration > 600)
Serial.println () ;
}
}
Si (lumière > = seuil & & isStarted) {}
isStarted = false ;
durée = millis() - lastTime ;
darkTime = millis() ;
Si (durée > highPulse) {}
Serial.Print ("1") ;
}
Si (durée > Activer faible impulsion & & durée < = highPulse) {}
Serial.Print ("0") ;
}
} }