Un projet arduino: comment faire des ornements flashy lumières de noël

Ceci est la partie suivante de notre apprentissage série Arduino, et cette fois, nous serez en apprentissage et l`utilisation tableaux

de faire un petit ornement arbre de Noël avec différentes séquences de clignotement. Ce serait un projet idéal pour garder les enfants occupés si vous souhaitez leur apprendre à souder de base - il suffit de monter les LED sur un morceau de carte, et vous pouvez obtenir la puissance d`une batterie standard 9v.

Il est aussi une leçon clé dans la programmation débutant Arduino, mais si vous ne prévoyez pas d`utiliser ce fait comme ornement je suggère fortement maquettage dehors de toute façon.

Note: Ceci est un tutoriel de niveau très débutant et nous avons certainement gagné t enfreindrait tout nouveau terrain - il s?? juste un dispositif pour enseigner les concepts d`utilisation tableaux et pour les boucles pour faire face à une grand nombre de LEDs (Ou d`autres dispositifs de sortie).

? Si vous havre t déjà, serait maintenant un bon moment pour suivre avec les autres articles de la série:

Pour ce projet, vous? Aurez besoin au moins 8 ou 9 LEDs en rouge ou en vert, un résistance pour chacun d`eux, un breadboard et certains fils de raccordement des. Le kit de démarrage de Ooomlout, que je me suis récemment acheté et est représenté dans ce tutoriel, offre un excellent rapport qualité-prix et a plus de LED et des résistances que vous? Ll jamais besoin, ainsi que venir avec une planche à pain propre et le cas Arduino pour garder les choses rangé.

? Ici est la dernière chose:

lumières de Noël arduino

Et une vidéo en action.

Video: TUTO | Comment Faire Un Jeux De Lumière | Fabrication

Ici? S une vue sur le câblage de Fritzing. ? Il est très simple - il suffit de brancher le câble positif des LED sur les broches 2-gt; quelle que soit (Jusqu`à la broche 13), et relier les jambes négatives à la ligne de masse avec une résistance. La valeur-je? Ai utilisé ici est de 560 Ohms. Ce? Il est pour le câblage.

lumières de Noël arduino

Du côté logiciel, pensez à la façon dont vous pouvez écrire à tous ces voyants dans le code. Vous pouvez aller à ce sujet comme celui-ci:

int LED1 = 2- // première LED sur la broche 2INT LED2 = 3- // seconde sur la broche 3 // etc etcvoid boucle () {digitalWrite (LED1, HIGH) -delay (100) -digitalWrite (LED1, LOW) -delay (100) -digitalWrite (LED2, HIGH) - // etc}

Vous devriez être en mesure de voir que avec 9 LED, c`est va rapidement fatiguant. La réponse réside tableaux, qui, si vous ne pouvez pas nous souvenir de notre Programmation 101 sur les types de données de base - sont essentiellement des listes.Les bases de programmation informatique 101 - Variables et types de donnéesLes bases de programmation informatique 101 - Variables et types de donnéesAprès avoir présenté et a parlé un peu de la programmation orientée objet avant et où son homonyme vient, je pensais qu`il est temps de passer par les bases absolues de la programmation d`une manière spécifique non linguistique. Ce...Lire la suite

La syntaxe ressemble à ceci (placez cela comme la première ligne de votre code):

int LED [] = {} - 2,3,4,5,6,7,8,9,10

Les crochets indiquent que les? Diodes électroluminescentes? variable va être un tableau. Les accolades enferment la liste des numéros de broches que notre gamme détiendra.

Maintenant, utiliser un tableau, nous devons répondre par le numéro d`index. le index commence à 0, et toujours donc aller jusqu`à 1 inférieur au nombre total de choses à l`intérieur, il (de sorte à 9 éléments, le dernier aurait un indice de 8).

Vous écrivez comme ceci:

leds [0]

Ce qui, dans notre cas, serait chercher le numéro 2, parce que? S quoi? S à l`index 0 dans notre tableau.

Suite à ce jour? Génial. Cela seul n est pas assez pour nous si - nous avons aussi besoin d`une certaine façon à itérer sur chaque élément de notre réseau de LED Pour cela, nous allons utiliser un pour la boucle. La syntaxe de le faire est comme ceci:

pour (première condition Variable- sous laquelle nous réitérons again- changement à chaque itération variable)

Par exemple:

pour (int i = 0 ilt; 9- i ++)

qui dit

  • commencer cette boucle avec une variable, je, qui a une valeur de zéro
  • continuer en boucle que lorsque i est moins de 9?(Donc: 0,1,2,3,4,5,6,7,8)
  • chaque fois, ajouter 1 à i (I ++ est une courte distance de dire i = i + 1)

Donc, en gros, la boucle va être répétée autant de fois que nous avons des LED, et à chaque fois il? S que nous aurons répété une variable, je, que nous pouvons utiliser mais nous aimons.

Video: Décoration de noel illuminé

Nous? Vais utiliser cette structure deux fois pour commencer. Une fois dans la fonction de configuration pour faire toutes nos broches se tournent vers le mode de sortie, comme ceci:

void setup () {for (int i = 0-ilt; 9-i ++) {pinMode (LED [i], OUTPUT) -}}

Pouvez-vous voir ce que nous avons fait là-bas? Au lieu d`écrire 9 lignes de code pour chaque broche individuelle déclarer en tant que sortie, nous créons une boucle « pour » se répéter 9 fois, à chaque fois une autre mise en broche.

Maintenant, vous devriez être en mesure de voir comment nous pourrions faire la même chose dans la boucle principale du programme pour transformer chaque LED en séquence:

void loop () {for (int i = 0-ilt; 9-i ++) {digitalWrite (LED [i], HIGH) -delay (100) -digitalWrite (LED [i], basse) -}}

Essayez cela. Vous pouvez télécharger le code complet pour le projet d`aujourd`hui d`ici si vous? D préfére ne pas le taper à nouveau (si je vous encourage à, car elle aide le processus d`apprentissage).

Bon, alors maintenant nous avons une séquence d`éclairage assez ennuyeux. Laissez le programme? De l`autre. Juste pour le plaisir, nous allons? S le rendre complètement aléatoire. Remplacez le code de la boucle principale avec ceci:

void loop () {int randomLed = aléatoire (0,8) -digitalWrite (diodes électroluminescentes [randomLed], HIGH) -delay (50) -randomLed = aléatoire (0,8) -digitalWrite (diodes électroluminescentes [randomLed], LOW) -}

Au lieu d`utiliser un « pour » boucle pour itérer sur chaque LED, nous sélectionnons un nombre aléatoire de 0-9 au lieu, et que le flash sur.

Je vais le laisser là pour aujourd`hui que vous devriez maintenant être armé avec suffisamment de connaissances pour programmer toutes les nouvelles séquences et d`expérimenter avec des boucles. Pour prouver à quel point tout cela est facile, je conteste ma femme de penser à une séquence elle? Souhaitez voir, puis obtenu?elle pour le programmer elle-même, étant donné que le code et les leçons que vous? avez eu jusqu`à présent. Elle est venue avec cela, alors voyez si vous pouvez correspondre à celui pour les devoirs!

Questions, suggestions, problèmes - s`il vous plaît nous contacter dans les commentaires.

Articles connexes