Affichage des articles dont le libellé est arduino. Afficher tous les articles
Affichage des articles dont le libellé est arduino. Afficher tous les articles

lundi 22 avril 2019

Mesurer une distance avec un capteur à ultrason HC-SR04

Activité1:
Branchez un capteur ultrason SR04 avec un arduino et mesurer la distance entre un objet et le capteur.
Activité2:
ajouter deux Led , une verte s'allume tant que la distance  entre le capteur ultrason et l'objet est supérieur ou égale à 50 cm, et une rouge  s'allume tant que la distance  est inférieur à 50 cm.

Activité3:
ajouter un buzzer qui fait un son d'alerte lorsque la distance entre le capteur ultrason et l'objet est inférieur à 50 cm.


accéder à Blockly@rduino
https://techrobotique.blogspot.com/2019/02/attention-au-branchement-direct-de-la.html

samedi 20 avril 2019

Ultrasonic Sensor

Qu'est-ce qu'un Ultrasonic sensor ?


Un capteur à ultrasons est un appareil qui mesure la distance à un objet en utilisant des ondes sonores.
Cela fonctionne en envoyant une onde sonore à la fréquence des ultrasons et attend qu'elle rebondisse de l'objet. Ensuite, le délai entre la transmission du son et la réception du son est utilisé pour calculer la distance.

utilisez la formule :
Distance = (vitesse du son * délai) / 2 

Brochage du capteur  HC-SR04




VCCalimentation électrique du capteur de distance à ultrasons HC-SR04 auquel nous connectons la broche 5V de l’Arduino.
Trig(Trigger)utilisée pour déclencher les impulsions ultrasoniques.
Echoproduit une impulsion lorsque le signal réfléchi est reçu. La durée de l'impulsion est proportionnelle au temps qu'il a fallu pour détecter le signal transmis.
GNDdevrait être connecté à la terre de Arduino.

Comment fonctionne le capteur HC-SR04?


Le capteur à Ultrason émet des ondes dit ultrason qui est une onde mécanique et élastique, qui se propage au travers de supports fluides, solides, gazeux ou liquides.
La gamme de fréquences des ultrasons se situe entre 16 000 et 10 000 000 HERTZ, trop élevées pour être perçues par l'oreille humaine.
 Mais dans notre cas cette onde est réfléchis au contact d’un support solide.

  1. On envoie une impulsion HIGH de 10µs sur la broche TRIGGER du capteur.
  2. Le capteur envoie alors une série de 8 impulsions ultrasoniques à 40KHz (inaudible pour l'être humain). 
  3.  Les ultrasons se propagent dans l'air jusqu'à toucher un obstacle et retourne dans l'autre sens vers le capteur. 
  4.  Le capteur détecte l'écho et clôture la prise de mesure. 
 Le signal sur la broche ECHO du capteur reste à HIGH durant les étapes 3 et 4, ce qui permet de mesurer la durée de l'aller-retour des ultrasons et donc de déterminer la distance. 
 N.B. Il y a toujours un silence de durée fixe après l'émission des ultrasons pour éviter de recevoir prématurément un écho en provenance directement du capteur.
 

Supposons que nous ayons un objet devant le capteur à une distance inconnue et que nous recevions une impulsion d'une largeur de 500 uS sur la broche Echo. Calculons maintenant la distance qui sépare l’objet du capteur. Nous allons utiliser l'équation ci-dessous.
 Distance = vitesse x temps /2
Sachant que la vitesse= 340 m / s = 0,034 cm / us. Alors la  Distance = (0,034 cm / us x 500 us) /2 = 8,5 cm.
 Nous savons donc maintenant que l’objet se trouve à 8,5 centimètres du capteur.

Attention : -la borne GND doit être connectée en premier, avant l'alimentation sur Vcc.
                   -la couverture est entre  2cm et 4m à une certitude de 3mm, avec un angle de visée 15°. L’écart est                      de 3 cm avec un obstacle à 2 m, donc une marge d’erreur inférieure à 2 %.

lundi 15 avril 2019

Serial (ou comment lire et écrire)

Présentation



  • La librairie Serial est une librairie essentielle du langage Arduino qui permet de visualiser sur le PC des messages reçus depuis la carte Arduino ou de commander la carte Arduino
  • En couplant l'utilisation de cette librairie avec l'interface programmable graphique Processing côté PC, on dispose d'un outil extrêmement puissant pour réaliser toute sortes d'affichages graphiques sur le PC ou d'interactions entre la carte et le PC (commande de la carte Arduino avec la souris ou le clavier !).
  • Elle est utilisée pour les communications par le port série entre la carte Arduino et un ordinateur ou d'autres composants. Toutes les cartes Arduino ont au moins un port Série (également désigné sous le nom de UART ou USART) : Serial. Ce port série communique sur les broches 0 (RX) et 1 (TX) avec l'ordinateur via le port USB.(C'est pourquoi, si vous utilisez cette fonctionnalité, vous ne pouvez utiliser les broches 0 et 1 en tant qu'entrées ou sorties numériques.)
  • Vous pouvez utiliser le terminal série intégré à l'environnement Arduino pour communiquer avec une carte Arduino. Il suffit pour cela de cliquer sur le bouton du moniteur série dans la barre d'outils puis de sélectionner le même débit de communication que celui utilisé dans l'appel de la fonction begin().
  • La carte Arduino Mega dispose de trois ports série supplémentaires : Serial1 sur les broches 19 (RX) et 18 (TX), Serial2 sur les broches 17 (RX) et 16 (TX), Serial3 sur les broches 15 (RX) et 14 (TX). 

Les fonctions de la librairie



−begin()
−available()
−read()
−flush()
−print()
−println()
−write()
−end()


Serial.begin():

Description:
−Fixe le débit de communication en nombre de caractères par seconde (l'unité est le baud) pour la communication série.
−Pour communiquer avec l'ordinateur, utiliser l'un de ces débits : 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, or 115200. Vous pouvez, également, spécifier d'autres débits - par exemple, pour communiquer sur les broches 0 et 1 avec un composant qui nécessite un débit particulier.

Syntaxe:  Serial.begin(debit);

Paramètres:
 −int debit: debit de communication en caractères par seconde (ou baud). Pour communiquer avec l'ordinateur, utiliser l'un de ces débits : 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, or 115200.
En pratique utiliser une valeur comprise entre 9600 et 115200. Typiquement 115200 fonctionne très bien ! (Plus le débit est élevé et plus la communication est rapide... )

Serial.available():

Description:
−Donne le nombre d'octets (caractères) disponible pour lecture dans la file d'attente (buffer) du port série.
Syntaxe: Serial.available();
Valeur renvoyée:
−Le nombre d'octet disponible pour lecture dans la file d'attente (buffer) du port série, ou 0 si aucun caractère n'est disponible. Si une donnée est arrivée, Serial.available() sera supérieur à 0. La file d'attente du buffer peut recevoir jusqu'à 128 octets.

Serial.read():

Description:
−Cette fonction permet de lire le premier caractère disponible dans la mémoire tampon de réception. La variable « caractère » est de type int. La valeur retournée est -1 si aucun caractère n’a été reçu (mémoire tampon vide).
Syntaxe: Serial.read(caractère); 



Serial.flush():

Description:
−Cette fonction permet de vider la mémoire tampon.
Syntaxe: Serial.flush(); 


Serial.print():

Syntaxe: Serial.print(Donnée, format); 
Description:
−Cette fonction permet d’émettre une ou plusieurs données sur la liaison série en précisant le codage utilisé.
Si la variable « Format » n’est pas précisée, une donnée numérique sera considérée comme décimale, une chaîne de caractères sera transmise tel quelle et une donnée à virgule flottante sera transmise uniquement avec deux décimales.
Sinon la variable « Format » permet de préciser le codage ou la base de numération pour les données numériques.
Elle peut prendre une des valeurs suivantes : BIN (binaire), OCT (Octal), HEX (hexadécimal), DEC (Décimal) ou     BYTE (codage ASCII).
Pour les données à virgule flottante, la variable « Format » peut prendre une valeur numérique comprise entre 0 et 7 correspondant au nombre de décimales à transmettre.
Serial.print(100101,BIN) ; // Transmission de la donnée (100101)2
Serial.print(4B,HEX) ; // Transmission de la donnée (4B)16 
Serial.print(K,BYTE) ; // Transmission de la donnée (K)ASCII 
Serial.print(1.23456,0) ; // Transmission de la donnée 1 
Serial.print(1.23456,5) ; // Transmission de la donnée 1.23456


Serial.write():

Description:
−Cette fonction permet d’émettre une ou plusieurs données sur la liaison série sous la forme binaire brute. Si la donnée est de type chaîne de caractères, les caractères sont transmis, sous le format ASCII, les uns après les autres.
Syntaxe: Serial.write(Donnée); 


Serial.end():

Description:
−Cette fonction permet de désactiver la liaison série asynchrone et donc de libérer les broches numériques 0 et 1.
Syntaxe: Serial.end();

mercredi 10 avril 2019

Programmation par bloc et Simulation

Programmation par Blocs


Il existe plusieurs logiciels proposant un langage de programmation par blocs.

Certains utilisent l’éditeur graphique Scratch. En technologie, plusieurs solutions sont proposées. L’une d’elles, particulièrement simple, ne demande qu’un navigateur (Firefox fonctionne bien) et un accès internet (uniquement pour installer un plugin). Il s’agit de Blockly@rduino ,pour générer le code C++,
 ou MBlock pour générer ainsi le code Arduino C ,et  le code Python.


Procédure d'installation de Blockly@rduino


1. Téléchargez le fichier compressé.

 2. Décompressez cette archive n’importe où dans votre ordinateur (l’endroit importe peu).
 3. Double-cliquez sur le fichier index.html qui se trouve à la racine du dossier que vous venez de créer en décompressant l’archive : votre navigateur (Firefox ou Chrome, donc) doit ouvrir cette page.
4. Installez le plugin Codebender à partir de cette adresse : https://codebender.cc/static/plugin
5. A partir de maintenant, vous n’avez plus besoin d’un accès à internet.

Exemple:
Clignoter une LED.

Configuration:
a. Passez l’interface en français (en haut à droite de la page).
b. Cliquez dans le menu gauche sur Code Arduino.
c. Choisissez votre carte Arduino dans le menu déroulant Please select a board (en haut de la fenêtre).
d. Branchez votre carte et le câble USB : le logiciel détecte votre carte et vous propose un port à la place de No ports detected. Ici le COM6.

Création de programme:
cette création se fait simplement en faisant des glisser-déposer des blocs :
a. Cliquez sur le menu Blocs puis le sous-menu Arduino.
b. Faites glisser le bloc Initialisation (setup) / répéter indéfiniment (loop) sur la surface de travail.
c. Si on souhaite faire clignoter la DEL située sur la broche 8, il suffit ensuite de faire glisser les blocs correspondants et modifier leurs valeurs, afin d’obtenir ce programme (n’hésitez pas à cliquer droit sur les blocs que vous avez déjà positionné et choisissez Dupliquer) :

Téléverser le programme:
a. Cliquez sur le menu Code Arduino. Vous remarquez au passage que le logiciel a traduit vos blocs en programme C++…
b. Cliquez simplement sur le bouton Téléverser dans l’Arduino.

Programmation par blocs avec MBLOCK


Blockly@rduino est une application Web. Ses fonctionnalités peuvent être réduites.

Mblock est une application Windows (ou Mac) et est installée en local. Son interface se rapproche de Scratch (au moins dans un premier temps), logiciel largement utilisé en mathématiques.

Installation et configuration de Mbocks :
1. Téléchargez, installer et lancez Mblock (!).
2. Choisissez le français dans le menu Choix de la langue.
3. Choisissez Arduino Uno dans le menu Choix de la carte.
4. Connectez la carte :
       a. Branchez le câble USB à la carte, puis à votre ordinateur.
       b. Dans le menu Connecter > Par port série (COM), choisissez le nouveau port.
5. Dans le menu Edition, sélectionnez le Mode Arduino. L’interface se modifie comme ci-dessous (le code généré dynamiquement sera ainsi lisible).

Exemple:
Le programme ci-contre a été généré par Mblock.
Il permet d’allumer la DEL reliée à la broche 12 quand le bouton poussoir relié à la broche 8 a été pressé (rien ne permet d’éteindre la DEL sauf à appuyer sur le bouton Reset de la carte Arduino).
Les variables sens1 et sens2 sont réalisées à partir du menu Blocs et variables de Mblock.
À vous de jouer !
Vous avez tous les éléments pour réaliser votre programme avec Mblock ! Vous pouvez aussi tester ce programme avec Blockly@rduino.

Le simulateur


Avant de vous lancer dans l’achat d’un Arduino, il est possible de réaliser des montages Arduino basiques grâce à un simulateur en ligne gratuit .

On distingue plusieurs exemple de simulateurs; soient en ligne ou hors ligne.  Tinkercad d'autodesk est l'un des simulateurs en ligne le plus utilisé 




– application web, avec aucune installation donc, qui continue de fonctionner en cas de perte de la connexion Internet,

– permet de créer ou modifier très simplement un circuit,

– permet de simuler très simplement pas mal de fonctions électroniques,

– permet de simuler divers moteurs et d’afficher leur vitesse de rotation,

– permet d’intégrer des multimètres ou des oscilloscopes,

– permet d’interagir avec le circuit et les appareils de mesure pendant la simulation : boutons poussoirs, capteurs, …

– permet d’intégrer une carte Arduino et d’écrire du code en C ou avec des blocs du langage Scratch (un fichier .ino peut être généré) qui est prise en compte dans la simulation de manière assez fiable semble-t-il,

– permet d’utiliser le moniteur série pendant une simulation (pour afficher des variables par exemple),

– permet de partager un projet Tinkecad avec les élèves avec un simple lien, chaque élève pouvant faire ses propres simulations, modifications, …

mardi 2 avril 2019

La structure et les étapes de développement d’un programme

Structure


Un programme destiné à une carte ARDUINO est constitué de 3 parties :

La première partie permet de définir les constantes et les variables en déclarant leur type. Elle permet également l’inclusion des bibliothèques utilisées dans le programme au moyen de #include.
 La fonction setup() contient les instructions d’initialisation ou de configuration des ressources de la carte comme par exemple, la configuration en entrée ou sorties des broches d’E/S numériques, la définition de la vitesse de communication de l’interface série, etc.. Cette fonction n’est exécutée qu’une seule fois juste après le lancement du programme.
 La fonction loop() contient les instructions du programme à proprement parlé. Cette fonction sera répétée indéfiniment tant que la carte ARDUINO restera sous tension.

Étapes de développement


dimanche 31 mars 2019

Afficheur 7 segments

Présentation

Un afficheur 7 segments est simplement l’assemblage de sept DEL, dont les cathodes (ou plus rarement anodes) sont reliées ensembles.
Sur la plupart, il existe une 8ème led pour le point décimal.
Chaque segments (nommés de A à G) se commande donc individuellement. Il suffit donc de décider pour chaque chiffre quels segments doivent êtres allumés.
La notation en binaire simplifie la lecture des valeurs :
pour le chiffre zéro, les segments A à F doivent êtres allumés, et G éteint.
Pour le chiffre un, seuls les segments B et C doivent être allumés. Je vous laisse compléter les chiffres suivants dans le squelette.
Type d'afficheur et brochage

Il existe deux versions d'afficheurs : une version "à anode commune" (abrégée CA, toutes les anodes sont reliées ensembles) et une autre "à cathode commune" (abrégée CC, toutes les cathodes sont reliées ensembles).
Chaque PIN correspond à un segment; par exemple PIN 1 correspond au segment E, PIN 7  au segment A , PIN 3,8  pour  GND  en cas de cathode commune, et 5V en cas d'anode commune.
Dans le cas d'une utilisation avec une carte Arduino, la version à anode commune se traduit par un LOW = segment allumé, HIGH = segment éteint. Pour la version à cathode commune, c'est plus "logique", avec LOW = segment éteint, HIGH = segment allumé.
La versions à cathode commune est la version la plus standard et la plus simple à utiliser.



mercredi 20 mars 2019

Gestion LCD (afficher un texte)

Brancher un Écran LCD 16x2 et y afficher un texte.

accéder à Blockly@rduino

vendredi 15 mars 2019

Créer un son avec Buzzer

Brancher un Buzzer à la carte Arduino et lui faire retentir un son avec une fréquence 523 Hz une durée du ton de 1 seconde.

accéder à Blockly@rduino

mercredi 13 mars 2019

Le Buzzer

c'est un composant électromagnétique ou piezzo électrique qui transforme l'énergie électrique en vibration, donc en son. Il existe 2 types de Buzzer : 
- le Buzzer actif, qui peut recevoir une tension continue. On le différencie du Buzzer passif, car l'électronique n'est pas apparent sur la face inférieur du buzzer. De plus le Buzzer actif possède souvent une étiquette sur le dessus. 

- le Buzzer passif,
qui fonctionne avec une tension alternative, dont la fréquence est généralement comprise entre  500 Hz et 5 kHz.  U=RI .
 Celui-ci fonctionnera donc sur une broche PWM.
On peut le reconnaitre aisément car sur la face du dessous (celle des broches) on peut voir les composants électroniques.
 
Attention ! 
 Comme indiqué sur le site Arduino.cc il est déconseillé d'utiliser les broches PWM 3 et 11, avec la fonction Tone.

Contrôler un servomoteur avec un bouton poussoir

Déclenche un servomoteur à partir d'un bouton poussoir pour lui faire prendre un angle défini dans le programme (ici par exemple 90°) pendant 2 secondes, puis reprendre sa position initiale (ici 0° par exemple).
 
accéder à Blockly@rduino

mardi 12 mars 2019

controler un servomoteur avec un potentiomètre

Brancher un servomoteur et lui faire varier l' angle avec un potentiomètre. 
accéder à Blockly@rduino

mardi 5 mars 2019

Contrôler un servomoteur ( donnant un angle)

Brancher un servomoteur et lui faire prendre un angle bien précis (ici par exemple 90°).
Dans cet exemple l'angle est choisit et définit directement dans le code. 
accéder à Blockly@rduino

samedi 2 mars 2019

Ajuster la luminosité d'une LED

Faire varier la luminosité d'une LED avec un potentiomètre.
Les potentiomètres agissent comme des résistances ajustables à l'aide d'un bouton.


jeudi 28 février 2019

varier la luminosité d'une LED

Activité1:
Varier l'intensité lumineuse d'une LED à l'aide d'un  programme qui permet de diminuer progressivement la luminosité jusqu'à éteindre la LED, puis la rallume progressivement jusqu'à atteindre sa luminosité maximum.
Activité2:
Faire varier la luminosité d'une LED avec un potentiomètre.
https://techrobotique.blogspot.com/2019/02/activite1-materiel-necessaire-1-carte.html

Contrôler une LED RVB

controler une LED RVB et lui donner la couleur désdirée.
exemple: RVB(255,0,255)


jeudi 7 février 2019

Gestion d'une LED avec bouton

Ce tutoriel permet d'allumer une simple led avec un bouton .

Allumer une LED en appuyant sur un bouton poussoir.

 

mercredi 30 janvier 2019

Gestion LCD (défiler texte)

Activité1:
Brancher un Écran LCD 16x2 et y afficher un texte.
Défiler le le texte à gauche.

Activité2:
Ajouter deux boutons (BoutonL, BoutonR).
le clique sur BoutonL permet de défiler le texte d'une position à gauche.
le clique sur BoutonL permet de défiler le texte d'une position à droite.

Activité3:
le clique sur BoutonL permet de défiler le texte de 16 positions à gauche.
le clique sur BoutonR permet de défiler le texte de 32 positions à droite.

Gestion afficheur 7 segments

Brancher un Afficheur 7 segments et y afficher les chiffres de 0 à 9.
accéder à Blockly@rduino

Gestion LCD(Afficher caractère spécial)

Activité1:
Brancher un Écran LCD 16x2 et y afficher un caractère spécial. 

NB: utiliser le générateur de caractère spécial pour générer le code du caractère pour  l'insérer dans votre programme Arduino.

Activité2:

  • Ajouter deux boutons ; le premier pour incrémenter  de 1 un chiffre "Click", et l'autre pour le décrémenter de 1, et sera affiché au début de la première ligne.
  • la variable "Click" est entier compris entre 0 et 8.
  • chaque valeur de 1 à 8 lui correspond un symbole  (voir l'image ci-dessus), qui sera affiché dans la deuxième ligne..
  • pour la valeur 0, il n'affiche rien. 

Gestion LCD (Deviner un chiffre)

Brancher un écran LCD 16*2 pour créer un jeux selon le principe suivant:
- le programme génère un entier R aléatoirement entre 0 et 99.
- le joueur devine un chiffre E entre 0 et 99.
- si R>E le programme affiche sur l'écran LCD "PLUS GRAND ".
- si R<E le programme affiche "PLUS PETIT ".
- si R=E le programme affiche "BRAVO".
le saisie de E peut être avec des boutons .

Capteur de recul avec le capteur HC-SR04

ce tutoriel permet de coder un radar de recul à l’aide de l’Arduino et de tous ces outils en utilisant un capteur ultrason.

 

Subscribe to our Newsletter

Contact our Support

Email us: robotscolaire@gmail.com

Our Team Members