Mise à jour le 06/05/2022 : Article regroupant les tuto et les fichiers de la carte de commande Tic T834 de Pololu basée sur un circuit DRV8834 permettant le contrôle d’un moteur pas-à-pas bipolaire.
Archives
Mise à jour le 09/03/2022 : leds adressables 8 mm Neopixel RGB basées sur le WS2811. Les leds peuvent se raccorder en série, ce qui permet de les commander de manière indépendante avec une seule sortie d’un microcontrôleur type Arduino ou compatible.
Mise à jour le 22/03/2022: Ce module Gravity basé sur un ADS1115 est un convertisseur analogique vers digital 16 bits contrôlé par le bus I2C. Il permet d’acquérir 4 signaux analogiques de capteurs ou modules vers un microcontrôleur.
Mise à jour le 18/02/2022 : Cet article a pour but de vous expliquer le fonctionnement d’un moteur pas-à-pas le plus simplement possible ,c’est à dire en utilisant un bouton qui va nous permettre de sélectionner la marche avant ou la marche arrière avec un potentiomètre nous permettant de définir la vitesse que l’on souhaite obtenir.
Module 10 DoF de DFRobot composé d’un accéléromètre ADXL345, d’une boussole HMC5883L, d’un gyroscope ITG3205 et d’un baromètre BMP280. Ce module communique avec un microcontrôleur compatible Arduino® via le bus I2C.
Information complementaire :
Ce module utilise une puce ADC 16 bits ADS1115, prend en charge une alimentation de 3,3 ~ 5 V. La puce a une tension de référence de précision et un réglage de gain programmable (PGA), par conséquent, une acquisition et une conversion précises peuvent être effectuées pour les signaux faibles et très variables. Il est donc également applicable à tous les types d’applications dont la carte de contrôle principale a besoin pour collecter avec précision les signaux analogiques.
Ce module peut lire les signaux analogiques de 4 canaux. Avec le commutateur de sélection d’adresse I2C intégré, il prend en charge la cascade de deux modules ADC et peut lire les signaux analogiques de 8 canaux
.
.
.
.
Pour tout problème de téléchargement ou pour nous suivre sur les réseaux sociaux voici les plateformes sur lesquelles nous éditons.
Cliquez sur celles qui vous intéressent .
Mise à jour le 19/11/2023 : Cet article traite d’une carte de commande qui vous permet d’augmenter le nombre de sorties pwm quand votre carte Arduino devient trop juste pour répondre à vos besoins.
Sommaire :
- Information technique
- Tutoriel sur la carte de chez Seeed
- Exemple de schema
- Pilotage d’un servomoteur avec retour d’informations
- Pilotage de 2 servomoteurs avec des tensions d’alimentations différentes
- Pilotage de 2 servos avec une tension d’alimentation de 12V et utilisation de 2 régulateurs pour s’adapter à la tension de service des actionneurs
- Exemple de programme.
- Pour tout probléme
- Retour au menu systeme Grove
Information technique |
Carte de commande de chez Seeedstudio reference 108020102 possedant 16 canaux basée sur un PCA9685 permettant de contrôler jusqu’à 16 servomoteurs ou 16 leds via une liaison PWM. Ce module communique avec une carte Arduino ou compatible via le bus I2C.
Cette carte comporte jusqu’à 6 pontets à souder permettant de raccorder jusqu’à 64 PCA9685 sur un seul bus I2C. Une source d’alimentation externe est nécessaire pour les servomoteurs.
Caractéristiques:
- Alimentation partie logique: 3,3 et 5 Vcc
- Alimentation partie servomoteur: 2,3 à 5,5 Vcc
- Commande: via le bus I2C
- Adresse I2C par défaut: 0x7f (configurable par pontet à souder)
- Compatible niveaux logiques 5 V
- Sorties servos/leds: connecteur mâle au pas de 2,54 mm
- Intensité maxi:
– 25 mA par led
– 400 mA au total pour tous les servos - Dimensions : 65x45x13mm
Tuto |
.
Exemple de schema |
.
Pilotage d’un servomoteur avec retour d’informations à l’aide de la carte SEEED référence 108020102
Pilotage de 2 servomoteurs avec des tensions d’alimentations différentes à l’aide de la carte SEEED référence 108020102 .
Schema de 2 servos avec une tension d’alimentation de 12V et utilisation de 2 régulateurs pour s’adapter à la tension de service des actionneurs à l’aide de la carte SEEED référence 108020102.
.
Exemple de programme |
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
// // // ********************************************* // // // // Arduino avec // une commande 16 canaux pour servos // I2C - basé sur un PCA9685 // // Code: Mazelin Herve // RedOhm // Le 11/12/2021 // ********************************************* // chargement de la librairie pour l'utilisation de carte #include "PCA9685.h" // chargement de la librairie pour la communication I2C #include <Wire.h> ServoDriver servo; int a ; // ********************************************************************* // Un programme Arduino doit impérativement contenir la fonction "setup" // Elle ne sera exécutée une seule fois au démarrage du microcontroleur // Elle sert à configurer globalement les entrées sorties // ********************************************************************* void setup() { Serial.begin(9600); // on attent que le port de communication soit pret while (!Serial) { ; } Serial.println("communication en service"); // join I2C bus (I2Cdev la bibliothèque ne le fait pas automatiquement) Wire.begin(); servo.init(0x7f); // Décommentez cette ligne si vous devez utiliser un servo spécial // servo.setServoPulseRange(600,2400,180); } // ********************************************************************** // Le programme principal s’exécute par une boucle infinie appelée Loop () // ********************************************************************** void loop() { // premier parametre le numero de servo // second parametre le deplacement en degrée servo.setAngle(16, 10); delay (500); servo.setAngle(13, 10); delay(1000); servo.setAngle(9, 0); delay(1000); servo.setAngle(8, 0); delay(1000); servo.setAngle(1, 0); delay(1000); // premier parametre le numero de servo // second parametre le deplacement en degrée servo.setAngle(13, 140); servo.setAngle(9, 250); servo.setAngle(8, 250); servo.setAngle(1, 250); delay(1000); servo.setAngle(16, 250); delay (500); for (int i = 0; i <= 4; i++) { a=a+20; servo.setAngle(13, 140-a); delay (250); } a=0; } |
.
Pour tout problème |
Pour tout problème de téléchargement ou pour nous suivre sur les réseaux sociaux voici les plateformes sur lesquelles nous éditons.
Cliquez sur celles qui vous intéressent .