lundi 29 avril 2019

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.

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();

samedi 13 avril 2019

le simulateur

Présentation


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, …

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, …

Mblock


Pédagogie active

La pédagogie active désigne un ensemble de méthodes pédagogiques qui ont toutes en commun la volonté de rendre l’élève acteur de ses apprentissages.
Ce type de pédagogie part du principe que c’est en faisant que l’on apprend, à l’inverse de la pédagogie traditionnelle qui part de la théorie pour aller vers la pratique. Elle privilégie les situations authentiques de recherche, d’investigation au cours desquels l’élève doit comprendre et maitriser les différentes ressources que l’enseignant met à sa disposition .
Ces différentes situations ont été formalisées d’un point de vue théorique tout au long du XXe siècle. Quelques postulats liés à la pédagogie active :
– On apprend par l’expérience pratique, pas seulement dans un contexte académique => apprentissage expérientiel
– On apprend mieux avec les autres => socio-constructivisme. apprentissage collaboratif
– On apprend mieux quand on rencontre un problème particulier => apprentissage par problème
– On apprend mieux quand on est impliqué dans un projet particulier => apprentissage par projet


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


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