Étape 5: Coder et tester vos lumières
Avant que vous pouvez définir des étendues dans votre code, vous aurez besoin de savoir quelle sorte de gammes vos patchs de feuille d’étain sont détecter. Dans mon code, les gammes varient de la 700 s à près de 1000. Taille de vos patchs et la conductivité de la peau peuvent varier les gammes que détecter vos patchs.
Une fois que vos patchs sont bien cousues, et votre Lilypad est connecté à votre ordinateur à l’aide d’un câble USB, vous pouvez tester les plages de vos patchs en cliquant sur le bouton moniteur série dans le coin supérieur droit de votre code d’Arduino. Veillez à ce que l’USB approprié est identifié dans Outils -> port série, et que le bon Conseil de Lilypad est sélectionné dans Outils -> Conseil d’administration.
Votre code doit inclure ce qui suit pour le test de serial monitor travailler :
int aluminumFoil = A2 ; (si votre patch positif une feuille d’étain n’est pas connecté à A2, le remplacer par sa bonne broche connecté)
Dans la section Configuration du Sub, comprennent :
Serial.Begin(9600) ; initialiser le port série
pinMode (aluminumFoil, entrée) ; définit la goupille de feuille d’aluminium à l’entrée
digitalWrite (aluminumFoil, HIGH) ; Initialise le capteur
Dans la section Sub boucle, votre code devra :
sensorValue = analogRead(aluminumFoil) ; lire la valeur de la sonde
Serial.println(sensorValue) ; Envoyer cette valeur à l’ordinateur
Voir le code complet pour plus d’informations. Une fois que votre code est à la hauteur, cliquez sur moniteur de la série. Vous verrez une série de nombres. Touchez vos patchs et voir comment modifier les numéros. Trouver le haut et le bas de votre cuisinière et ensuite déterminer quelles gammes que vous souhaitez inclure dans votre code. Par exemple, dans mon code, elle explique que "si (sensorValue < 985 & & sensorValue > = 900) », les lumières durera 8/10 de seconde. Si la valeur de la sonde indique entre 800 et 900, les lumières durent 5/10 de seconde... et ainsi de suite. Décider quelles gammes vous voulez effectuer le code et comment.
______
Mon code complet :
int aluminumFoil = A2 ; Il s’agit de la goupille qui le patch de feuille d’étain positive est relié à (l’autre patch de feuille d’étain est connecté directement à la borne négative)
int sensorValue ; variable pour stocker la valeur provenant de la sonde
top1 int = 2 ; TOP1 est le surnom de l’étoile connectée à la broche 2
top2 int = 3 ;
top3 int = 9 ;
top4 int = 10 ;
int rtop1 = A4 ;
int rtop2 = 11 ;
void setup() / / exécuter une seule fois, au démarrage de l’esquisse
{
Serial.Begin(9600) ; initialiser le port série
pinMode (aluminumFoil, entrée) ; définit la goupille de feuille d’aluminium à l’entrée
digitalWrite (aluminumFoil, HIGH) ; Initialise le capteur
pinMode (top1, sortie) ; Si la lumière n’est pas réglée à la sortie, cela ne marchera pas
pinMode (top2, sortie) ;
pinMode (top3, sortie) ;
pinMode (top4, sortie) ;
pinMode (rtop1, sortie) ;
pinMode (rtop2, sortie) ;
}
void loop() / / run maintes et maintes fois
{
sensorValue = analogRead(aluminumFoil) ; lire la valeur de la sonde
Serial.println(sensorValue) ; Envoyer cette valeur à l’ordinateur
Si (sensorValue < 985 & & sensorValue > = 900) //if la valeur des capteurs est entre 900-985 quand touché, la répartition de la lumière suivante se produit :
{
digitalWrite (top1, HIGH) ; allumer la LED (HIGH est le niveau de tension)
Delay(800) ; Cela indique combien de temps le voyant reste allumé en millisecondes
digitalWrite (top1, faible) ; éteindre la LED
digitalWrite (top4, HIGH) ;
Delay(800) ;
digitalWrite (top4, faible) ;
digitalWrite (rtop2, HIGH) ;
Delay(800) ;
digitalWrite (rtop2, basse) ;
digitalWrite (top2, HIGH) ;
Delay(800) ;
digitalWrite (top2, faible) ;
digitalWrite (top3, HIGH) ;
Delay(800) ;
digitalWrite (top3, faible) ;
digitalWrite (rtop1, HIGH) ;
Delay(800) ;
digitalWrite (rtop1, basse) ;
Attendez une seconde
}
ElseIf (sensorValue < 900 & & sensorValue > 800)
{
digitalWrite (top1, HIGH) ; allumer la LED (HIGH est le niveau de tension)
Delay(500) ;
digitalWrite (top1, faible) ;
digitalWrite (top4, HIGH) ;
Delay(500) ;
digitalWrite (top4, faible) ;
digitalWrite (rtop2, HIGH) ;
Delay(500) ;
digitalWrite (rtop2, basse) ;
digitalWrite (top2, HIGH) ;
Delay(500) ;
digitalWrite (top2, faible) ;
digitalWrite (top3, HIGH) ;
Delay(500) ;
digitalWrite (top3, faible) ;
digitalWrite (rtop1, HIGH) ;
Delay(500) ;
digitalWrite (rtop1, basse) ;
}
ElseIf (sensorValue < 800 & & sensorValue > = 600)
{
digitalWrite (top1, HIGH) ; allumer la LED (HIGH est le niveau de tension)
Delay(200) ;
digitalWrite (top1, faible) ;
digitalWrite (top4, HIGH) ;
Delay(200) ;
digitalWrite (top4, faible) ;
digitalWrite (rtop2, HIGH) ;
Delay(200) ;
digitalWrite (rtop2, basse) ;
digitalWrite (top2, HIGH) ;
Delay(200) ;
digitalWrite (top2, faible) ;
digitalWrite (top3, HIGH) ;
Delay(200) ;
digitalWrite (top3, faible) ;
digitalWrite (rtop1, HIGH) ;
Delay(200) ;
digitalWrite (rtop1, basse) ;
}
d’autre //the après le code, c’est ce qui se passera si le détecteur détecte une valeur différente de celles spécifiées ci-dessus
{
digitalWrite (top1, HIGH) ; allumer la LED (HIGH est le niveau de tension)
Delay(1000) ;
digitalWrite (top1, faible) ;
digitalWrite (top4, HIGH) ;
Delay(1000) ;
digitalWrite (top4, faible) ;
digitalWrite (rtop2, HIGH) ;
Delay(1000) ;
digitalWrite (rtop2, basse) ;
digitalWrite (top2, HIGH) ;
Delay(1000) ;
digitalWrite (top2, faible) ;
digitalWrite (top3, HIGH) ;
Delay(1000) ;
digitalWrite (top3, faible) ;
digitalWrite (rtop1, HIGH) ;
Delay(1000) ;
digitalWrite (rtop1, basse) ;
}
}