Un projet Arduino Comment faire des ornements de lumières de Noël flashy

Un projet Arduino Comment faire des ornements de lumières de Noël flashy / DIY

C’est la partie suivante de notre série d’apprentissage Arduino, et cette fois nous allons apprendre et utiliser Tableaux faire un petit ornement d’arbre de Noël avec diverses séquences clignotantes Ce serait un projet idéal pour occuper les enfants si vous souhaitez leur apprendre à souder de base - montez simplement les LED sur un morceau de carte, et vous pouvez obtenir de l'énergie avec une pile 9v standard..

C'est également une leçon clé de la programmation Arduino pour les débutants, bien que si vous n'envisagez pas de l'utiliser comme ornement, je vous suggère fortement de le prendre en compte de toute façon..

Remarque: Il s’agit d’un tutoriel de niveau débutant et nous ne réussirons certainement pas - c’est une nouvelle voie - c’est? juste un appareil pour enseigner les concepts d'utilisation Tableaux et Pour les boucles faire face à un grand nombre de LED (ou d'autres périphériques de sortie).

Si vous ne l’avez pas déjà fait, ce serait un bon moment pour suivre les autres articles de la série:

  • Qu'est-ce qu'Arduino et que pouvez-vous en faire Qu'est-ce qu'Arduino et que pouvez-vous en faire? Qu'est-ce qu'Arduino et que pouvez-vous en faire? L'Arduino est un petit appareil électronique remarquable, mais si vous n'en avez jamais utilisé, que sont-ils exactement et que pouvez-vous en faire? Lire la suite ?
  • Qu'est-ce qu'un kit de démarrage Arduino et que contient-il? Qu'est-ce qui est inclus dans un kit de démarrage Arduino? [MakeUseOf explique] Qu'est-ce qui est inclus dans un kit de démarrage Arduino? [MakeUseOf explique] J'ai déjà présenté le matériel open-source Arduino ici sur MakeUseOf, mais vous avez besoin de plus que de l'Arduino lui-même pour en créer quelque chose et pour commencer réellement. Les «kits de démarrage» Arduino sont… En savoir plus
  • Des composants plus sympas à acheter avec votre kit de démarrage 8 Des composants plus cools pour vos projets Arduino 8 Des composants plus cools pour vos projets Arduino Vous envisagez donc de vous procurer un kit de démarrage Arduino, mais vous vous demandez si certaines DEL et résistances de base vont être utilisées? assez pour vous tenir occupé pour le week-end? Probablement pas. Voici encore 8… Lire la suite
  • Débuter avec votre kit de démarrage Arduino? Installation des pilotes et configuration de la carte et du port Mise en route de votre kit de démarrage Arduino - Installation des pilotes et configuration de la carte et du port Prise en main de votre kit de démarrage Arduino - Installation des pilotes et configuration de la carte et du port Vous vous êtes donc acheté un kit de démarrage Arduino et éventuellement d'autres composants sympas au hasard - et maintenant? Comment commencez-vous réellement à programmer cette chose Arduino? Comment le configurez-vous… Read More
  • Fritzing, un outil gratuit pour dessiner des schémas de circuits Fritzing - L'ultime outil pour esquisser des projets électroniques [plateforme croisée] Fritzing - L'ultime outil pour esquisser des projets électroniques [plate-forme] Malgré son allure d'alcopop, Fritzing est en réalité un morceau incroyable de logiciel gratuit que vous pouvez utiliser pour créer des schémas de circuits et de composants à utiliser avec des cartes électroniques à prototypage rapide telles que le fantastique… Lire plus
  • Un regard plus attentif sur la structure d'une application Arduino et l'exemple du programme Blink Premiers pas avec l'Arduino: un regard plus attentif sur le circuit imprimé et la structure d'un programme Premiers pas avec l'Arduino: un regard plus attentif sur le circuit imprimé et la structure D'un programme La dernière fois que je vous ai quitté, vous avez configuré votre Arduino pour fonctionner avec Mac ou Windows, et avez téléchargé une application de test simple qui fait clignoter le voyant intégré. Aujourd'hui, je vais expliquer le code… Read More

Pour ce projet, vous aurez besoin d'au moins 8 ou 9 LED en rouge ou en vert, un résistance pour chacun d'eux, un planche à pain et quelques fils de connexion. Le kit de démarrage de Ooomlout, que j'ai récemment acheté moi-même et qui est décrit dans ce tutoriel, offre un excellent rapport qualité-prix et comporte plus de DEL et de résistances que vous n'auriez jamais besoin, ainsi qu'une carte graphique et un étui Arduino bien rangés. rangé.

Voici la dernière chose:

Et une vidéo en action.

Voici une vue du câblage de Fritzing. C’est très basique - il suffit de connecter le fil positif des LED aux broches 2-> peu importe (jusqu’à la broche 13), et connectez les pattes négatives au sol en ligne avec une résistance. La valeur que j'ai utilisée ici est 560 Ohms. C’est tout pour le câblage.

En ce qui concerne les logiciels, réfléchissez à la manière dont vous pourriez écrire sur toutes ces DEL du code. Vous pourriez vous y prendre comme ceci:

int led1 = 2; // première LED sur la broche 2 int led2 = 3; // seconde sur la broche 3 // etc etc void loop () digitalWrite (led1, HIGH); délai (100); digitalWrite (led1, LOW); délai (100); digitalWrite (led2, HIGH); // etc 

Vous devriez être capable de voir qu'avec 9 LED, cela va vite fatiguer. La réponse réside avec Tableaux, qui si vous ne vous souvenez pas de notre Programmation 101 sur les types de données de base Notions de base de la programmation informatique 101 - Variables et types de données Notions de base de la programmation informatique 101 - Variables et types de données Après avoir introduit et parlé un peu de la programmation orientée objet avant et d'où vient son nom , J’ai pensé qu’il était temps de passer aux bases de la programmation de manière non spécifique au langage. This… En savoir plus - ne sont fondamentalement que des listes.

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

int leds [] = 2,3,4,5,6,7,8,9,10;

Les crochets indiquent que les? variable va être un Tableau. Les accolades entourent la liste des numéros de broche que notre tableau tiendra.

Maintenant, pour utiliser un tableau, nous devons l’adresser par le numéro d’index. le index commence à 0, et ira donc toujours jusqu'à 1 de moins que le nombre total de choses qu'il contient (Donc, avec 9 éléments, le dernier aurait un index de 8).

Vous écrivez comme ça:

leds [0]

Ce qui dans notre cas chercherait le nombre 2, parce que c’est quoi? S à l’indice 0 dans notre tableau.

Suivre jusqu'ici? Génial. Cela ne suffit toutefois pas pour nous - nous avons également besoin d’un moyen de procéder à une itération sur chaque élément de notre réseau de DEL. Pour cela, nous utiliserons un pour la boucle. La syntaxe à faire est la suivante:

for (variable initiale; condition sous laquelle nous répétons encore; changer de variable à chaque itération)

Par exemple:

pour (int i = 0; i<9; i++)

Qui dit

  • commence cette boucle avec une variable, je, qui a une valeur de zéro
  • continuer à boucler seulement pendant que je suis moins de 9?(donc: 0,1,2,3,4,5,6,7,8)
  • chaque fois, ajouter 1 à i (i ++ est un moyen rapide de dire i = i + 1)

Donc, fondamentalement, la boucle va être répétée autant de fois que nous avons de LED, et chaque fois que cela se répète, nous aurons une variable, je, que nous pouvons utiliser comme nous aimons.

Nous allons utiliser cette structure deux fois pour commencer. Une fois dans la fonction de configuration, toutes nos broches se mettent en mode de sortie, comme ceci:

void setup () for (int i = 0; i< 9;i++) pinMode(leds[i],OUTPUT);  

Pouvez-vous voir ce que nous avons fait là-bas? Au lieu d'écrire 9 lignes de code pour déclarer chaque broche individuelle comme sortie, nous créons une boucle 'pour' qui se répète 9 fois, chaque fois que vous définissez une autre broche.

Maintenant, vous devriez pouvoir voir comment nous pourrions faire exactement la même chose dans la boucle principale du programme pour allumer chaque voyant en séquence:

boucle vide () pour (int i = 0; i< 9;i++) digitalWrite(leds[i],HIGH); delay(100); digitalWrite(leds[i],LOW);  

Essayez ça. Vous pouvez télécharger l'intégralité du code du projet d'aujourd'hui à partir d'ici si vous préférez ne pas le saisir à nouveau (bien que je vous encourage à le faire, car cela facilite le processus d'apprentissage)..

D'accord, nous avons maintenant une séquence d'éclairage assez ennuyeuse. En programmeons un autre. Juste pour le plaisir, faisons-le complètement aléatoire. Remplacez le code de la boucle principale par ceci:

boucle vide () int randomLed = random (0,8); digitalWrite (leds [randomLed], HIGH); retarder (50); randomLed = random (0,8); digitalWrite (leds [randomLed], LOW); 

Au lieu d'utiliser une boucle 'pour' pour parcourir chaque LED, nous sélectionnons un nombre aléatoire compris entre 0 et 9, puis nous le faisons clignoter..

Je vais en rester là pour aujourd'hui, car vous devriez maintenant disposer de suffisamment de connaissances pour programmer toutes les nouvelles séquences et expérimenter des boucles. Pour prouver à quel point tout cela est facile, j’ai demandé à ma femme de penser à une séquence qu’elle aimerait voir, puis?elle à 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 ça, alors vois si tu peux faire comme ça!

Questions, suggestions, problèmes - veuillez entrer en contact avec les commentaires.

En savoir plus sur: Arduino.