Affichage des articles dont le libellé est généralité. Afficher tous les articles
Affichage des articles dont le libellé est généralité. Afficher tous les articles

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

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


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 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.

dimanche 3 mars 2019

Le servomoteur

 Qu'est-ce qu'un servomoteur ?




A la différence d'un moteur continu, le Servomoteur ne tourne pas sur lui-même de façon continu. Un servomoteur tourne certes sur un axe, mais suivant un angle allant généralement de 0 à 180°. Certains peuvent également faire plusieurs tours, on les appelle parfois des servotreuils, d'autre ne vont qu'à 90° maximum ou encore jusque 360°, voir même plusieurs tours sans jamais s'arrêter, on les appelle alors servomoteur à rotation continue.
  En réalité un servomoteur est un moteur continu équipé d'un réducteur (des engrenages), dont l'objectif est de réduire la vitesse et d'augmenter le couple (la puissance) ; et d’un potentiomètre qui permet au servomoteur de garder l’angle d’inclinaison choisit. En effet, l’un des intérêts des servomoteurs c’est de leur faire prendre et garder un angle.

 

Notions de couple


mais alors qu'est-ce que le couple ? Le couple exprimé en kg.cm (kilogramme.centimètre) indique la relation entre la longueur du palonnier (bras du servomoteur) et la force exercée sur le bras du servomoteur (par le poids de l'objet que l'on souhaite mettre en mouvement). Mais attention le Couple ne peut être effectif que si la Tension U nécessaire à son exécution est atteinte. 

Par exemple : un servomoteur avec un couple de 3,2 kg.cm permet de faire tourner sur son axe un objet de 3,2 kg sur un palonnier de 1 cm de long, ou alors faire tourner un objet d'un poids maximum de 320g sur un palonnier de 10 cm de long. Comme on peut le voir sur ce dessin
 
Autre exemple : un servomoteur fréquemment utilisé et vendu en modélisme ; appelé 9g possède un couple de 9g.cm ce qui lui permet de faire tourner un objet de 9g sur un axe de 1 cm de long. Il est pratique pour actionner les roues avant d'une voiture, les ailerons d'un avion radiocommandé, ou encore la barrière d'un passage à niveau...

Calculer le couple


pour calculer le couple, on utilisera la formule suivante :
 
avec Pmax : le poids maximal de l'objet à déplacer en kg.
avec C : le couple du servomoteur exprimé en kg.cm.
et d : la distance à laquelle est placé l'objet de l'axe, exprimé en cm.

Commander un servomoteur


pour contrôler un servomoteur, il suffit de lui envoyer une impulsion de quelques millisecondes qui se répète à intervalle régulier (ce que l’on appelle la période), et dont la durée détermine l’angle de rotation de l’axe du servomoteur. 
Par exemple : 1,25 ms = 0 degré
                       1,50 ms = 90 degrés
                       1,75 ms = 180 degrés

l'asservissement


une fois atteint l’angle choisit préalablement, le servomoteur va s’arrêter.

En réalité, c’est l’axe qui s’arrête, le servomoteur lui va continuer à tourner dans un sens puis dans l’autre grâce à son potentiomètre et son électronique, afin de garder un « équilibre » (la position définit par l’angle choisit), c’est ce que l’on appelle l’asservissement.


Exemple d'utilisation




jeudi 28 février 2019

Le potentiomètre

Un potentiomètre est un type de résistance variable à trois bornes, dont une est reliée à un curseur se déplaçant sur une piste résistante terminée par les deux autres bornes. Ce système permet de recueillir, entre la borne reliée au curseur et une des deux autres bornes, une tension qui dépend de la position du curseur et de la tension à laquelle est soumise la résistance.

Pour connecter un potentiomètre, il faut savoir où se trouve la masse, l'entrée et la sortie. La borne du milieu correspond au curseur (partie variable) alors que les autres bornes correspondent aux extrémités de la résistance.

Module de communication LCD

Qu'est-ce qu'un Écran LCD ?



On l'appelle LCD 16x2 car il permet d'afficher 16 caractères par ligne, sur 2 lignes.
En utilisant 4 bits pour le transfert de données vers l'écran, nous utilisons également que 4 broches (les broches D4 à D7) . Si nous souhaitions utiliser 8 bits pour le transfert, il aurait fallu utiliser 8 broches (les broches D0 à D7).

les différents LCD


On distingue 3 types d'écran LCD :
Les afficheurs alphanumérique.
Les afficheurs graphiques monochromes.
Les afficheurs graphiques couleurs.

L'Afficheur alphanumérique


les Afficheurs LCD alphanumériques possèdent 16 broches pour le connecter à une Arduino, dont voici le détail :
GND
devrait être connecté au GND de l'Arduino.
VCC
alimentation de l’écran LCD (5V).
Vo (LCD Contrast)
le contraste et la luminosité.
RS (Register Select)
permet à l’Arduino d’indiquer à l’écran LCD s’il envoie des commandes ou des données.
R/W (Read/Write)
La broche sur l’écran LCD permet de contrôler si vous lisez ou non des données de l’écran LCD ou si vous en écrivez des données sur l’écran LCD.
E (Enable)
utilisée pour activer l'affichage. Lorsque cette broche est réglée sur HIGH, l’écran LCD traite les données entrantes.
D0-D7 (Data Bus)
sont les broches qui transportent les données de 8 bits que nous envoyons à l’affichage. Par exemple, si nous voulons voir le caractère majuscule ‘A’ sur l’affichage, nous allons définir ces broches sur 0100 0001 (selon le tableau ASCII) sur l’écran LCD.
A-K (Anode & Cathode)
utilisées pour contrôler le rétroéclairage de l'écran LCD.


Générateur des caractères personnalisés


L’écran est rétro-éclairé et peut afficher 32 caractères ASCII sur deux lignes avec 16 caractères sur chaque ligne.
Des petits rectangles pour chaque caractère . Chacun de ces rectangles est une grille de 5 × 8 pixels.

Vous pouvez cliquer sur l’un des 5 × 8 pixels pour activer / désactiver ce pixel. Par la suite le code du caractère est généré à côté de la grille. Ce code peut être directement utilisé dans votre programme Arduino.

byte Character[8] =
{
0b00001,
0b00011,
0b00101,
0b01001,
0b01001,
0b01011,
0b11011,
0b11000
};

lundi 25 février 2019

LED RVB

Définition



LED RVB (RGB en anglais), une LED comportant à la fois une led Rouge, une led Verte et une led Bleue ; et définir la couleur de celle-ci en choisissant sa valeur de rouge, de vert et de bleu.
                
Le RVB est un système de codage informatique utiliser dans les écrans par exemple, chacune des trois couleurs qui la compose possède une valeur comprise entre 0 et 255.
Par exemple 255 de Rouge, 255 de Vert et 255 de Bleu donne du blanc.
Par exemple 0 de Rouge, 0 de Vert et 0 de Bleu donne du noir.
Par exemple 255 de Rouge, 255 de Vert et 0 de Bleu donne du jaune.
Par exemple 255 de Rouge, 0 de Vert et 255 de Bleu donne du mauve.

Montage 





Notes de montage : dans ce montage la LED RVB possède 4 broches.

La broche la plus longue représente le Ground (le -) que l'on branche sur la PIN Gnd de l'Arduino.
La broche la plus longue représente le Ground (le -) que l'on branche sur la PIN Gnd de l'Arduino.
Celle qui est seule à sa gauche gère le Rouge .
A sa droite se trouve deux autres broches, celle qui gère le Vert juste à côté , puis celle qui gère le Bleu, la plus éloignée .
Attention ! L'emploi d'une LED nécessite toujours l'utilisation d'une résistance. Dans une LED RVB, il y a 3 LEDs donc chaque broche s'accompagne d'une résistance de 220 Ω.

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