Want to make creations as awesome as this one?

2nde 2019 Physique Arduino Produire un son

Transcript

ch 12 Activité Expérimentale Produire un son.

G

Play

Introduction au sketch Arduino pour produire un son

© 2021 An Escape Game by Virginie Fourcassier. Lycée Pierre de Fermat. Toulouse.

Q

Q

Virginie.Fourcassier@ac-toulouse.fr

Virginie.Fourcassier@ac-toulouse.fr

Votre mission...

si vous l'acceptez...

sera de produire un signal sonore de fréquence donnée

Deny :-(

Accept :-)

Le matériel :Déposer sur la paillasse le matériel nécessaire pour produire un signal sonore à l'aide d'un buzzer, et, sous la table, le matériel inutile.

Next

Pour produire un signal sonore de fréquence donnée, on peut utiliser

  • un microcontrôleur intégré dans une carte Arduino
  • un ordinateur pour commander le microcontrôleur (et l'alimenter)
  • un buzzer (et ses deux fils de connexion) pour émettre le son
  • un câble USB pour relier la carte Arduino à l'ordinateur

Ordinateur

Carte Arduino comportant le microcontrôleur

Cable USB permettant de relier la carte Arduino à l'ordinateur (et ainsi de commander et d'alimenter la carte Arduino)

Buzzer

Rapporteur

Equerre

Conducteur ohmique (résistance)

Ampoule

Multimètre

Consignes

Port USB de la carte Arduino

Il permet- d'alimenter le microcontrôleur-de le contrôler via le sketch écrit dans l'ordinateur via le téléversement de celui-ci

entre lesquelles le microcontrôleur va générer la tension périodique

Haut Parleur

Quand une tension périodique de fréquence adéquate est appliquée à ses bornes alors il émet un son de même fréquence

Ordinateur

Il contient le sketch qui va contrôler le micorcontrôleur

Carte Arduino

contient le microcontrôleur qui est programmé pour produire le signal électrique désiré

Broches numériques GRD et 8

Next

Un signal sonore de fréquence f donnée peut être produit en utilisant une carte électronique, par exemple la carte Arduino. Elle contient un microcontrôleur pouvant être programmé pour produire un signal électrique. Ce signal, par exemple un signal périodique de forme carrée de fréquence f (de période T = 1/f), transmis à un haut-parleur est alors converti en signal sonore de même fréquence. Principe :

  • Dans un haut-parleur, la tension électrique appliquée permet de déplacer la membrane. Si la valeur de cette tension change rapidement, la membrane va se déplacer rapidement. Si la fréquence de vibration de la membrane est assez élevée, la vibration de la membrane ainsi créée produit un son audible.
  • Par exemple, la note La3 correspond à une vibration de fréquence f = 440 Hz, soit 440 allers(retours par seconde, ou un aller-retour toutes les 2,272 ms ( = T = 1 / f = 1 / 440) ).
  • En envoyant au haut-parleur alternativement à cette fréquence une tension positive, puis une tension nulle , on peut émettre la note La3.
  • Pour entendre le son créé, on branche un haut-parleur ou un buzzer ou un casque entre les bornes numériques GRD (masse) et n°8 (par exemple) de la carte Arduino
Grâce au port USB de la carte Arduino qui réalise une liaison entre un ordinateur et la carte Arduino,
  • on alimente le microcontrôleur de la carte (lorsque la carte n'est pas branchée en USB il faut utiliser une alimentation séparée).
  • et on le commande depuis le sketch écrit dans l'ordinateur (le port USB permet à l'ordinateur de téléverser vers la carte un programme créé et compilé dans l'EDI arduino )
(EDI : Electronic Data Interchange en anglais ou Échange de Données Informatisé en français ) On génère une tension périodique entre les deux broches numériques GRD et n°8 (broche utilisée en OUTPUT) de la carte Arduino : On branche entre ces deux bornes le haut-parleur qui convertit le signal électrique qu'il reçoit en signal sonore de même fréquence Broches numériques ("digital pins" en anglais) Les broches numériques fonctionnent en deux modes : entrée ou sortie. Le mode dans lequel va fonctionner une broche numérique est défini une fois au début du programme dans la fonction setup() Deux valeurs possibles - 0 (ou LOW) qui correspond à une tension de 0V - 1 (ou HIGH) qui correspond à une tension de 5V

Les légendes sont sorties de leur cadre ! En cliquant sur l'icône Documents, vous trouverez l'aide nécessaire pour faire glisser au bon endroit les légendes du montage permettant de générer un son avec la carte Arduino.

Voyons comment l'ordinateur commande le microcontrôleur de la carte Arduino

C’est en écrivant un programme, un sketch, dans l'ordinateur, (avec un langage qui se nomme C/ C++) que l’on commande le microcontrôleur de la carte Arduino (le port USB permet à l'ordinateur de téléverser vers la carte un programme créé et compilé dans l'EDI arduino ) (EDI : Electronic Data Interchange en anglais ou Échange de Données Informatisé en français ) CLIQUE sur l'ordinateur pour visualiser un exemple de sketch permettant d'émettre un son grâce à un haut parleur (ou un buzzer)

Cliquer sur "Code" pour afficher le sketch

Clic pour zoomer :

LESCOMMENTAIRES

LESCOMMENTAIRES

/* Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°8 */ // Définition des constantes fréquence des notes. Exemple "NOTE_do3" contient la valeur 262 Hz : // Définition de la durée de la note en milliseconde : // à exécuter une fois au début du programme : // joue une note : la fonction tone envoie un signal carré sur la broche 8 de fréquence et de durée donnée // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) /******************************************************* TRAVAIL A FAIRE : RAJOUTER UNE NOTE. NE PAS OUBLIER D'ATTENDRE LA FIN DE LA NOTE AVANT DE JOUER LA SUIVANTE Par exemple : tone(8, 391, DUREE); delay(DUREE * 1.30); *******************************************************/ // Stoppe le signal par sécurité : // à exécuter indéfiniment en boucle : // On ne fait rien

/* Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°8 */ // Définition des constantes fréquence des notes. Exemple "NOTE_do3" contient la valeur 262 Hz :#define NOTE_do3 262 // Définition de la durée de la note en milliseconde :#define DUREE 2000 // à exécuter une fois au début du programme : void setup() { // joue une note : la fonction tone envoie un signal carré sur la broche 8 de fréquence et de durée donnée // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ) tone(8, NOTE_do3, DUREE); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); /******************************************************* TRAVAIL A FAIRE : RAJOUTER UNE NOTE. NE PAS OUBLIER D'ATTENDRE LA FIN DE LA NOTE AVANT DE JOUER LA SUIVANTE Par exemple : tone(8, 391, DUREE); delay(DUREE * 1.30); *******************************************************/ // Stoppe le signal par sécurité : noTone(8); } // à exécuter indéfiniment en boucle :void loop() { // On ne fait rien }

Consignes

Survole avec la sourissur le sketch pour repérer les commentairesCLIC sur l'un pour passer à la page suivante

Next

Survole avec la souris sur le sketch pour repérer les commentaires CLIC sur l'un pour passer à la page suivante !

LES COMMENTAIRES :On les reconnait grâce aux symboles :// au début d'une ligne de commentaires/* au début d'un paragraphe de commentaires*/ en fin de paragraphe de commentaires

/*Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°8 */ // Définition des constantes fréquence des notes. Exemple "NOTE_do3" contient la valeur 262 Hz :#define NOTE_do3 262 // Définition de la durée de la note en milliseconde :#define DUREE 2000 // à exécuter une fois au début du programme : void setup() { // joue une note : la fonction tone envoie un signal carré sur la broche 8 de fréquence et de durée donnée // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ) tone(8, NOTE_do3, DUREE); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); /******************************************************* TRAVAIL A FAIRE : RAJOUTER UNE NOTE. NE PAS OUBLIER D'ATTENDRE LA FIN DE LA NOTE AVANT DE JOUER LA SUIVANTE Par exemple : tone(8, 391, DUREE); delay(DUREE * 1.30); *******************************************************/ // Stoppe le signal par sécurité : noTone(8); } // à exécuter indéfiniment en boucle :void loop() { // On ne fait rien }

On les reconnait grâce aux symboles :// au début d'une ligne de commentaires/* au début d'un paragraphe de commentaires*/ en fin de paragraphe de commentaires

Consignes

LESBLOCS

Next

Bloc 3

Bloc 2

Bloc 1

1. Prélever la couleur ici

2. Colorier les cases là

Attribue la bonne couleur à chaque ligne de sketch (autre qu'un commentaire marron) en coloriant le petit rectangle présent devant chaque ligne Bloc n°1 : On y déclare les variables. Bloc n°2 : void setup() { } On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouve n'est exécuté qu'une fois. Bloc n°3 : void loop() { } C 'est la boucle principale, le programme y est exécuté à l'infini.

Un projet Arduino peut être structuré en trois types de blocs : Bloc n°1 : On y déclare les variables. Bloc n°2 : void setup() { } On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouve n'est exécuté qu'une fois. Bloc n°3 :void loop() { } C 'est la boucle principale, le programme y est exécuté à l'infini.

LESFONCTIONS

/* Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°7 */ // Définition des constantes fréquence des notes. Exemple "NOTE_do4" contient la valeur 580 Hz :#define NOTE_do4 // Définition de la durée de la note en milliseconde : 1000 ms :#define DUREE // à exécuter une fois au début du programme : void setup() { // joue une note : la fonction tone envoie un signal carré sur la broche 7 de fréquence et de durée donnée // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ) : tone( , NOTE_do4, DUREE); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) : delay(DUREE * 1.30); /******************************************************* TRAVAIL A FAIRE : RAJOUTER UNE NOTE. NE PAS OUBLIER D'ATTENDRE LA FIN DE LA NOTE AVANT DE JOUER LA SUIVANTE Par exemple : tone(7, 391, DUREE); delay(DUREE * 1.30); *******************************************************/ // Stoppe le signal par sécurité : noTone( ); } // à exécuter indéfiniment en boucle :void loop() { // On ne fait rien }

Consignes

580|mot2|mot3|mot4

1000|mot2|mot3|mot4

7|mot2|mot3|mot4

Next

Chaque ligne d'instructiondoit se terminer par le caractère ";"

Les fonctions : elles apparaissent en bleu dans le sketch Bien lire les commentaires du sketch pour comprendre leur tache ! Consigne : Modifier le sketch pour que les fonctions réalisent les instructions données dans ces commentaires :

  • un do4 de fréquence 580 Hz
  • pendant 1000 ms
  • en branchant le HP entre la broche GRD (Ground) et la broche numérique n°7
comme indiqué sur le schéma ci-dessous : Pour cela, 1) dans le bloc 1, il faudra modifier la valeur des 2 constantes définies préalablement : exemple : pour attribuer à la constante a la valeur 10 : # define a 10 2) dans le bloc 2, il faudra modifier les valeurs attribuées à la fonction tone : exemple : pour que la fonction tone délivre, entre les broches numériques GRD (ground) et 4, une tension périodique de fréquence 555 Hz pendant 20 ms : tone( 4 , 555 , 20 )

LESFONCTIONS

/* Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°7 */// à exécuter une fois au début du programme : void setup() { // joue un do4 : la fonction tone envoie un signal carré sur la broche 7 de fréquence 580 Hz et de durée 1000 ms // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ); tone( 7 , 580 , 1000 ); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); // joue un mi5 : la fonction tone envoie un signal carré sur la broche 7 de durée 500 ms et de fréquence 1319 Hz // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ); tone( , , ); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); // Stoppe le signal par sécurité : noTone( ); } // à exécuter indéfiniment en boucle :void loop() { // On ne fait rien }

Consignes

Next

500|mot2|mot3|mot4

1319|mot2|mot3|mot4

7|mot2|mot3|mot4

Modifier le sketch pour qu'il corresponde aux commentaires, c'est à dire : jouer

  • un mi5 de fréquence 1319 Hz
  • pendant 500 ms
en plus de jouer
  • un do4 de fréquence 580 Hz
  • pendant 1000 ms
le tout en branchant le HP entre la broche GRd (Ground) et la broche numérique n°7 comme indiqué sur le schéma ci-dessous :

Les éléments 'point' existent en trois tailles.N'en choisir qu'une !

2

Bravo

erreur

Valider

REtirerle dernier trait

Recommencer

Exemple

Consignes

Relier les bornes du buzzer aux bornes numériques de la carte Arduino (cliquer sur les points à relier) qui correspondent au sketch ci-dessous : // Programme pour Jouer une mélodie sur un haut Parleur via une carte Arduino void setup() { tone(7, 440, 500); delay(DUREE * 1.30); noTone(7); } void loop() { } Remarque : par commodité, on connecte un fil noir à la masse (ground)

Exemple de montage qui correspond au sketch ci-dessous : // Programme pour Jouer une mélodie sur un haut Parleur via une carte Arduino void setup() { tone(2, 220, 1000); delay(DUREE * 1.30); noTone(2); } void loop() { } Remarque : par commodité, on connecte un fil noir à la masse (ground) On branche le buzzer (haut parleur) entre la broche GRD (ground) et la broche numérique 2 :

Pour relier deux points : Clic sur le premier point pui Clic sur le second point

Replay ?

Pour travailler sur le script Python via Capytale, CLIC ICI et se connecter avec ses identifiants ENT

Pour travailler sur le script Python via Trinket, CLIC ICI

Tu es prêt à manipuler !Tu peux maintenant cliquer ici pour consulter le site pour suivre le Protocole Expérimental

Montre cette diapositive à ton professeur pour attester de ta réussite à cette activitéet obtenir ainsi les points qui lui sont réservés

Les éléments 'point' existent en trois tailles.N'en choisir qu'une !

2

Bravo

erreur

Valider

REtirerle dernier trait

Recommencer

Exemple

Consignes

Relier les bornes du buzzer aux bornes numériques de la carte Arduino (cliquer sur les points à relier) qui correspondent au sketch ci-dessous : // Programme pour Jouer une mélodie sur un haut Parleur via une carte Arduino void setup() { tone(7, 440, 500); delay(DUREE * 1.30); noTone(7); } void loop() { } Remarque : par commodité, on connecte un fil noir à la masse (ground)

Exemple de montage qui correspond au sketch ci-dessous : // Programme pour Jouer une mélodie sur un haut Parleur via une carte Arduino void setup() { tone(2, 220, 1000); delay(DUREE * 1.30); noTone(2); } void loop() { } Remarque : par commodité, on connecte un fil noir à la masse (ground) On branche le buzzer (haut parleur) entre la broche GRD (ground) et la broche numérique 2 :

Pour relier deux points : Clic sur le premier point pui Clic sur le second point

Replay ?

Pour travailler sur le script Python via Capytale, CLIC ICI et se connecter avec ses identifiants ENT

Pour travailler sur le script Python via Trinket, CLIC ICI

Tu es prêt à manipuler !Elève de Mme Fourcassier, Tu peux maintenant cliquer ici pour commander la carte Arduino via Capytale

Replay ?

Pour travailler sur le script Python via Capytale, CLIC ICI et se connecter avec ses identifiants ENT

Pour travailler sur le script Python via Trinket, CLIC ICI

Tu es prêt à manipuler !Elève de Mme Fourcassier :

Les éléments 'point' existent en trois tailles.N'en choisir qu'une !

2

Bravo

erreur

Valider

REtirerle dernier trait

Recommencer

Exemple

Consignes

Relier les bornes du buzzer aux bornes numériques de la carte Arduino (cliquer sur les points à relier) qui correspondent au sketch ci-dessous : // Programme pour Jouer une mélodie sur un haut Parleur via une carte Arduino void setup() { tone(7, 440, 500); delay(DUREE * 1.30); noTone(7); } void loop() { } Remarque : par commodité, on connecte un fil noir à la masse (ground)

Exemple de montage qui correspond au sketch ci-dessous : // Programme pour Jouer une mélodie sur un haut Parleur via une carte Arduino void setup() { tone(2, 220, 1000); delay(DUREE * 1.30); noTone(2); } void loop() { } Remarque : par commodité, on connecte un fil noir à la masse (ground) On branche le buzzer (haut parleur) entre la broche GRD (ground) et la broche numérique 2 :

Pour relier deux points : Clic sur le premier point pui Clic sur le second point

/*Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°8 */ // Définition des constantes fréquence des notes. Exemple "NOTE_do3" contient la valeur 262 Hz :#define NOTE_do3 262 // Définition de la durée de la note en milliseconde :#define DUREE 2000 // à exécuter une fois au début du programme : void setup() { // joue une note : la fonction tone envoie un signal carré sur la broche 8 de fréquence et de durée donnée // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ) tone(8, NOTE_do3, DUREE); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); /******************************************************* TRAVAIL A FAIRE : RAJOUTER UNE NOTE. NE PAS OUBLIER D'ATTENDRE LA FIN DE LA NOTE AVANT DE JOUER LA SUIVANTE Par exemple : tone(8, 391, DUREE); delay(DUREE * 1.30); *******************************************************/ // Stoppe le signal par sécurité : noTone(8); } // à exécuter indéfiniment en boucle :void loop() { // On ne fait rien }

On les reconnait grâce aux symboles :// au début d'une ligne de commentaires/* au début d'un paragraphe de commentaires*/ en fin de paragraphe de commentaires

Consignes

LESBLOCS

Next

Bloc 3

Bloc 2

Bloc 1

#define NOTE_do3 262

#define DUREE 2000

void setup() {

tone(8, NOTE_do3, DUREE);

delay(DUREE * 1.30);

noTone(8);

}

void loop() {

}

1. Prélever la couleur ici

2. Colorier là

Attribue la bonne couleur à chaque ligne de sketch (autre qu'un commentaire marron) en coloriant le petit rectangle présent devant chaque ligne Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouve n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

Un projet Arduino peut être structuré en trois types de blocs : Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouve n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

LESFONCTIONS

/* Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°7 */// à exécuter une fois au début du programme : void setup() { // joue un do4 : la fonction tone envoie un signal carré sur la broche 7 de fréquence 580 Hz et de durée 1000 ms // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ); tone( 7 , 580 , 1000 ); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); // joue un mi5 : la fonction tone envoie un signal carré sur la broche 7 de durée 500 ms et de fréquence 1319 Hz // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ); tone( , , ); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); // Stoppe le signal par sécurité : noTone( ); } // à exécuter indéfiniment en boucle :void loop() { // On ne fait rien }

Consignes

Next

500|mot2|mot3|mot4

1319|mot2|mot3|mot4

7|mot2|mot3|mot4

Modifier le sketch pour qu'il corresponde aux commentaires, c'est à dire : jouer

  • un mi5 de fréquence 1319 Hz
  • pendant 500 ms
en plus de jouer
  • un do4 de fréquence 580 Hz
  • pendant 1000 ms
le tout en branchant le HP entre la broche GRd (Ground) et la broche numérique n°7 comme indiqué sur le schéma ci-dessous :

mot1|mot2|mot3|mot4

Page de création

/* Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°8 */ // Définition des constantes fréquence des notes. Exemple "NOTE_do3" contient la valeur 262 Hz : // Définition de la durée de la note en milliseconde : // à exécuter une fois au début du programme : // joue une note : la fonction tone envoie un signal carré sur la broche 8 de fréquence et de durée donnée // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) /******************************************************* TRAVAIL A FAIRE : RAJOUTER UNE NOTE. NE PAS OUBLIER D'ATTENDRE LA FIN DE LA NOTE AVANT DE JOUER LA SUIVANTE Par exemple : tone(8, 391, DUREE); delay(DUREE * 1.30); *******************************************************/ // Stoppe le signal par sécurité : // à exécuter indéfiniment en boucle : // On ne fait rien

/* Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°8 */ // Définition des constantes fréquence des notes. Exemple "NOTE_do3" contient la valeur 262 Hz :#define NOTE_do3 262 // Définition de la durée de la note en milliseconde :#define DUREE 2000 // à exécuter une fois au début du programme : void setup() { // joue une note : la fonction tone envoie un signal carré sur la broche 8 de fréquence et de durée donnée // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ); tone(8, NOTE_do3, DUREE); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); /******************************************************* TRAVAIL A FAIRE : RAJOUTER UNE NOTE. NE PAS OUBLIER D'ATTENDRE LA FIN DE LA NOTE AVANT DE JOUER LA SUIVANTE Par exemple : tone(8, 391, DUREE); delay(DUREE * 1.30); *******************************************************/ // Stoppe le signal par sécurité : noTone(8); } // à exécuter indéfiniment en boucle :void loop() { // On ne fait rien }

On les reconnait grâce aux symboles :// au début d'une ligne de commentaires/* au début d'un paragraphe de commentaires*/ en fin de paragraphe de commentaires

On les reconnait grâce aux symboles :// au début d'une ligne de commentaires/* au début d'un paragraphe de commentaires*/ en fin de paragraphe de commentaires

LESCOMMENTAIRES

LESCOMMENTAIRES

Survole avec la sourissur le sketch pour repérer les commentairesCLIC sur l'un pour passer à la page suivante

Next

Fin d'un paragraphe de commentaires

Début d'un paragraphe de commentaires

Fin d'un paragraphe de commentaires

Début d'une ligne de commentaires

Début d'une ligne de commentaires

Début d'une ligne de commentaires

Début d'une ligne de commentaires

Début d'une ligne de commentaires

Début d'une ligne de commentaires

Début d'un paragraphe de commentaires

Début d'une ligne de commentaires

Début d'une ligne de commentaires

Début d'une ligne de commentaires

Paragraphe de commentaires

Ligne de commentaires

Ligne de commentaires

Ligne de commentaires

Ligne de commentaires

Ligne de commentaires

Ligne de commentaires

Ligne de commentaires

Ligne de commentaires

Paragraphe de commentaires

/* Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°8 */ // Définition des constantes fréquence des notes. Exemple "NOTE_do3" contient la valeur 262 Hz :#define NOTE_do3 262 // Définition de la durée de la note en milliseconde :#define DUREE 2000 // à exécuter une fois au début du programme : void setup() { // joue une note : la fonction tone envoie un signal carré sur la broche 8 de fréquence et de durée donnée // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ) tone(8, NOTE_do3, DUREE); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); /******************************************************* TRAVAIL A FAIRE : RAJOUTER UNE NOTE. NE PAS OUBLIER D'ATTENDRE LA FIN DE LA NOTE AVANT DE JOUER LA SUIVANTE Par exemple : tone(8, 391, DUREE); delay(DUREE * 1.30); *******************************************************/ // Stoppe le signal par sécurité : noTone(8); } // à exécuter indéfiniment en boucle :void loop() { // On ne fait rien }

Consignes

On les reconnait grâce aux symboles :// au début d'une ligne de commentaires/* au début d'un paragraphe de commentaires*/ en fin de paragraphe de commentaires

LESBLOCS

Survole avec la sourissur le sketch pour repérer les commentairesCLIC sur l'un pour passer à la page suivante

Next

#define NOTE_do3 262

#define DUREE 2000

void setup() {

tone(8, NOTE_do3, DUREE);

delay(DUREE * 1.30);

noTone(8);

}

void loop() {

}

Bloc 3

Bloc 2

Bloc 1

Attribue la bonne couleur à chaque ligne de sketch (autre qu'un commentaire marron) Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouve n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

Un projet Arduino peut être structuré en trois types de blocs : Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouvent n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

/* Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°8 */ // Définition des constantes fréquence des notes. Exemple "NOTE_do3" contient la valeur 262 Hz :#define NOTE_do3 262 // Définition de la durée de la note en milliseconde :#define DUREE 2000 // à exécuter une fois au début du programme : void setup() { // joue une note : la fonction tone envoie un signal carré sur la broche 8 de fréquence et de durée donnée // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ) tone(8, NOTE_do3, DUREE); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); /******************************************************* TRAVAIL A FAIRE : RAJOUTER UNE NOTE. NE PAS OUBLIER D'ATTENDRE LA FIN DE LA NOTE AVANT DE JOUER LA SUIVANTE Par exemple : tone(8, 391, DUREE); delay(DUREE * 1.30); *******************************************************/ // Stoppe le signal par sécurité : noTone(8); } // à exécuter indéfiniment en boucle :void loop() { // On ne fait rien }

On les reconnait grâce aux symboles :// au début d'une ligne de commentaires/* au début d'un paragraphe de commentaires*/ en fin de paragraphe de commentaires

Consignes

LESBLOCS

Survole avec la sourissur le sketch pour repérer les commentairesCLIC sur l'un pour passer à la page suivante

Next

Bloc 3

Bloc 2

Bloc 1

#define NOTE_do3 262

#define DUREE 2000

void setup() {

tone(8, NOTE_do3, DUREE);

delay(DUREE * 1.30);

noTone(8);

}

void loop() {

}

Attribue la bonne couleur à chaque ligne de sketch (autre qu'un commentaire marron) Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouve n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

Un projet Arduino peut être structuré en trois types de blocs : Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouvent n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

/* Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°8 */ // Définition des constantes fréquence des notes. Exemple "NOTE_do3" contient la valeur 262 Hz :#define NOTE_do3 262 // Définition de la durée de la note en milliseconde :#define DUREE 2000 // à exécuter une fois au début du programme : void setup() { // joue une note : la fonction tone envoie un signal carré sur la broche 8 de fréquence et de durée donnée // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ) tone(8, NOTE_do3, DUREE); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); /******************************************************* TRAVAIL A FAIRE : RAJOUTER UNE NOTE. NE PAS OUBLIER D'ATTENDRE LA FIN DE LA NOTE AVANT DE JOUER LA SUIVANTE Par exemple : tone(8, 391, DUREE); delay(DUREE * 1.30); *******************************************************/ // Stoppe le signal par sécurité : noTone(8); } // à exécuter indéfiniment en boucle :void loop() { // On ne fait rien }

Consignes

On les reconnait grâce aux symboles :// au début d'une ligne de commentaires/* au début d'un paragraphe de commentaires*/ en fin de paragraphe de commentaires

LESBLOCS

Survole avec la sourissur le sketch pour repérer les commentairesCLIC sur l'un pour passer à la page suivante

Next

Bloc 3

Bloc 2

Bloc 1

#define NOTE_do3 262

#define DUREE 2000

void setup() {

tone(8, NOTE_do3, DUREE);

delay(DUREE * 1.30);

noTone(8);

}

void loop() {

}

Attribue la bonne couleur à chaque ligne de sketch (autre qu'un commentaire marron) Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouve n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

Un projet Arduino peut être structuré en trois types de blocs : Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouvent n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

/* Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°8 */ // Définition des constantes fréquence des notes. Exemple "NOTE_do3" contient la valeur 262 Hz :#define NOTE_do3 262 // Définition de la durée de la note en milliseconde :#define DUREE 2000 // à exécuter une fois au début du programme : void setup() { // joue une note : la fonction tone envoie un signal carré sur la broche 8 de fréquence et de durée donnée // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ) tone(8, NOTE_do3, DUREE); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); /******************************************************* TRAVAIL A FAIRE : RAJOUTER UNE NOTE. NE PAS OUBLIER D'ATTENDRE LA FIN DE LA NOTE AVANT DE JOUER LA SUIVANTE Par exemple : tone(8, 391, DUREE); delay(DUREE * 1.30); *******************************************************/ // Stoppe le signal par sécurité : noTone(8); } // à exécuter indéfiniment en boucle :void loop() { // On ne fait rien }

On les reconnait grâce aux symboles :// au début d'une ligne de commentaires/* au début d'un paragraphe de commentaires*/ en fin de paragraphe de commentaires

Consignes

LESBLOCS

Survole avec la sourissur le sketch pour repérer les commentairesCLIC sur l'un pour passer à la page suivante

Next

Bloc 3

Bloc 2

Bloc 1

#define NOTE_do3 262

#define DUREE 2000

void setup() {

tone(8, NOTE_do3, DUREE);

delay(DUREE * 1.30);

noTone(8);

}

void loop() {

}

Attribue la bonne couleur à chaque ligne de sketch (autre qu'un commentaire marron) Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouve n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

Un projet Arduino peut être structuré en trois types de blocs : Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouvent n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

/*Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°8 */ // Définition des constantes fréquence des notes. Exemple "NOTE_do3" contient la valeur 262 Hz :#define NOTE_do3 262 // Définition de la durée de la note en milliseconde :#define DUREE 2000 // à exécuter une fois au début du programme : void setup() { // joue une note : la fonction tone envoie un signal carré sur la broche 8 de fréquence et de durée donnée // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ) tone(8, NOTE_do3, DUREE); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); /******************************************************* TRAVAIL A FAIRE : RAJOUTER UNE NOTE. NE PAS OUBLIER D'ATTENDRE LA FIN DE LA NOTE AVANT DE JOUER LA SUIVANTE Par exemple : tone(8, 391, DUREE); delay(DUREE * 1.30); *******************************************************/ // Stoppe le signal par sécurité : noTone(8); } // à exécuter indéfiniment en boucle :void loop() { // On ne fait rien }

Consignes

On les reconnait grâce aux symboles :// au début d'une ligne de commentaires/* au début d'un paragraphe de commentaires*/ en fin de paragraphe de commentaires

LESBLOCS

Survole avec la sourissur le sketch pour repérer les commentairesCLIC sur l'un pour passer à la page suivante

Next

Bloc 3

Bloc 2

Bloc 1

tone(8, NOTE_do3, DUREE);

void loop() {

delay(DUREE * 1.30);

}

noTone(8);

}

void setup() {

#define NOTE_do3 262

#define DUREE 2000

Attribue la bonne couleur à chaque ligne de sketch (autre qu'un commentaire marron) Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouve n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

Un projet Arduino peut être structuré en trois types de blocs : Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouvent n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

/* Joue une mélodie Circuit: HP connecté sur la sortie numérique (= digital en anglais) n°8 */ // Définition des constantes fréquence des notes. Exemple "NOTE_do3" contient la valeur 262 Hz :#define NOTE_do3 262 // Définition de la durée de la note en milliseconde :#define DUREE 2000 // à exécuter une fois au début du programme : void setup() { // joue une note : la fonction tone envoie un signal carré sur la broche 8 de fréquence et de durée donnée // Syntaxe : tone ( numéro de pin, fréquence de la note ( en Hz), durée de la note (en ms) ) tone(8, NOTE_do3, DUREE); // A partir du début de la note, on attend la durée de la note plus un petit peu plus pour séparer les notes (ici durée * 1.3) delay(DUREE * 1.30); /******************************************************* TRAVAIL A FAIRE : RAJOUTER UNE NOTE. NE PAS OUBLIER D'ATTENDRE LA FIN DE LA NOTE AVANT DE JOUER LA SUIVANTE Par exemple : tone(8, 391, DUREE); delay(DUREE * 1.30); *******************************************************/ // Stoppe le signal par sécurité : noTone(8); } // à exécuter indéfiniment en boucle :void loop() { // On ne fait rien }

Consignes

On les reconnait grâce aux symboles :// au début d'une ligne de commentaires/* au début d'un paragraphe de commentaires*/ en fin de paragraphe de commentaires

LESBLOCS

Survole avec la sourissur le sketch pour repérer les commentairesCLIC sur l'un pour passer à la page suivante

Next

Bloc 3

Bloc 2

Bloc 1

#define NOTE_do3 262

#define DUREE 2000

void setup() {

tone(8, NOTE_do3, DUREE);

delay(DUREE * 1.30);

noTone(8);

}

void loop() {

}

Attribue la bonne couleur à chaque ligne de sketch (autre qu'un commentaire marron) Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouve n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

Un projet Arduino peut être structuré en trois types de blocs : Bloc n°1 : On y déclare les variables. Bloc n°2 : On y initialise et configure des entrées et des sorties. Tout ce qui s'y trouvent n'est exécuté qu'une fois. Bloc n°3 : C 'est la boucle principale, le programme y est exécuté à l'infini.

De forme à forme et sur texte

Le matériel :Déposer sur la paillasse le matériel nécessaire pour produire un signal sonore à l'aide d'un buzzer.

Next

Pour produire un signal sonore de fréquence donnée, on peut utiliser

  • un microcontrôleur intégré dans une carte Arduino
  • un ordinateur pour commander le microcontrôleur (et l'alimenter)
  • un buzzer (et ses deux fils de connexion) pour émettre le son
  • un câble USB pour relier la carte Arduino à l'ordinateur

Règle

Rapporteur

Equerre

Ampoule

Conducteur ohmique (résistance)

Multimètre

Ordinateur

Carte Arduino comportant le microcontrôleur

Cable USB permettant de relier la carte Arduino à l'ordinateur (et ainsi de commander et d'alimenter la carte Arduino)

Buzzer