Page de couverture du guide du débutant STEMtera™ Breadboard

 

STEMTera ™ Breadboard a été créé avec l’aide de milliers de contributeurs sur Kickstarter et de distributeurs tels que SparkFun Electronics , LittleBird Electronics et ITEAD Studio . Sans eux, ce travail impressionnant ne serait pas disponible aujourd’hui.

Les images et les illustrations ont été dessinées par JP Liew , provenant de projets open source, SparkFun SIK Guide , Wiki Media et Fritzing .

1er janvier 2017 – JP Liew

Contenu

 

1. Introduction

Qu’est-ce qu’Arduino ?

Arduino Uno R3

Arduino est une plate-forme électronique open source basée sur du matériel et des logiciels faciles à utiliser. Les cartes Arduino sont capables de lire les entrées – la lumière sur un capteur, un doigt sur un bouton ou un message Twitter – et de les transformer en une sortie – en activant un moteur, en allumant une LED, en publiant quelque chose en ligne.

Qu’est-ce que la planche à pain STEMTERA™ ?

Planche à pain Arduino Uno plus

La planche à pain STEMTERa™ est une planche à pain électronique intelligente avec un compatible Arduino UNO R3 intégré à l’intérieur. Cette planche à pain 2 en 1 est spécialement conçue pour résoudre les problèmes courants lors de l’utilisation d’Arduino avec une planche à pain séparée, en particulier en laboratoire ou en classe.

La planche à pain STEMTERa™ est capable de prendre des entrées , par exemple en appuyant sur un bouton, et de traduire ces informations pour déclencher différents types de sorties , par exemple allumer une lumière ou un moteur. Grâce à ces capacités, la planche à pain STEMTERa™ peut être utilisée pour créer des systèmes physiques interactifs en utilisant des logiciels et du matériel capables de détecter et de réagir au monde physique.

Réaliser des projets mécaniques LEGO® avec la planche à pain STEMTERa™ est facile car le capot inférieur de la planche à pain STEMTERA™ est compatible LEGO®.

Matériel

Schéma fonctionnel de la planche à pain STEMTERa™

La planche à pain STEMTERa™ possède 14 broches d’entrée/sortie numériques (dont 6 peuvent être des sorties PWM), 6 entrées analogiques, une connexion USB, une prise d’alimentation et un bouton de réinitialisation. Ces broches d’entrée/sortie sont comme des doigts humains. Avec un logiciel et un matériel correctement écrits, ils peuvent être utilisés pour toucher, sentir et ressentir l’environnement physique.

Tout comme un Arduino UNO, la planche à pain STEMTERa™ possède deux micro-contrôleurs soudés sur le PCB (Printed Circuit Board). L’ATmega32U2 d’ATMEL et l’ATmega328P. L’ATmega32U2 sert de pont pour la communication USB entre l’ordinateur et l’ATmega328P.

La planche à pain STEMTERa™ a également exposé toutes les broches de l’ATmega32U2 sur les points de liaison de la planche à pain, fournissant ainsi 21 broches d’entrée/sortie numériques supplémentaires qui ont la capacité native de communiquer avec l’ordinateur via le port USB (sujet avancé).

 

Logiciel

La planche à pain STEMTERa™ en elle-même n’est qu’un élément matériel physique. Vous devez lui dire quoi faire en envoyant un ensemble d’instructions au microcontrôleur sur la carte. Cet ensemble d’instructions est normalement appelé programme , code ou logiciel . Il existe plusieurs façons d’envoyer le programme à la planche à pain STEMTERa™, l’une des plus populaires consiste à utiliser l’ environnement de développement intégré Arduino (IDE) .

L’IDE Arduino contient un éditeur de texte pour écrire du code, une zone de message, une console de texte, une barre d’outils avec des boutons pour les fonctions courantes et une série de menus. Il se connecte au matériel STEMTera™ Breadboard pour télécharger des programmes et communiquer avec eux.

Esquisses

Les programmes écrits à l’aide de l’IDE Arduino sont appelés sketches . Ces croquis sont écrits dans la zone d’édition de code de l’IDE Arduino et peuvent être compilés dans un ensemble d’instructions de microcontrôleur qui peuvent être téléchargées dans la planche à pain STEMTERA™.

Installation de l’IDE Arduino

Afin de commencer à écrire des croquis pour votre planche à pain STEMTERa™, vous devrez d’abord installer la dernière version de l’IDE Arduino à partir du site Web d’Arduino. À l’aide d’un ordinateur connecté à Internet, ouvrez votre navigateur Internet préféré et saisissez l’URL suivante dans la barre d’adresse du navigateur :

www.arduino.cc/en/main/software

Cette URL affichera une page avec des choix de téléchargement basés sur divers systèmes d’exploitation.

Téléchargement de l'image Arduino

Cliquez sur et téléchargez le package d’installation du système d’exploitation approprié pour votre ordinateur. Dès que le téléchargement est terminé, si vous êtes familiarisé avec l’installation de logiciels et de pilotes, veuillez procéder à l’installation, sinon ouvrez votre navigateur et tapez l’URL suivante dans la barre d’adresse du navigateur pour lire le guide d’installation de l’IDE Arduino de SparkFun.

learn.sparkfun.com/tutorials/installing-arduino-ide

Une fois l’installation terminée, exécutez l’IDE Arduino sur votre ordinateur. L’interface utilisateur d’Arduino IDE est divisée en 9 sections. Naviguez dans l’interface utilisateur pour vous familiariser avec l’IDE Arduino.

 

EDI Arduino

 

Connectez la planche à pain STEMTERa™

Connexion de la planche à pain STEMTERa™ à l'ordinateur

Après vous être familiarisé avec l’interface utilisateur de l’IDE Arduino, vous pouvez maintenant connecter la planche à pain STEMTERA™ à votre ordinateur. Vous aurez besoin d’un câble Micro USB pour la connexion.

Tout d’abord, connectez la plus grande extrémité du câble micro USB à votre ordinateur. Deuxièmement, connectez l’autre extrémité plus petite du câble micro USB à la planche à pain STEMTERA™. Le voyant LED vert sur la planche à pain STEMTERa™ s’allume et différents types de système d’exploitation peuvent également produire un son indiquant qu’un périphérique USB est branché sur l’ordinateur.

Sur un ordinateur Windows, si vous connectez la planche à pain STEMTERa™ pour la première fois, une fenêtre de dialogue apparaîtra vous indiquant qu’un nouveau périphérique a été détecté. Windows recherchera le pilote de périphérique installé précédemment et créera un port série sur votre ordinateur. Si vous souhaitez connaître le nom du port série, tapez

Win + r

Dans la boîte de dialogue ouverte, tapez

devmgmt.msc

puis cliquez sur OK. Le Gestionnaire de périphériques sera lancé et affichera une liste des périphériques connectés à l’ordinateur. Double-cliquez Icône de port Ports (COM & LPT) et le nom du port série de la planche à pain STEMTERa™ devrait ressembler àIcône de port Arduino Uno (COMx)

Sur un ordinateur Mac et un ordinateur Linux, la planche à pain STEMTERa™ est automatiquement détectée. Pour voir l’état de cette détection automatique, ouvrez un écran de terminal et tapez

dmesg + Enter

Les dernières lignes vous indiqueront le nom du port série créé. Le nom du port série pour les ordinateurs Mac et Linux commencera normalement par /dev/tty.

Notez le nom du port série car vous en aurez besoin pour configurer l’IDE Arduino plus tard.

 

Sélection du conseil

Après avoir connecté la planche à pain STEMTERa™ à l’ordinateur, vous devez configurer l’IDE Arduino pour connaître le type de carte que vous avez l’intention d’utiliser. Cette configuration se trouve dans le Toolsmenu.

Déplacez la souris sur le Toolsmenu et cliquez Toolsune fois sur le menu. Lorsque le Toolsmenu apparaît, déplacez la souris sur le Boardsous-menu et un autre sous-menu avec une liste de cartes apparaîtra. Cliquez sur la sélection Arduino/Genuino Uno . Arduino IDE est maintenant configuré pour utiliser la planche à pain STEMTERa™ comme choix de carte de développement.

La planche à pain STEMTERa™ est 100 % compatible avec Arduino UNO mais elle n’est pas répertoriée dans le menu Outils du logiciel Arduino. Sélectionnez « Arduino/Genuino Uno » à la place.

Sélection des ports

L’IDE Arduino doit également connaître le port de communication de votre planche à pain STEMTERA™. Dans le Tools -> Portsous-menu, sélectionnez le port approprié de votre planche à pain STEMTERA™. Différents systèmes d’exploitation afficheront des Portnoms différents.

Logo WindowsSur un système d’exploitation Windows, l’IDE Arduino affichera la planche à pain STEMTERa™ commePort: "COMx (Arduino/Genuino Uno)"

Mac LogoSur un Mac OS, l’IDE Arduino affichera la planche à pain STEMTERa™ commePort: "/dev/tty.usbmodem"

Logo LinuxSur un système d’exploitation Linux, l’IDE Arduino affichera la planche à pain STEMTERa™ commePort: "/dev/ttyACM0"

Une fois le port configuré, vous pouvez procéder au téléchargement de votre premier croquis.

Sélection de la planche à pain STEMTERa dans l'IDE Arduino

 

Télécharger votre premier croquis

Maintenant, tout a été configuré correctement et vous êtes prêt à télécharger votre premier croquis. Le moyen le plus rapide d’essayer votre premier croquis est d’exécuter l’ Blinkexemple.

Cliquez sur Fichier -> Exemples -> 01.Basics -> Blink

L’ Blinkesquisse sera chargée dans l’IDE Arduino.

Cliquez sur bouton arduino_ide_uploadTélécharger, et les deux LED jaunes sur la planche à pain STEMTERa™ commenceront à clignoter, indiquant que l’ordinateur télécharge le croquis sur la planche à pain STEMTERA™.

STEMTERa™ Breadboard Tx Rx LED clignotante

Lorsque le téléchargement de l’esquisse est terminé, les deux LED jaunes arrêtent de clignoter. La zone de message de l’IDE Arduino s’affichera Done uploading, indiquant que le téléchargement est terminé.

Exemple de clignotement de la planche à pain Arduino IDE STEMtera™

En même temps, parce que le Blinkcroquis a demandé à la planche à pain STEMTERA™ de clignoter, vous pouvez voir que la LED rouge commence à clignoter.

Votre premier Blinkcroquis est maintenant exécuté avec succès par la planche à pain STEMTERA™.

 

2. Apprendre à connaître la planche à pain STEMTERa™

Planche à pain Hello STEMtera™

Les fonctions de la planche à pain STEMTERa™ peuvent être facilement divisées en différentes sections ci-dessous.

USB– Ce port est utilisé pour recevoir l’alimentation et communiquer avec l’ordinateur.

7-12VDC Power In– La planche à pain STEMTERa™ peut également être alimentée à partir de cette prise CC.

Port B, Port C & Port D– Ce sont les broches d’entrée/sortie numériques du microcontrôleur ATmega32U2.

Status LED– La LED verte indique la mise sous tension, les deux LED jaunes indiquent la communication et la LED rouge est contrôlée par D13 de l’Arduino.

Power– Cette section fournit des composants externes avec une alimentation CC de 3,3 V et 5 V.

Power Rails– Lorsqu’ils sont connectés à 3,3 V ou 5 V CC, ces rails peuvent être utilisés pour alimenter des appareils externes.

Digital & Analog Pins– Ces broches sont des entrées/sorties utilisées pour l’interfaçage avec des composants externes passifs ou actifs.

Tie Points– Ces points de liaison sont utilisés pour joindre les composants. 5 points de liaison (ABCDE) sont réunis dans un groupe. (FGHIJ) est un autre groupe.

Apprenez à connaître la planche à pain STEMTERa™

 

Points de rattachement

Points de liaison de la planche à pain STEMTERa™

Il y a un total de 634 points de rattachement dans la planche à pain STEMTERa™, divisés en 3 groupes principaux.

Le premier groupe est celui des rails d’alimentation. Il y a 2 rails d’alimentation situés à gauche et 2 à droite de la planche à pain STEMTERa™ marqués de couleur orange dans le schéma. Chaque rail d’alimentation a 30 (1×30) points d’attache connectés ensemble en interne en ligne droite. Ces rails d’alimentation sont normalement utilisés pour distribuer l’alimentation.

Le deuxième groupe n’est que des points d’égalité normaux. Ces points de liaison marqués de couleur verte dans le diagramme sont couramment utilisés comme joints. La formation de ces points de rattachement est de 1×5, par exemple 1->ABCDEun groupe de 1×5 points de rattachement connectés ensemble en interne. 1->FGHIJest un autre groupe de points d’attache 1×5.

Le dernier groupe est une formation de points de liaison 1×2 connectés aux broches des microcontrôleurs à l’intérieur de la planche à pain STEMTERA™. Ils peuvent être vus marqués de couleur noire dans le diagramme.

Pince pour planche à pain STEMTERa™

À l’intérieur des trous des points d’attache se trouvent des pinces à ressort. Ces clips à ressort fabriqués dans la formation de 1×2, 1×5 et 1×30. Lorsque vous insérez un composant à l’intérieur d’un point de liaison, une résistance par exemple, la jambe de la résistance sera maintenue par les deux bras du clip à l’intérieur du point de liaison, réalisant ainsi une connexion mécanique comme indiqué sur le schéma de gauche. Parce que les clips sont en cuivre ou en acier inoxydable, l’électricité peut circuler de la résistance au clip.

En utilisant des mélanges de composants se connectant aux points de liaison, des circuits électroniques complexes peuvent alors être formés.

 

3. Introduction à l’électronique

Atomes

Nous aimons tous démonter les choses et trouver toujours quelque chose de plus petit à l’intérieur, par exemple, si nous démontons une petite voiture télécommandée, il y a un moteur, des engrenages et des fils à l’intérieur. Si nous continuons à briser le moteur en morceaux de plus en plus petits, nous finirons par découvrir que toute la matière est constituée de différents types d’atomes, c’est-à-dire que tout est constitué d’atomes. Un seul atome est environ 100 000 fois plus fin qu’un cheveu humain et ne peut être vu qu’à l’aide d’un puissant microscope électronique.

Atome

La plupart des atomes contiennent trois particules subatomiques différentes : les protons , les neutrons et les électrons . Les protons et les neutrons sont regroupés pour former un noyau au centre de l’atome. Chaque proton du noyau d’un atome a une petite charge positive, ce qui signifie en fait que le noyau est un gros amas de charge positive. L’ électron qui a une charge négative, est donc beaucoup plus petit que le proton et orbite autour du noyau de l’atome. Les atomes sont électriquement neutres car ils ont le même nombre deprotons et électrons .

Charge électrique

Parfois, les atomes peuvent gagner ou perdre des électrons . La perte d’ électrons laisse un atome avec une charge positive nette et le gain d’ électrons laisse un atome avec une charge négative nette . La présence de cette charge électrique, positive ou négative , produit un champ électrique. Ce type d’atomes chargés est appelé un ion. Dans une batterie, le côté positif a des ions positifs et le côté négatif a des ions négatifs .

Électricité

Flux d'électrons dans Wire

Les électrons étant de nature négative, sont attirés par les charges positives. En utilisant cette nature, les électrons peuvent être amenés à se déplacer d’un atome à un autre. Lorsque les électrons se déplacent entre les atomes, un courant électrique est créé. Dans certains gaz et liquides, des atomes avec des protons supplémentaires peuvent également circuler et créer également un courant électrique.

 

Actuel

Flux de courant et d'électrons

Bien que le courant soit le flux d’électrons (négatifs) à travers un milieu conducteur vers des atomes chargés positivement, le flux de courant est souvent ou normalement défini comme courant conventionnel , où il circule du terminal positif au négatif . Dans ce guide, nous ferons référence au courant conventionnel en tant que courant.

Le courant ne peut circuler que lorsqu’il existe une source d’énergie qui produit une tension. Sans cette source d’énergie , les électrons se déplacent de manière aléatoire et assez uniforme dans un fil et le courant ne peut pas circuler. La source d’énergie crée une pression qui entraîne les électrons dans une seule direction, créant ainsi un flux de courant.

Avec juste une source d’énergie seule ne suffit pas pour faire passer le courant. Le circuit avec la combinaison de la source d’énergie (dans notre exemple, des piles AA) et de la charge (dans notre exemple, une ampoule) doit former une boucle fermée , une boucle conductrice dans laquelle les électrons peuvent circuler, fournissant de l’énergie à la charge connectée au circuit.

L’unité de courant électrique est Ampère (ampère) avec un symbole d’unité de A . Lorsque vous travaillez avec une formule, le symbole du courant est I .

Formule, I = V ÷ R ( Courant = Tension ÷ Résistance) – Loi d’Ohm.

Comment mesurer le courant

Comment mesurer le courant

Réglez d’abord le bouton du multimètre sur le réglage de courant le plus élevé possible et assurez-vous également que le courant nominal du fusible du multimètre est suffisamment élevé pour supporter le courant que vous souhaitez mesurer. Dans l’exemple ci-dessus, le courant approximatif estimé n’est que de quelques milliampères (1 milliampère correspond à 1/1000 ampère) sur la base de la loi d’Ohm, 3V ÷ 1000 Ohm (batterie 2 x 1,5V ÷ résistance 1000 Ohm). Par conséquent, régler le bouton sur 200 mA est un bon point de départ.

Afin de mesurer le courant, nous devons rompre la boucle du circuit et laisser le courant circuler dans le multimètre. L’exemple ci-dessus montre le flux de courant des batteries passant par la résistance de 1K (1000 Ohm) et dans le multimètre, puis revenant à la borne négative de la batterie inférieure. Cela forme une boucle fermée . La lecture est de 0,003 A = 3 mA.

Formule, je = V ÷ R
je = 3V ÷ 1000Ω
je = 0,003A

 

Résistance

Résistance

Les électrons se déplacent à travers un conducteur lorsque le courant électrique circule. Tous les matériaux entravent la circulation du courant électrique dans une certaine mesure. Certains matériaux retiennent très étroitement leurs électrons et, à cause de cela, les électrons ne se déplaceront pas très bien à travers eux. Ces matériaux sont appelés isolants. Le caoutchouc, le plastique, le tissu et l’air sec sont de bons isolants. Les matériaux qui permettent à de nombreux électrons de circuler librement sont appelés conducteurs, par exemple le cuivre, l’argent, l’aluminium, l’acide chlorhydrique et sulfurique et l’eau salée.

La caractéristique des matériaux empêchant la circulation du courant électrique est appelée résistance. Les isolants ont une résistance élevée et les conducteurs ont une faible résistance et la résistance est mesurée en Ohms (Ω).

Comment mesurer la résistance

Comment mesurer la résistance

Tournez le bouton du multimètre sur la plage de résistance. Touchez la sonde ROUGE et la sonde NOIRE ensemble, la lecture sur le multimètre doit être de 0 ou proche de 0. Touchez les deux extrémités du matériau à mesurer avec les deux sondes du multimètre. Vérifiez la lecture. Dans l’exemple ci-dessus, la résistance de la résistance 1K Ohm est de 1K.

 

Tension

Différence de potentiel

La tension est la pression ou la force de la source d’alimentation d’un circuit électrique qui « pousse » les électrons chargés à travers les conducteurs. Plus la tension est élevée, plus sa capacité à « pousser » les électrons à travers un circuit donné est grande. La tension est aussi appelée potentiel . La différence de tension entre deux points ou bornes d’un circuit est connue sous le nom de différence de potentiel , communément appelée chute de tension.. Il existe deux tensions différentes, la tension alternative (courant alternatif) et la tension continue (courant continu). Le courant alternatif circule dans les deux sens et est couramment utilisé dans les prises électriques murales. Le courant continu circule dans une direction et est couramment utilisé par les circuits alimentés par batterie. En utilisant un circuit spécial, le courant alternatif peut être converti en courant continu et vice versa. Dans ce guide, nous n’apprendrons que les circuits en courant continu.

L’unité de tension ou de différence de potentiel est le volt avec un symbole d’unité de V . Lorsque vous travaillez avec une formule, le symbole de la tension est V ou E .

Formule, V = IR ou E = IR (Tension = Courant x Résistance) – Loi d’Ohm.

Comment mesurer la tension continue

Comment mesurer la tension

À l’aide d’un multimètre, tournez le bouton du multimètre sur la plage de tension . Touchez la sonde ROUGE (positive) sur l’un des points et la sonde NOIRE (négative) sur l’autre point. L’affichage vous indique la différence de potentiel (tension) des deux points en Volts.

Dans l’exemple ci-dessus, deux piles AA de 1,5 V connectées en série ont une tension de 3 V.

Si votre multimètre n’est pas un multimètre à plage automatique, réglez toujours d’abord la plage sur la plus élevée, puis descendez jusqu’à ce que la lecture souhaitée soit atteinte.

 

Composants électroniques courants

Fil de cavalier commun

Le fil de connexion, également connu sous le nom de fil DuPont, est un fil électrique avec une broche à chaque extrémité, qui est normalement utilisé pour interconnecter les composants sur une planche à pain ou un autre circuit prototype sans soudure.

 

Résistance commune

La résistance est un composant passif à deux bornes qui implémente une résistance électrique. Dans les circuits électroniques, les résistances sont utilisées pour réduire le flux de courant, diviser la tension, polariser les composants actifs et bien d’autres.

 

Condensateur commun

Le condensateur est un composant passif à deux bornes qui stocke l’énergie électrique dans un champ électrique, qui est normalement utilisé dans les circuits électroniques pour bloquer le courant continu tout en laissant passer le courant alternatif. Dans les réseaux de filtres analogiques, ils lissent la sortie des alimentations et stabilisent la tension.

 

LED 5mm commune

La LED (diode électroluminescente) est une source de lumière semi-conductrice à deux bornes, qui émet de la lumière lorsqu’une tension appropriée est appliquée aux fils. Les LED sont très économes en énergie et ont une durée de vie plus longue que les sources lumineuses à incandescence.

 

Diode commune

La diode est un composant à deux bornes qui conduit principalement dans un sens. Elle présente une très faible résistance au passage du courant dans un sens et une résistance extrêmement élevée dans l’autre.

 

Bouton-poussoir commun

Le bouton-poussoir est un mécanisme de commutation simple qui permet au courant de circuler lorsqu’il est enfoncé.

 

Composants électroniques courants

Buzzer piézo commun

Le buzzer piézo est un transducteur électro-acoustique qui transformera les tensions alternatives en pression acoustique. Dans les circuits électroniques, il est normalement piloté par des impulsions hautes-basses provenant d’une broche de sortie ou d’une broche PWM (modulation de largeur d’impulsion).

 

Photorésistance commune

Une photorésistance ou résistance dépendante de la lumière (LDR) est une résistance variable contrôlée par la lumière. La résistance d’une photorésistance diminue avec l’augmentation de l’intensité lumineuse.

 

Capteur de température commun

Un capteur de température est un capteur qui convertit la température en signal électrique. Il existe de nombreux types de capteurs de température qui peuvent produire différents types de signaux. Le TMP36 est l’un des capteurs de température les plus courants qui convertit la température en tension et produira une sortie de 10 mV par Celsius.

 

Transistor commun

Un transistor est un dispositif semi-conducteur utilisé pour amplifier ou agir comme un commutateur pour les signaux électroniques. Les transistors communs ont 3 fils, mais certains transistors spéciaux ont 4 fils ou plus.

 

Potentiomètre commun

Un potentiomètre ou un pot est une résistance à trois bornes avec un contact glissant ou rotatif qui peut être utilisé comme diviseur de tension variable ou comme résistance variable.

 

Moteur à courant continu commun

Un moteur à courant continu est une machine électromécanique qui convertit l’énergie électrique continue en énergie mécanique. Le moteur à courant continu fonctionne sur un principe, lorsqu’un conducteur porteur de courant est placé dans un champ magnétique, il subit un couple et a tendance à se déplacer.

 

4. Exercices Arduino

Exercice 1 – LED clignotante

Titre schématique
Planche à pain STEMTERa™ - Diagramme schématique des exercices Arduino

Les LED (diodes électroluminescentes) sont de petites lampes économes en énergie qui sont utilisées dans de nombreuses applications. Dans cet exercice, nous commencerons par l’un des circuits de clignotement de LED les plus simples.

Dans cet exercice, PIN3 est utilisé pour allumer et éteindre la LED. La résistance de 220Ω agit comme un limiteur de courant pour limiter le courant traversant la LED. Selon les spécifications, les LED ont besoin d’environ 8 mA à 20 mA de courant pour s’allumer.

 
Titre de la partie
RES_220Rx1
LED_REDx1
CAVALIERx2
  1. Connectez un FIL DE CAVALIER à GND et 33J.
  2. Connectez un FIL DE CAVALIER à PIN3 et 38J.
  3. Connectez une RESISTANCE 220Ω à 34H et 38H.
  4. Connectez la broche d’anode (plus longue) de la LED ROUGE à 34G et la broche de cathode (plus courte) à 33G.
Titre de la planche à pain
Planche à pain STEMTERa™ - Exercices Arduino Diagramme de la planche à pain Inkscape

Écrivez et téléchargez l’esquisse de la LED clignotante

Afin d’exécuter le croquis de cet exercice, lancez Arduino IDE puis

Cliquez sur Fichier -> Nouveau .

Une nouvelle fenêtre d’édition d’esquisse apparaîtra. Copiez tout le bloc de code ci-dessous et collez-le dans la nouvelle fenêtre d’esquisse, en écrasant le vide setup()et loop()qui a été pré-créé. Assurez-vous que la carte sélectionnée est Arduino Uno et que le bon port COM est choisi conformément au chapitre « Sélection de la carte ».

void setup() {
    pinMode(3, OUTPUT);
}

void loop() {
    digitalWrite(3, HIGH);
    delay(1000);
    digitalWrite(3, LOW);
    delay(1000);
}

Cliquez sur bouton arduino_ide_uploadTélécharger, et l’IDE Arduino vous invitera à enregistrer le dossier d’esquisse au format . Entrez Excercise_1dans le champ du nom de fichier et cliquez sur Enregistrer. Une fois enregistré, l’IDE Arduino commencera à compiler l’esquisse. Une fois la compilation terminée, l’IDE Arduino commencera à télécharger l’esquisse compilée dans la planche à pain STEMTERa™. Au cours de cette étape, les deux LED jaunes de la planche à pain STEMTERa™ commenceront à clignoter, indiquant que l’IDE Arduino télécharge l’esquisse sur la planche à pain STEMTERA™.

Comprendre le croquis de la LED clignotante

D’après le circuit, nous savons que la broche 3 de la planche à pain STEMTERa™ est connectée à la résistance de 220 Ω et à la LED rouge. Afin d’allumer la LED, nous devons demander à la planche à pain STEMTERA™ de régler PIN3 sur OUTPUT dans la setup()fonction.

pinMode(3, OUTPUT);

La pinMode()fonction ci-dessus prend deux paramètres. Le premier paramètre est le numéro de broche et le deuxième paramètre est le mode de la broche. Le code ci-dessus indique à la planche à pain STEMTERa™ de définir PIN3 comme OUTPUT .

Une fois que PIN3 est configuré comme OUTPUT , nous pouvons alors demander à la planche à pain STEMTERa™ de définir PIN3 HIGH ou LOW .

digitalWrite(3, HIGH);

La digitalWrite()fonction ci-dessus prend deux paramètres. Le premier paramètre est le numéro de broche et le deuxième paramètre est HIGH ou LOW . Lorsqu’un code PIN est réglé sur ÉLEVÉ , le code PIN SORTIRA 5 V. Lorsqu’un PIN est réglé sur LOW , le PIN OUTPUT 0V (pas de tension et connecté à GROUND).

Afin de définir un temps ON ou OFF, nous pouvons ajouter un délai entre ON et OFF en utilisant la ligne de code suivante après avoir défini un PIN HIGH ou LOW .

delay(1000);

Cette ligne de code indique à la planche à pain STEMTERa™ de retarder de 1000 ms (millisecondes).

Lorsque ON, DELAY, OFF, DELAY sont exécutés en boucle, le résultat de cet exercice est le clignotement de la LED en 1000 ms ON et 1000 ms OFF.

 

Exercice 2 – Modulation de largeur d’impulsion (PWM)

La modulation de largeur d’impulsion est une technique de modulation utilisée pour coder un message en un signal pulsé. Même s’il s’agit d’une technique de modulation pour coder les informations à transmettre, elle est largement utilisée pour contrôler la luminosité d’une LED et la vitesse d’un moteur.

Un signal PWM se compose de deux composants principaux qui définissent son comportement : la fréquence et le rapport cyclique. La fréquence détermine la vitesse à laquelle le PWM termine un cycle (c’est-à-dire qu’une fréquence de 1000 Hz correspondrait à 1000 cycles par seconde). Le cycle de service décrit la durée de fonctionnement sous forme de pourcentage de la durée totale d’un cycle.

Planche à pain STEMTERA™ - Modulation de largeur d'impulsion

En électronique numérique, lorsqu’un signal est à 5V, nous l’appelons ON, et lorsqu’un signal est à 0V, nous l’appelons OFF. Dans l’image ci-dessus, le premier signal est représenté par un rapport cyclique de 10 %, ce qui signifie que son temps ON est de 10 % d’un cycle et son temps OFF est de 90 % d’un cycle. Le deuxième signal a un rapport cyclique de 30 % car son temps ON est de 30 % d’un cycle et son temps OFF est de 70 % d’un cycle. Un rapport cyclique de 100 % signifie que le signal est activé en permanence.

En faisant varier le rapport cyclique d’un signal, nous pouvons contrôler le pourcentage de temps de marche d’un circuit, donc contrôler indirectement, par exemple, la luminosité d’une LED. Un rapport cyclique de 100 % aura la LED allumée en pleine luminosité et un rapport cyclique de 50 % aura la LED allumée en demi-luminosité.

Tous les codes PIN de la planche à pain STEMTERa™ ne peuvent pas être utilisés pour PWM. Seule la broche avec une étiquette ~ peut fonctionner comme une broche PWM. PIN 3, 5, 6, 9, 10 et 11 uniquement.

Pour cet exercice, nous utiliserons le même circuit que celui que nous avons utilisé pour l’exercice 1. Si vous avez déjà fait l’exercice 1, passez simplement à la section Write and Upload.

Titre schématique
Planche à pain STEMTERA™ - Exercice 2 - Schéma de principe de la modulation de largeur d'impulsion (PWM) Arduino
Titre de la partie
RES_220Rx1
LED_REDx1
CAVALIERx2
  1. Connectez un FIL DE CAVALIER à GND et 33J.
  2. Connectez un FIL DE CAVALIER à PIN3 et 38J.
  3. Connectez une RESISTANCE 220Ω à 34H et 38H.
  4. Connectez la broche d’anode (plus longue) de la LED ROUGE à 34G et la broche de cathode (plus courte) à 33G.
Titre de la planche à pain
Planche à pain STEMTERa™ - Exercice 2 - Diagramme de la planche à pain Arduino à modulation de largeur d'impulsion (PWM) Inkscape

Écrire et télécharger le croquis PWM

Afin d’exécuter le croquis de cet exercice, lancez Arduino IDE puis

Cliquez sur Fichier -> Nouveau .

Une nouvelle fenêtre d’édition d’esquisse apparaîtra. Copiez tout le bloc de code ci-dessous et collez-le dans la nouvelle fenêtre d’esquisse, en écrasant le vide setup()et loop()qui a été pré-créé. Assurez-vous que la carte sélectionnée est Arduino Uno et que le bon port COM est choisi conformément au chapitre « Sélection de la carte ».

void setup() {
    pinMode(3, OUTPUT);  
}

void loop() {
    analogWrite(3, 255);  // 255 is 100% duty cycle
    delay(200);           // wait for 100ms
    analogWrite(3, 127);  // 127 is 50% duty cycle
    delay(200);           // wait for 100ms
    analogWrite(3, 64);   // 64 is 25% duty cycle
    delay(200);           // wait for 100ms
    analogWrite(3, 32);   // 32 is 12.5% duty cycle
    delay(200);           // wait for 100ms
    analogWrite(3, 16);   // 16 is 6.25% duty cycle
    delay(200);           // wait for 100ms
    analogWrite(3, 0);    // 0 is 0% duty cycle
    delay(200);           // wait for 100ms
}

Cliquez sur bouton arduino_ide_uploadTélécharger, et l’IDE Arduino vous invitera à enregistrer le dossier d’esquisse au format . Entrez Excercise_2dans le champ du nom de fichier et cliquez sur Enregistrer. Une fois enregistré, l’IDE Arduino commencera à compiler l’esquisse. Une fois la compilation terminée, l’IDE Arduino commencera à télécharger l’esquisse compilée dans la planche à pain STEMTERa™. Au cours de cette étape, les deux LED jaunes de la planche à pain STEMTERa™ commenceront à clignoter, indiquant que l’IDE Arduino télécharge l’esquisse sur la planche à pain STEMTERA™.

Comprendre l’esquisse PWM

D’après le circuit, nous savons que la broche 3 de la planche à pain STEMTERa™ est connectée à la résistance de 220 Ω et à la LED rouge. Afin d’allumer la LED, nous devons demander à la planche à pain STEMTERA™ de régler PIN3 sur OUTPUT dans la setup()fonction.

pinMode(3, OUTPUT);

La pinMode()fonction ci-dessus prend deux paramètres. Le premier paramètre est le numéro de broche et le deuxième paramètre est le mode de la broche. Le code ci-dessus indique à la planche à pain STEMTERa™ de définir PIN3 comme OUTPUT .

Une fois que PIN3 est configuré comme OUTPUT , nous pouvons alors l’utiliser analogWrite()comme broche PWM. Par exemple

analogWrite(3, 127);

La analogWrite()fonction ci-dessus prend deux paramètres. Le premier paramètre est le numéro de broche et le deuxième paramètre est le rapport cyclique de 0 à 255 représentant un rapport cyclique de 0 % à 100 %. Dans l’exemple, la valeur 127 se traduit par un rapport cyclique de 50 %.

Dans l’esquisse, nous avons défini le PWM de 100 % de cycle de service à 0 % de rapport cyclique en demi-pas avec un délai de 200 ms entre chaque étape dans une boucle.

Lorsque PWM, DELAY, PWM, DELAY sont exécutés en boucle, le résultat de cet exercice est la luminosité de la LED passant de la pleine luminosité à éteinte et répétée.

 

Exercice 3 – Knight Rider LED

Planche à pain STEMTERA™ - Kinght Rider LED

Le Knight Rider LED s’inspire de la voiture intelligente artificielle avancée de la série télévisée Knight Rider des années 80. La voiture était une Pontiac Trans-Am personnalisée de 1982 facilement identifiable par son balayage lumineux de gauche à droite. Cet exercice consiste à simuler la lumière du scanner à l’aide de LED.

Titre schématique
Planche à pain STEMTERa™ - Exercice 3 - Schéma de principe des LED Arduino Knight Rider
Titre de la partie
RES_220Rx5
LED_REDx5
CAVALIERx5
  1. Connectez un FIL DE CAVALIER à GND et 31J.
  2. Connectez un FIL DE CAVALIER à 31G et 33G.
  3. Connectez un FIL DE CAVALIER à 33H et 35H.
  4. Connectez un FIL DE CAVALIER à 35G et 37G.
  5. Connectez un FIL DE CAVALIER à 37H et 39H.
  6. Connectez une RESISTANCE 220Ω à PIN2 et 40J.
  7. Connectez une RÉSISTANCE 220Ω à PIN3 et 38J.
  8. Connectez une RÉSISTANCE 220Ω à PIN4 et 36J.
  9. Connectez une RÉSISTANCE 220Ω à PIN5 et 34J.
  10. Connectez une RESISTANCE 220Ω à PIN6 et 32J.
  11. Connectez la broche d’anode (plus longue) d’une LED ROUGE à 40F et la broche de cathode (plus courte) à 39F.
  12. Connectez la broche d’anode (plus longue) d’une LED ROUGE à 38F et la broche de cathode (plus courte) à 37F.
  13. Connectez la broche d’anode (plus longue) d’une LED ROUGE à 36F et la broche de cathode (plus courte) à 35F.
  14. Connectez la broche d’anode (plus longue) d’une LED ROUGE à 34F et la broche de cathode (plus courte) à 33F.
  15. Connectez la broche d’anode (plus longue) d’une LED ROUGE à 32F et la broche de cathode (plus courte) à 31F.
Titre de la planche à pain
Planche à pain STEMTERa™ - Exercice 3 - Schéma de la planche à pain Arduino Knight Rider LED Inkscape

Rédigez et téléchargez le croquis de Knight Rider

Afin d’exécuter le croquis de cet exercice, lancez Arduino IDE puis

Cliquez sur Fichier -> Nouveau .

Une nouvelle fenêtre d’édition d’esquisse apparaîtra. Copiez tout le bloc de code ci-dessous et collez-le dans la nouvelle fenêtre d’esquisse, en écrasant le vide setup()et loop()qui a été pré-créé. Assurez-vous que la carte sélectionnée est Arduino Uno et que le bon port COM est choisi conformément au chapitre « Sélection de la carte ».

int pin2 = 2;
int pin3 = 3;
int pin4 = 4;
int pin5 = 5;
int pin6 = 6;
int pin7 = 7;
int timer = 100;

void setup(){
    // Configure PIN2 - PIN 6 as OUTPUT
    pinMode(pin2, OUTPUT);
    pinMode(pin3, OUTPUT);
    pinMode(pin4, OUTPUT);
    pinMode(pin5, OUTPUT);
    pinMode(pin6, OUTPUT);
}

void loop() {
    digitalWrite(pin2, HIGH);   // Turn ON LED on PIN2
    delay(timer);               // delay
    digitalWrite(pin2, LOW);    // Turn OFF LED on PIN2
    delay(timer);

    digitalWrite(pin3, HIGH);
    delay(timer);
    digitalWrite(pin3, LOW);
    delay(timer);

    digitalWrite(pin4, HIGH);
    delay(timer);
    digitalWrite(pin4, LOW);
    delay(timer);

    digitalWrite(pin5, HIGH);
    delay(timer);
    digitalWrite(pin5, LOW);
    delay(timer);

    digitalWrite(pin6, HIGH);
    delay(timer);
    digitalWrite(pin6, LOW);
    delay(timer);

    digitalWrite(pin5, HIGH);
    delay(timer);
    digitalWrite(pin5, LOW);
    delay(timer);

    digitalWrite(pin4, HIGH);
    delay(timer);
    digitalWrite(pin4, LOW);
    delay(timer);

    digitalWrite(pin3, HIGH);
    delay(timer);
    digitalWrite(pin3, LOW);
    delay(timer);
}

Cliquez sur bouton arduino_ide_uploadTélécharger, et l’IDE Arduino vous invitera à enregistrer le dossier d’esquisse au format . Entrez Excercise_3dans le champ du nom de fichier et cliquez sur Enregistrer. Une fois enregistré, l’IDE Arduino commencera à compiler l’esquisse. Une fois la compilation terminée, l’IDE Arduino commencera à télécharger l’esquisse compilée dans la planche à pain STEMTERa™. Au cours de cette étape, les deux LED jaunes de la planche à pain STEMTERa™ commenceront à clignoter, indiquant que l’IDE Arduino télécharge l’esquisse sur la planche à pain STEMTERA™.

Comprendre le croquis de Knight Rider

L’esquisse commence par faire de PIN2 à PIN6 comme SORTIE afin qu’ils puissent allumer ou éteindre la LED. Le concept de Knight Rider LED est d’allumer et d’éteindre chaque LED en séquence de droite à gauche. PIN2 ON, retard, PIN2 OFF puis PIN3 ON, retard, PIN3 OFF,…..PIN6 ON, retard, PIN6 OFF. Dès que la dernière LED sur PIN6 est éteinte, la séquence ON et OFF est effectuée en séquence inverse de PIN6 à PIN2.

Lorsque la séquence de droite à gauche et de gauche à droite est exécutée en boucle, les LED ressembleront à la lumière du scanner du Knight Rider.

 

Exercice 4 – LED contrôlée par bouton-poussoir

Dans cet exercice, nous apprendrons à utiliser la planche à pain STEMTERa™ pour lire l’entrée d’un bouton-poussoir et traduire l’entrée en un état de basculement qui peut être utilisé pour contrôler une LED.

Titre schématique
Planche à pain STEMTERA™ - Exercice 4 - Diagramme schématique des LED contrôlées par bouton-poussoir Arduino
Titre de la partie
RES_220Rx1
LED_REDx1
CAVALIERx3
BOUTONx1
  1. Connectez la broche d’anode (plus longue) de la LED ROUGE à 38G et la broche de cathode (plus courte) à 39G.
  2. Connectez l’interrupteur à bouton-poussoir à 32F, 34F, 32E et 34E.
  3. Connectez la résistance 220Ω à PIN2 et 38J.
  4. Connectez un cavalier à GND et 39I.
  5. Connectez un cavalier à GND et 32J.
  6. Connectez un cavalier à PIN6 et 34J.
Titre de la planche à pain
Planche à pain STEMTERA™ - Exercice 4 - Diagramme de la planche à pain Inkscape LED contrôlée par bouton-poussoir Arduino

Écrire et télécharger l’esquisse de LED contrôlée par bouton-poussoir

Afin d’exécuter le croquis de cet exercice, lancez Arduino IDE puis

Cliquez sur Fichier -> Nouveau .

Une nouvelle fenêtre d’édition d’esquisse apparaîtra. Copiez tout le bloc de code ci-dessous et collez-le dans la nouvelle fenêtre d’esquisse, en écrasant le vide setup()et loop()qui a été pré-créé. Assurez-vous que la carte sélectionnée est Arduino Uno et que le bon port COM est choisi conformément au chapitre « Sélection de la carte ».

boolean LEDState=false;
int LED = 2;
int BUTTON = 6;

void setup() {
    pinMode(LED, OUTPUT);
    // set BUTTON pin as INPUT with an Internal PULLUP
    pinMode(BUTTON, INPUT_PULLUP);
}

void loop() {
    // wait for BUTTON Pin LOW
    if (digitalRead(BUTTON)==LOW){
        delay(50); // wait for 50 ms
        // if BUTTON Pin still low, then it is a solid press
        if (digitalRead(BUTTON)==LOW) {
            LEDState = !LEDState;   // toggle the LED state
            digitalWrite(LED, LEDState);    
        }
        // NOTE: this is a bad way to debounce a button
        // if the BUTTON is stuck at LOW the sketch will 
        // forever stays in the while
        while(digitalRead(BUTTON)==LOW) {
            // wait until BUTTON is read HIGH
        };  
    }
}

Cliquez sur bouton arduino_ide_uploadTélécharger, et l’IDE Arduino vous invitera à enregistrer le dossier d’esquisse au format . Entrez Excercise_4dans le champ du nom de fichier et cliquez sur Enregistrer. Une fois enregistré, l’IDE Arduino commencera à compiler l’esquisse. Une fois la compilation terminée, l’IDE Arduino commencera à télécharger l’esquisse compilée dans la planche à pain STEMTERa™. Au cours de cette étape, les deux LED jaunes de la planche à pain STEMTERa™ commenceront à clignoter, indiquant que l’IDE Arduino télécharge l’esquisse sur la planche à pain STEMTERA™.

Comprendre l’esquisse contrôlée par bouton-poussoir

Pour que l’esquisse garde une trace de l’état de la LED, nous devons d’abord déclarer une booleanvariable avec une valeur par défaut comme false.

boolean LEDState=false;

Chaque fois que la LED change d’état, nous allons stocker l’état dans cette variable. Nous déclarons ensuite deux autres variables, une pour la broche LED et l’autre pour la broche BUTTON, qui sont respectivement 2 et 6.

int LED = 2; int BUTTON = 6;

La broche à laquelle la LED est connectée sera définie comme OUTPUTutilisant pinMode(LED, OUTPUT)la fonction et la broche à laquelle le bouton-poussoir est connecté sera définie comme INPUT_PULLUPutilisant pinMode(BUTTON, INPUT_PULLUP)la fonction. La constante

INPUT_PULLUP

cela signifie, en plus de faire de la broche comme INPUT, cela active également la résistance de rappel interne de cette broche, de sorte que la broche sera connectée au 5V via la résistance de rappel interne et toujours dans un HIGHétat. Lorsque le bouton-poussoir qui est connecté à la BUTTONbroche est enfoncé, il connecte la BUTTONbroche à la masse (GND) faisant ainsi BUTTONlire la broche LOW.

Quand dans le loop(), le code

if (digitalRead(BUTTON)==LOW)

attend que la BUTTONbroche s’en aille LOW, une fois qu’elle est basse, elle attend 50 ms et lit BUTTONà nouveau la broche pour bas. Cela agit comme un simple debouncepour éliminer tout bruit lorsque le bouton-poussoir établit un contact pour la première fois. Si la BUTTONbroche est toujours basse après 50 ms, le contact est solide et donc l’état de la LED est basculé ( falseà true, ou trueà false) à l’aide de ce code.

LEDState = !LEDState;

Après avoir basculé le LEDState, nous pouvons maintenant écrire l’état sur la LEDbroche. Afin d’éviter que le basculement ne se déclenche à plusieurs reprises pendant que le bouton-poussoir est enfoncé, nous ajoutons une autre ligne de code pour attendre que la BUTTONbroche passe à HIGH lorsque le bouton-poussoir est relâché.

while(digitalRead(BUTTON)==LOW)

Ce code est un hack paresseux et une mauvaise pratique de codage car si le bouton-poussoir est court-circuité, l’esquisse restera à jamais dans la whileboucle et n’exécutera jamais d’autre code.

DÉFIER! Écrivez un croquis pour effectuer la même tâche avec le bouton anti-rebond, le basculement de la LED et ne se verrouille jamais même lorsque le bouton-poussoir est court-circuité.

 

Exercice 5 – Buzzer Music

La planche à pain STEMTERa™ peut être utilisée pour produire une note de musique en envoyant des impulsions numériques à une fréquence correspondant à cette note de musique. Lorsque cette fréquence est envoyée à un buzzer, l’intérieur du buzzer vibre et produit ainsi un son.

Titre schématique
STEMTERA™ Breadboard - Exercice 5 - Diagramme schématique de la musique Arduino Buzzer
Titre de la partie
CAVALIERx2
AVERTISSEUR SONOREx1
  1. Connectez la borne positive du buzzer au 33I.
  2. Connectez la borne négative du buzzer au 34I.
  3. Connectez un fil à GND et 34J.
  4. Connectez un fil à PIN8 et 33J.

REMARQUE : Si vous avez un buzzer différent, connectez la borne positive du buzzer à PIN8 et la borne négative à GND. Il n’est pas nécessaire de suivre exactement la connexion ci-dessus.

Titre de la planche à pain
Planche à pain STEMTERA™ - Exercice 5 - Diagramme de la planche à pain Arduino Buzzer Music Inkscape

Écrivez et téléchargez le croquis de la musique du buzzer

Afin d’exécuter le croquis de cet exercice, lancez Arduino IDE puis

Cliquez sur Fichier -> Nouveau .

Une nouvelle fenêtre d’édition d’esquisse apparaîtra. Copiez tout le bloc de code ci-dessous et collez-le dans la nouvelle fenêtre d’esquisse, en écrasant le vide setup()et loop()qui a été pré-créé. Assurez-vous que la carte sélectionnée est Arduino Uno et que le bon port COM est choisi conformément au chapitre « Sélection de la carte ».

#include "pitches.h"

// notes in the melody:
int melody[] = {
    NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4
};

// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
    4, 8, 8, 4, 4, 4, 4, 4
};

void setup() {
    // iterate over the notes of the melody:
    for (int thisNote = 0; thisNote < 8; thisNote++) {

        // to calculate the note duration, take one second divided by the note type.
        // e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
        int noteDuration = 1000 / noteDurations[thisNote];
        tone(8, melody[thisNote], noteDuration);

        // to distinguish the notes, set a minimum time between them.
        // the note's duration + 30% seems to work well:
        int pauseBetweenNotes = noteDuration * 1.30;
        delay(pauseBetweenNotes);
        // stop the tone playing:
        noTone(8);
    }
}

void loop() {
    // no need to repeat the melody.
}

Cliquez sur bouton arduino_ide_uploadTélécharger, et l’IDE Arduino vous invitera à enregistrer le dossier d’esquisse au format . Entrez Excercise_5dans le champ du nom de fichier et cliquez sur Enregistrer. Une fois enregistré, l’IDE Arduino commencera à compiler l’esquisse. Une fois la compilation terminée, l’IDE Arduino commencera à télécharger l’esquisse compilée dans la planche à pain STEMTERa™. Au cours de cette étape, les deux LED jaunes de la planche à pain STEMTERa™ commenceront à clignoter, indiquant que l’IDE Arduino télécharge l’esquisse sur la planche à pain STEMTERA™.

Comprendre le croquis de la musique du buzzer

Arduino a une fonction intégrée appelée tone()qui est utilisée dans cette esquisse pour produire une note de musique. L’esquisse commence par inclure un fichier d’en-tête appelé pitches.h. Dans ce fichier, il y a des constantes définissant les hauteurs des notes de musique, par exemple

#define NOTE_C4 262

Cela définit un Do médian (C4) avec une fréquence de 262 Hz. En réalité, le do médian est de 261,625565 Hz. Dans le bloc de codes suivant,

int melody[] = {
    NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4
};

8 notes de musique sont stockées dans un tableau appelé melody[]. La raison de stocker ces notes dans un tableau est qu’il sera plus facile d’écrire un for looppour jouer toutes les notes dans melody[].

Le deuxième bloc de codes utilise également un tableau, cette fois pour stocker la durée de la note.

int noteDurations[] = {
    4, 8, 8, 4, 4, 4, 4, 4
};

Dans le tableau noteDurations[], a 4représente la noire et an 8représente la croche. Dans la setup()fonction, les notes sont jouées dans un for loopqui commence de 0 à 7 (total 8 notes) en incrémentant une à la fois avec la fonction

tone(8, melody[thisNote], noteDuration);

Cela indique à la planche à pain STEMTERa™ d’envoyer une impulsion numérique au PIN 8, avec une fréquence de melody[thisNote]et de jouer pendant une durée de noteDuration. Afin de distinguer les notes, un délai est nécessaire entre chaque note. L’auteur de la Tone Library a découvert que le retard de 130% noteDurationsemble bien fonctionner.

int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);

Après le délai requis entre les notes,

noTone(8)

est appelé pour arrêter l’envoi d’impulsions à PIN8 après avoir joué les 8 notes stockées dans le melody[]tableau.

DÉFIER! Écrivez un croquis pour jouer la mélodie de Tetris et faites clignoter une LED en même temps.

 

Exercice 6 – Potentiomètre

Dans cet exercice, nous allons apprendre à utiliser un potentiomètre. Un potentiomètre est une résistance variable qui se décline en plusieurs tailles et formes différentes. La forme la plus courante est un bouton rond à trois bornes. La résistance du potentiomètre changera lorsque le bouton est tourné. Dans le schéma ci-dessous, une borne du potentiomètre est connectée au 5V et l’autre est connectée au GND. Cela crée une différence de potentiel dans la borne du milieu et forme un circuit diviseur de tension.

Titre schématique
Planche à pain STEMTERA™ - Exercice 6 - Diagramme schématique du potentiomètre Arduino
Titre de la partie
CAVALIERx3
POTx1
  1. Connectez les bornes 1, 2 et 3 du potentiomètre à 34C, 35C et 36C respectivement.
  2. Connectez un cavalier à 5V et 34A.
  3. Connectez un cavalier à A0 et 35A.
  4. Connectez un cavalier à GND et 36A.
Titre de la planche à pain
Planche à pain STEMTERA™ - Exercice 6 - Diagramme de la planche à pain Inkscape du potentiomètre Arduino

Écrire et télécharger le croquis du potentiomètre

Afin d’exécuter le croquis de cet exercice, lancez Arduino IDE puis

Cliquez sur Fichier -> Nouveau .

Une nouvelle fenêtre d’édition d’esquisse apparaîtra. Copiez tout le bloc de code ci-dessous et collez-le dans la nouvelle fenêtre d’esquisse, en écrasant le vide setup()et loop()qui a été pré-créé. Assurez-vous que la carte sélectionnée est Arduino Uno et que le bon port COM est choisi conformément au chapitre « Sélection de la carte ».

int sensorValue;

void setup() {
    pinMode(A0, INPUT);
    pinMode(13, OUTPUT);
}

void loop() {
    sensorValue=analogRead(A0);
    digitalWrite(13, HIGH);
    delay(sensorValue);
    digitalWrite(13, LOW);
    delay(sensorValue);
}

Cliquez sur bouton arduino_ide_uploadTélécharger, et l’IDE Arduino vous invitera à enregistrer le dossier d’esquisse au format . Entrez Excercise_6dans le champ du nom de fichier et cliquez sur Enregistrer. Une fois enregistré, l’IDE Arduino commencera à compiler l’esquisse. Une fois la compilation terminée, l’IDE Arduino commencera à télécharger l’esquisse compilée dans la planche à pain STEMTERa™. Au cours de cette étape, les deux LED jaunes de la planche à pain STEMTERa™ commenceront à clignoter, indiquant que l’IDE Arduino télécharge l’esquisse sur la planche à pain STEMTERA™.

Tournez le bouton du potentiomètre et remarquez que la LED ROUGE L sur la planche à pain STEMTERa™ clignote en fonction du bouton.

Comprendre l’esquisse du potentiomètre

La première ligne du croquis

int sensorValue;

déclare une variable entière appelée sensorValue. Cette variable servira à mémoriser la valeur de la tension lue sur la borne médiane du potentiomètre.

Dans la setup()fonction, PIN A0 est configuré comme INPUTet PIN13 est configuré comme OUTPUT.

void setup() {
    pinMode(A0, INPUT);
    pinMode(13, OUTPUT);
}

La planche à pain STEMTERa ™ dispose de 6 convertisseurs analogique-numérique (ADC) exposés. L’ADC est couramment utilisé pour convertir la tension analogique en valeur numérique. Dans cet exemple

sensorValue=analogRead(A0);

la tension analogique de la broche A0 est lue à l’aide de analogRead()la fonction et stockée dans la variable sensorValue. Le code passe ensuite au tour PIN 13 HIGHen exécutant

digitalWrite(13, HIGH);

après cela un retard d’une valeur numérique ( sensorValue) qui correspond à la tension analogique lue, sera exécuté. Ce retard montre la période de clignotement de la LED lorsque le bouton du potentiomètre est tourné.

delay(sensorValue);

Avec les bornes gauche et droite du potentiomètre connectées respectivement à 5V et GND, la borne centrale du potentiomètre aura une variation de tension entre 5V et 0V lorsque le bouton est tourné d’un côté à l’autre. Lorsque la tension de la borne du milieu est lue par un ADC, la valeur numérique correspondante de l’ADC dans ce cas est de 0 à 1023, où 0 est 0V et 1023 est 5V. Cette valeur numérique, lorsqu’elle est transmise à la delay()fonction, représente le temps en millisecondes. Après le délai, le PIN 13 est activé LOWsuivi d’un délai avec une valeur de sensorValuenouveau.

Lorsque ces instructions sont exécutées en boucle, la LED ROUGE sur la planche à pain STEMTERa™ s’allumera et s’éteindra dans une période correspondant à la position du bouton du potentiomètre.

DÉFIER! Écrivez un croquis pour lire la valeur du potentiomètre et jouez une hauteur par rapport à la valeur.

 

Exercice 7 – Veilleuse automatique

Une veilleuse automatique est essentiellement une lampe qui s’allume automatiquement lorsqu’elle détecte l’obscurité dans l’environnement. Dans cet exemple, nous utiliserons une photorésistance pour montrer comment convertir le niveau ambiant en luminosité d’une lampe.

Une photorésistance ou cellule photoélectrique ou une résistance dépendante de la lumière (LDR) est un composant qui a une résistance variable avec l’intensité lumineuse qui lui tombe dessus. Plus la lumière est brillante, plus la résistance sera faible. La photorésistance est couramment utilisée pour allumer une lumière et également utilisée pour contrôler la vitesse d’obturation d’un appareil photo.

Dans le circuit ci-dessous, un diviseur de tension est formé par une résistance 10K et la photorésistance. Lorsque la lumière brille sur la photorésistance, la résistance de la photorésistance devient plus faible, ainsi la chute de tension à travers la photorésistance sera plus faible. Lorsque la photorésistance est couverte et à l’abri de la lumière, la résistance de la photorésistance devient plus élevée et la chute de tension à travers elle est plus élevée. En connaissant la chute de tension aux bornes de la photorésistance, nous pouvons obtenir la valeur relative du niveau de lumière convertie à partir de la tension lue aux bornes de la photorésistance.

 
Titre schématique
Planche à pain STEMTERA™ - Exercice 7 - Schéma de la lampe de nuit automatique Arduino
Titre de la partie
CAVALIERx3
LDRx1
RES_220Rx1
RES_10KRx1
LED_REDx1
  1. Connectez la résistance 10K à 5V et 30A.
  2. Connectez la photorésistance à 30E et 30F.
  3. Connectez la résistance 220Ω aux broches 9 et 32J.
  4. Connectez l’anode (broche la plus longue) de la LED à 32I et l’autre broche à 33I.
  5. Connectez un cavalier à GND et 30J.
  6. Connectez un cavalier à GND et 33J.
  7. Connectez un cavalier à A0 et 30C.
Titre de la planche à pain
STEMTERA™ Breadboard - Exercice 7 - Arduino Automatic Night Lamp Inkscape Breadboard Diagram

Rédiger et télécharger le croquis de la lampe de nuit automatique

Afin d’exécuter le croquis de cet exercice, lancez Arduino IDE puis

Cliquez sur Fichier -> Nouveau .

Une nouvelle fenêtre d’édition d’esquisse apparaîtra. Copiez tout le bloc de code ci-dessous et collez-le dans la nouvelle fenêtre d’esquisse, en écrasant le vide setup()et loop()qui a été pré-créé. Assurez-vous que la carte sélectionnée est Arduino Uno et que le bon port COM est choisi conformément au chapitre « Sélection de la carte ».

int brightness;
int lightLevel;
int ambient=120;
int totalDark=240;

void setup() {
    pinMode(9, OUTPUT);
    pinMode(A0, INPUT);
    Serial.begin(9600);
}

void loop() {
    lightLevel = analogRead(A0);
    brightness = map(lightLevel, ambient, totalDark, 0, 255);
    if (brightness<0) brightness=0;
    analogWrite(9, brightness);

    Serial.print("Light Level=");
    Serial.print(lightLevel);
    Serial.print(", ");
    Serial.print("Brightness=");
    Serial.println(brightness);
}

Cliquez sur bouton arduino_ide_uploadTélécharger, et l’IDE Arduino vous invitera à enregistrer le dossier d’esquisse au format . Entrez Excercise_7dans le champ du nom de fichier et cliquez sur Enregistrer. Une fois enregistré, l’IDE Arduino commencera à compiler l’esquisse. Une fois la compilation terminée, l’IDE Arduino commencera à télécharger l’esquisse compilée dans la planche à pain STEMTERa™. Au cours de cette étape, les deux LED jaunes de la planche à pain STEMTERa™ commenceront à clignoter, indiquant que l’IDE Arduino télécharge l’esquisse sur la planche à pain STEMTERA™.

Calibrage de la veilleuse automatique

Lorsque nous exécutons le croquis pour la première fois, la planche à pain STEMtera ™ ne connaît pas le niveau de lumière ambiante, mais ce niveau de lumière ambiante est important car nous devons indiquer à la planche à pain STEMtera ™ la lumière ambiante afin qu’elle puisse activer la luminosité de la LED selon l’éclairage ambiant.

Afin de connaître le niveau de lumière ambiante actuel mesuré par la photorésistance, nous devons ouvrir la fenêtre du moniteur série.

Lorsque la barre d’état de l’IDE Arduino affiche Done uploading, cliquez sur bouton arduino_ide_monitormoniteur série. Une nouvelle fenêtre de moniteur série s’affichera. Le moniteur série est un moyen pour la planche à pain STEMTERa™ de communiquer avec l’ordinateur pour envoyer ou recevoir des données, le plus souvent les messages de débogage.

Sur cette fenêtre, nous pouvons voir qu’un flux continu de messages est affiché. Dans ces messages, nous nous intéressons aux Light Levelet Brightness.

Placez la planche à pain STEMTERA™ à un endroit où vous souhaitez qu’elle lise le niveau de lumière ambiante. Sans que rien ne bloque la lumière vers la photorésistance, notez la valeur de Light Leveldu moniteur série. Cette valeur est la valeur numérique de la chute de tension correspondante sur la photorésistance (voir l’explication ci-dessous pour plus de détails). Ajoutez environ 10 à cette valeur, par exemple, si la valeur est 115, puis ajoutez 10 pour devenir 125. Revenez à l’IDE Arduino et modifiez la ligne de code suivante

int ambient=120;

changez-le en la valeur que nous venons de calculer

int ambient=125;

Maintenant, prenez un chiffon sombre ou utilisez votre paume pour couvrir la photorésistance, vous remarquerez que la Light Levelvaleur sur le moniteur série passe à une valeur plus grande lorsque vous placez le couvercle sur la photorésistance. Tout en maintenant le couvercle sur la photorésistance, notez la Light Levelvaleur. Cette valeur doit être supérieure à la valeur précédente. Revenez à l’IDE Arduino et modifiez la ligne de code suivante

int totaldark=240;

si la valeur est 260, alors changez cette ligne en

int totaldark=260;

En changeant ces deux lignes de code, nous indiquons à la planche à pain STEMTERa™ la lumière ambiante et le niveau de lumière d’obscurité totale dans votre environnement.

Cliquez bouton arduino_ide_uploadet téléchargez à nouveau votre croquis.

Déplacez votre paume vers la photorésistance puis éloignez-la, vous verrez la luminosité de la LED changer lorsque vous déplacez votre paume sur la photorésistance.

Comprendre le croquis de la veilleuse automatique

Nous déclarons d’abord deux variables entières pour stocker la luminosité et le niveau de lumière comme ci-dessous

int brightness;
int lightLevel;

La variable lightLevelest utilisée pour stocker le niveau de lumière actuel et la variable brightnessest pour stocker la luminosité de la LED. Deux autres variables sont ambientet totalDarkqui ont déjà été expliquées dans la section d’étalonnage.

Dans la setup()section PIN9 est configuré en tant que OUTPUTet A0en tant que INPUT. Dans cet exercice, nous présenterons une fonctionnalité de débogage ou de transfert de données de la planche à pain STEMTERa™, l’ Serialobjet.

Serial.begin(9600);

La ligne de code indique à la planche à pain STEMTERA™ d’initialiser son port série à un débit de 9600 bauds et de commencer à l’utiliser. Le débit en bauds est le débit auquel les données sont transférées entre les périphériques série. Les périphériques série doivent définir le même débit en bauds pour communiquer entre eux.

Dans la loop()fonction, nous appelons d’abord

lightLevel = analogRead(A0);

pour lire la valeur analogique de la broche A0 puis la stocker dans la variable lightLevel. Étant donné que la valeur du niveau de lumière (125 à 260 par rapport à notre étalonnage précédent) est différente de la analogueWrite()valeur PWM de 0 à 255 de la fonction, nous devons les convertir en une valeur relative qui correspond l’une à l’autre. En utilisant la map()fonction

brightness = map(lightLevel, ambient, totalDark, 0, 255);

nous convertissons la valeur ambiante 120 en valeur PWM de 0, à la plage maximale de valeur ambiante ou 260 en une valeur PWM de 255. La map()fonction renvoie ensuite la valeur convertie et stockée dans la variable brightness.

Étant donné que la lumière ambiante n’est pas toujours cohérente, la map()fonction peut parfois renvoyer une valeur négative qui n’est pas une valeur valide pour la luminosité lors de l’utilisation de analogWrite()la fonction, nous devons effectuer une vérification conditionnelle à l’aide

if (brightness<0) brightness=0;

Cela signifie que si la brightnessvariable a une valeur inférieure à zéro, stockez zéro dans la variable brightness. En faisant cela, nous pouvons nous assurer que la variable brightnessn’aura pas une valeur négative.

Les codes suivants indiquent à la planche à pain STEMTERa™ d’imprimer le message des variables via la fenêtre du moniteur série.

Serial.print("Light Level=");
Serial.print(lightLevel);
Serial.print(", ");
Serial.print("Brightness=");
Serial.println(brightness);

Lorsqu’il est exécuté en boucle, le niveau de lumière ambiante actuel est continuellement converti en une valeur de luminosité relative, ce qui rend la LED automatiquement contrôlée par la lumière ambiante.

DÉFIER! Connectez une autre LED au circuit et ajoutez des codes dans l’esquisse actuelle pour faire l’inverse du comportement de la LED actuelle.

https://learn.stemtera.com/en/begin/onepage