Étape 2: Code
La ATtiny2313 a seulement 2000 octets de mémoire flash disponible, mais cette esquisse a 2572 octets.
Alors, Comment obtenons-nous tout ce qui est là ?
Nous commentez toute la communication série sur le croquis.
Ces 3 lignes de code a pris un énorme octets 1438 du flash qui ne sont pas utilisés dans le projet achevé, en tout cas.
Utiliser la communication série lorsque vous testez avec votre carte Arduino.
Plus tard, lorsque l’esquisse est transférée à la ATtiny2313, le hors série de commentaires.
Avec la série commentée et le code que pour ce projet, nous allons ajouter la taille de l’esquisse ne sera totales 1324 octets.
Grande nous sommes défi sous la limite maximum de 2000 octets.
Cette esquisse est ladyada, mais dispose d’un délai de 2 min ajouter par moi.
/ * Testeur de capteur PIR * /
int ledPin = 9 ; Numéro d’identification de puce est 12. choisir l’axe de la LED
inputPin int = 11 ; Nombre de broches de puce est 14. Choisissez l’entrée pin (pour capteur PIR)
int pirState = faible ; Nous commençons, en supposant qu’aucun mouvement détecté
int val = 0 ; variable pour la lecture de l’état de la broche
void setup() {}
pinMode (ledPin, sortie) ; déclarer les LED en sortie
pinMode (inputPin, entrée) ; déclarer le capteur comme entrée
Serial.Begin(9600) ;
}
void loop() {}
Val = digitalRead(inputPin) ; lire la valeur d’entrée
Si (val == HIGH) {/ / vérifier si l’entrée est haute
digitalWrite (ledPin, HIGH) ; allumer la LED
Si (pirState == faible) {}
Nous avons juste mis
Serial.println ("mouvement détecté!") ;
Nous voulons seulement imprimer sur le changement de sortie, pas état
pirState = élevé ;
Delay(120000) ; <<<<<<<<<<< Ce retard a été ajouté en nous donnant la minute 2 LED à l’heure - changement selon les besoins
}
} else {}
digitalWrite (ledPin, basse) ; éteindre la LED
Si (pirState == HIGH) {}
Nous avons juste fait de
Serial.println (« requête s’est terminée!") ;
Nous voulons seulement imprimer sur le changement de sortie, pas état
pirState = bas ;
}
}
}