Étape 9: Programmer le micro-contrôleur
Si vous n’êtes pas familier avec la programmation un lilypad, je suggère de jeter un oeil à d’excellents matériaux de Leah Buechley reliant le lilypad, mise en place du logiciel arduinoet programmation un lilypad.
Le programme de la carte avec le code ci-dessous. Une fois que vous avez le code chargé, les LEDs devraient s’allumer et commencent à répondre aux mouvements de l’accéléromètre.
--Begin code
/*
* Jupe plein d’étoiles
*
* Utilise une LilyPad Arduino et l’accéléromètre pour contrôler la couleur de la LED RGB
* Qui sont cousus dans la ceinture d’une jupe avec fibres optiques
* Tutoriel disponible sur http://StarSkirt.PolymathDesignLab.com
*
* Conçu par Shannon Henry, polymathe Design Lab
*/
int sensorValueX ; variables pour conserver les données de l’accéléromètre
int sensorValueY ;
int sensorValueZ ;
int acceleroX = 0 ; pétale analogique qui lecture X coord accéléromètre est liée à
int acceleroY = 1 ; pétale analogique qui lecture coord accéléromètre Y est liée à
int acceleroZ = 2 ; pétale analogique lecture coord accéléromètre Z liée à
int adjustedX ; variables pour stocker des valeurs remappés pour génération de couleurs
int adjustedY ;
int adjustedZ ;
int redTab = 4 ; pétale au câble de LED rouge
int blueTab = 2 ; pétale au câble de LED bleu
int greenTab = 3 ; pétale au câble de LED vert
Sub initializeRGB(void)
{
pinMode (redTab, sortie) ;
pinMode (blueTab, sortie) ;
pinMode (greenTab, sortie) ;
analogWrite (redTab, 0) ;
analogWrite (blueTab, 0) ;
analogWrite (greenTab, 0) ;
}
void setup() {}
Serial.Begin(9600) ; initialiser le port série de sorte que vous pouvez communiquer avec l’ordinateur
}
void loop() {}
sensorValueX = analogRead(acceleroX) ; lire les données de l’accéléromètre
sensorValueY = analogRead(acceleroY) ;
sensorValueZ = analogRead(acceleroZ) ;
adjustedX = carte (sensorValueX, 400, 650, 0, 255) ; la valeur de la sonde vers la plage 1-255 pour correspondre avec les valeurs de couleur des cartes
adjustedY = carte (sensorValueY, 400, 600, 0, 255) ; Calibrer - décommenter serial.println code ci-dessous, et
adjustedZ = carte (sensorValueZ, 430, 650, 0, 255) ; réglage initiales 2 valeurs pour refléter l’éventail de lectures a reçu lors de l’étalonnage
Serial.println(adjustedX) ; Envoyer les données du capteur à l’ordinateur, donc vous pouvez calibrer RGB LED d’affichage
Serial.println(adjustedY) ; //
Serial.println(adjustedZ) ; //
Serial.println() ; commenter les lignes Serial.println encore une fois l’étalonnage des couleurs est terminée
Delay(5) ; décalage très court
analogWrite (redTab, adjustedX) ; afficher la couleur
analogWrite (blueTab, adjustedY) ;
analogWrite (greenTab, adjustedZ) ;
}