https://youtu.be/DQLK-vAj6tc
Category: Arduino
Utiliser le haut-parleur avec MRduino Wireless
Un tutoriel pour le contrôle du haut-parleur sur le robot MRduino Wireless en langage Arduino.
Le matériel nécessaire:
- Un câble femelle-femelle d’une longueur de 20 cm.
Le câblage
Le câble femelle-femelle doit être connecté entre la pin IO2 de la carte Esus et le connecteur du haut parleur nommé ‘S’. Le connecteur du haut parleur est un connecteur 2 pins près du connecteur de la batterie.
Un exemple de programme
- Premièrement il faut activez l’haut parleur :
void setup() { Serial.begin(115200); speakerEnable(); }
- Deuxièmement, activer la sortie IO2 en sortie :
void setup() { Serial.begin(115200); pinMode(2, OUTPUT); }
- Créer le fichier pitches.h avec les notes :
#define NOTE_B0 31 #define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTE_GS1 52 #define NOTE_A1 55 #define NOTE_AS1 58 #define NOTE_B1 62 #define NOTE_C2 65 #define NOTE_CS2 69 #define NOTE_D2 73 #define NOTE_DS2 78 #define NOTE_E2 82 #define NOTE_F2 87 #define NOTE_FS2 93 #define NOTE_G2 98 #define NOTE_GS2 104 #define NOTE_A2 110 #define NOTE_AS2 117 #define NOTE_B2 123 #define NOTE_C3 131 #define NOTE_CS3 139 #define NOTE_D3 147 #define NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3 185 #define NOTE_G3 196 #define NOTE_GS3 208 #define NOTE_A3 220 #define NOTE_AS3 233 #define NOTE_B3 247 #define NOTE_C4 262 #define NOTE_CS4 277 #define NOTE_D4 294 #define NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_GS4 415 #define NOTE_A4 440 #define NOTE_AS4 466 #define NOTE_B4 494 #define NOTE_C5 523 #define NOTE_CS5 554 #define NOTE_D5 587 #define NOTE_DS5 622 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_FS5 740 #define NOTE_G5 784 #define NOTE_GS5 831 #define NOTE_A5 880 #define NOTE_AS5 932 #define NOTE_B5 988 #define NOTE_C6 1047 #define NOTE_CS6 1109 #define NOTE_D6 1175 #define NOTE_DS6 1245 #define NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 #define NOTE_GS6 1661 #define NOTE_A6 1760 #define NOTE_AS6 1865 #define NOTE_B6 1976 #define NOTE_C7 2093 #define NOTE_CS7 2217 #define NOTE_D7 2349 #define NOTE_DS7 2489 #define NOTE_E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 #define NOTE_A7 3520 #define NOTE_AS7 3729 #define NOTE_B7 3951 #define NOTE_C8 4186 #define NOTE_CS8 4435 #define NOTE_D8 4699 #define NOTE_DS8 4978
Le programme complet :
/* Melody Plays a melody circuit: * 2-ohm speaker on digital pin 8 created 21 Jan 2010 modified 30 Aug 2011 by Tom Igoe modified 15/05/2017 by Mace Robotics for MRduino Wireless robot This example code is in the public domain. http://www.arduino.cc/en/Tutorial/Tone */ #include <mrduino.h> #include <esusBoard.h> #include "pitches.h" int melody[] = { NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4 }; int noteDurations[] = { 4, 8, 8, 4, 4, 4, 4, 4 }; void setup() { Serial.begin(115200); speakerEnable(); pinMode(2, OUTPUT); for (int thisNote = 0; thisNote < 8; thisNote++) { // to calculate the note duration, take one second // divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. int noteDuration = 1000 / noteDurations[thisNote]; tone(2, melody[thisNote], noteDuration); // to distinguish the notes, set a minimum time between them. // the note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); // stop the tone playing: noTone(2); } } void loop() { }
Article sous licence :
Lire plusieurs VL53L0X avec Arduino
Un programme pour lire deux capteurs VL53L0X avec une carte Arduino Uno :
Câblages de la carte Arduino avec les 2 capteurs :
- A4 : SDA
- A5 : SCL
- D4 : XSHUT capteur VL53L0X n° 1
- D3 : XSHUT capteur VL53L0X n°2
#include <Wire.h> #include <VL53L0X.h> #define XSHUT_C1 4 #define XSHUT_C2 3 #define Sensor1_Address 41 #define Sensor2_Address 42 VL53L0X Sensor1; VL53L0X Sensor2; void setup() { pinMode(XSHUT_C1, OUTPUT); pinMode(XSHUT_C2, OUTPUT); Serial.begin(9600); Wire.begin(); Sensor1.setAddress(Sensor1_Address); pinMode(XSHUT_C2, INPUT); delay(10); Sensor2.setAddress(Sensor2_Address); pinMode(XSHUT_C1, INPUT); delay(10); Sensor1.init(); Sensor2.init(); Sensor1.setTimeout(500); Sensor2.setTimeout(500); Sensor1.startContinuous(); Sensor2.startContinuous(); } void loop() { Serial.print("Capteur 1 ="); Serial.println(Sensor1.readRangeContinuousMillimeters()); Serial.print("Capteur 2 ="); Serial.println(Sensor2.readRangeContinuousMillimeters()); Serial.println("------------------------------"); delay(500); }
Article sous licence :
Chenillard avec MRduino Wireless
Exemple de chenillard avec le robot MRduino Wireless :
#include <mrduino.h> void setup() { // init serial interface Serial.begin(115200); } void loop() { led(1,1); delay(1000); led(2,1); delay(1000); led(3,1); delay(1000); led(3,0); delay(1000); led(2,0); delay(1000); led(1,0); delay(1000); }
Programmer MRduino Wireless en Wifi
Le robot MRduino Wireless a la possibilité de transférer le programme du PC vers le robot en communication Wifi.
Le programme
Ce programme permet d’activer le téléversements OTA (Over The Air) sur l’ESP8266 du robot.
- Ouvrer l’Arduino IDE et insérer ce programme :
En modifiant :
- VOTRE_SSID : le nom de votre réseau sans fil.
- VOTRE_MOT_DE_PASSE : le mot de votre réseau sans fil.
#include <mrduino.h> #include <ESP8266WiFi.h> #include <WiFiUdp.h> #include <ArduinoOTA.h> const char* ssid = "VOTRE_SSID"; const char* password = "VOTRE_MOT_DE_PASSE"; void setup() { // initialisation du wifi WiFi.begin(ssid, password); // connexion wifi while (WiFi.waitForConnectResult() != WL_CONNECTED) { delay(1500); ESP.restart(); } ArduinoOTA.setHostname("Robot_MRduinoW"); // initialisation de l'Over The Air ArduinoOTA.begin(); } void loop() { ArduinoOTA.handle(); }
Après avoir vérifié ce programme Arduino, vous pouvez le téléverser vers le robot via un câble micro-USB.
Transfére en Wifi
Maintenant que vous avez programmer le robot, vous pouvez fermer le logiciel Arduino IDE et le redémarrez afin d’avoir une nouvelle option de programmation.
- Ouvrez l’onglet Tools->Port :
- Sélectionner le port : monMRduinoW
Vous pouvez débrancher le câble série de type micro-USB entre votre robot et le PC; et téléverser à nouveau le programme. Cette fois-ci, le téléversement fonctionne en Wifi.
Fin du tuto !
Présentation du robot MRduino Wireless
Contrôle de relais avec la carte Esus
Un petit tutoriel pour le contrôle de relais 12V – 230V avec la carte Esus.
Matériels nécessaires :
- Relais électromécaniques,
- Une carte Esus,
- Une batterie ou alimentation 11.8V
Le branchement
Le relais est branché sur une sortie de commande moteur de la carte Esus:
La carte Esus doit être alimenté avec une tension de 11.8V (tension max de la carte).
Exemple de programme n°1
Pour contrôler le relais il suffit simplement d’appeler la fonction de contrôle moteur n°1 de la carte Esus :
#include <esusBoard.h>
void setup()
{
// init esus board
initEsusBoard();
}
void loop()
{
Activer_relais1();
delay(2000);
Desactiver_relais1();
delay(2000);
}
void Activer_relais1(void)
{
// sortie relais = 12V
motors1_set(1024, DIR_FORWARD);
}
void Desactiver_relais1(void)
{
// sortie relais = 12V
motors1_set(0, DIR_FORWARD);
}
Contrôle de 2 relais
Le deuxième relais est branché sur la deuxième sortie de commande moteur de la carte Esus:
Exemple de programme n°2
#include <esusBoard.h> void setup() { // init esus board initEsusBoard(); } void loop() { Activer_relais1(); Desactiver_relais2(); delay(2000); Desactiver_relais1(); Activer_relais2(); delay(2000); } void Activer_relais1(void) { // sortie relais = 12V motors1_set(1024, DIR_FORWARD); } void Desactiver_relais1(void) { // sortie relais = 0V motors1_set(0, DIR_FORWARD); } void Activer_relais2(void) { // sortie relais = 12V motors2_set(1024, DIR_FORWARD); } void Desactiver_relais2(void) { // sortie relais = 0V motors2_set(0, DIR_FORWARD); }