Cette page présente un programme Arduino qui renvoie sur la liaison série série un caractére qui a été envoyé vers la carte. C'est le principe de l'écho série. Un caractére est envoyé par l'utilisateur via l'USB (qui émule une liaison série), l'Arduino lit le caractère et renvoie le même caractère dans l'autre sens (de l'Arduino vers l'utilisateur). Les scripts présentés sur cette page ont été testés avec les versions suivantes (logiciel et matériel):
Le code suivant présente la version la plus simple de l'écho :
#define BAUD_RATE 115200
// Setup, initialize
void setup()
{
Serial.begin(BAUD_RATE);
}
// Loop forever
void loop()
{
// Serial data is pending
if (Serial.available())
{
// Echo serial data on serial device
Serial.write( Serial.read() );
}
}
La version suivante allume la LED interne de la carte à chaque fois qu'un caractére est reçu (et transmis) :
#define BAUD_RATE 115200
// Setup, initialize
void setup()
{
Serial.begin(BAUD_RATE);
// Initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// Loop forever
void loop()
{
// Serial data is pending
if (Serial.available())
{
// Turn built in LED on
digitalWrite(LED_BUILTIN, HIGH);
// Echo serial data on serial device
Serial.write( Serial.read() );
// Turn built in LED off
digitalWrite(LED_BUILTIN, LOW);
}
}
La version suivante est une modification de la précédente, chaque caractère minuscule envoyé vers l'Arduino est transformé en caractère majuscule avant d'être retourné.
#define BAUD_RATE 115200
// Setup, initialize
void setup()
{
Serial.begin(BAUD_RATE);
// Initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// Loop forever
void loop()
{
// Serial data is pending
if (Serial.available())
{
// Turn built in LED on
digitalWrite(LED_BUILTIN, HIGH);
// Get serial data
char c=Serial.read();
// Tranform low case characters to upper case
if (c>='a' && c<'z') c=c-32;
// Echo data on serial device
Serial.write( c );
// Turn built in LED off
digitalWrite(LED_BUILTIN, LOW);
}
}
Le matériel présenté sur cette page a été gracieusement offert par Seeed.
Seeed est un fabricant de matériel IoT avec 10 ans d'expérience. Seeed propose une large gamme de matériels, plates-formes, capteur et modules prêts à l'emploi pour différentes plates-formes IoT existantes et un service de production de PCB et assemblage de carte PCB à bas coût. Seeed Studio propose une large sélection de pièces électroniques, pour [Arduino] (https://www.seeedstudio.com/category/Arduino-c-1001.html), [Raspberry Pi] (https://www.seeedstudio.com/Raspberry-pi-c-1010.html) et de nombreuses autres plates-formes. En particulier le system Grove est un système de connecteurs unique qui assure la compatibilité entre différents modules. Seeed Studio a développé plus de 280 modules Grove couvrant une large gamme d'applications qui peuvent répondre à une variété de besoins.