ch 12 AE Produire un son avec Arduino
Virginie Fourcassier
Created on November 9, 2021
2nde 2019 Physique Arduino Produire un son
More creations to inspire you
SLYCE DECK
Personalized
LET’S GO TO LONDON!
Personalized
ENERGY KEY ACHIEVEMENTS
Personalized
HUMAN AND SOCIAL DEVELOPMENT KEY
Personalized
CULTURAL HERITAGE AND ART KEY ACHIEVEMENTS
Personalized
DOWNFALLL OF ARAB RULE IN AL-ANDALUS
Personalized
ABOUT THE EEA GRANTS AND NORWAY
Personalized
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
- 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 )
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
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
- un do4 de fréquence 580 Hz
- pendant 1000 ms
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
- un do4 de fréquence 580 Hz
- pendant 1000 ms
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