Programmation Arduino et Raspberry
Plateformes de développement faible coût pour la domotique, la robotique et le prototypage des systèmes embarqués
H1102 v1 Article de référence

Programmation Arduino et Raspberry
Plateformes de développement faible coût pour la domotique, la robotique et le prototypage des systèmes embarqués

Auteur(s) : Daniel ETIEMBLE

Date de publication : 10 févr. 2023 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Sommaire

Présentation

RÉSUMÉ

Les plateformes bas-coût sont populaires pour la formation en électronique et informatique sur des applications utilisant capteurs et actionneurs. Ils permettent aux hobbyists de prototyper des applications dans de nombreux domaines comme la domotique, la robotique, l’audio, la vidéo, etc. Arduino et Raspberry sont les exemples type de ces plateformes, qui ont conduit à des communautés larges d’utilisateur avec forums, tutoriels, projets, logiciels disponibles, etc. Les caractéristiques matérielles et logicielles sont présentées, ainsi que des exemples de projets.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

  • Daniel ETIEMBLE : Ingénieur de l’INSA de Lyon - Professeur émérite à l’université Paris Saclay

INTRODUCTION

Les plateformes de développement faible coût, dont les plus populaires sont Arduino et Raspberry, ont un rôle essentiel pour la formation en électronique et informatique et pour le prototypage de petits systèmes embarqués, par exemple en robotique, domotique, audio, vidéo, etc. C’est ce qui a conduit à la création de larges communautés d’utilisateurs (enseignants et amateurs) avec des forums, tutoriels, projets, logiciels en ligne.

Dans cet article, les caractéristiques de base sont d’abord présentées : le prix, le processeur et l’environnement logiciel. Les caractéristiques liées aux applications sont ensuite abordées : à un exemple simple pour la formation en électronique succède la présentation des différents capteurs et actionneurs qui seront contrôlés par le microcontrôleur ou processeur de la plateforme. Les différentes interfaces nécessaires pour les applications existent sous forme de modules (cartes) indépendants ou sont intégrées dans les plateformes qui sont de véritables nano-ordinateurs : WiFi et Bluetooth, interfaces graphiques et audio, Ethernet, etc. Après cette présentation générale, nous examinerons plus en détail les offres d’Arduino et de Raspberry Pi, qui sont les exemples les plus significatifs de telles plateformes.

Les spécificités de la programmation Arduino et Raspberry sont abordées, avec de petits exemples de programme. Deux exemples de projets de contrôle de robots sont présentés. L’article se termine par les éléments marquants des plateformes Arduino et Raspberry : résumé des caractéristiques, communautés, volumes de ventes.

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 95 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1102

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

4. Programmation Arduino et Raspberry

4.1 Arduino

Arduino utilise un environnement de développement intégré (Arduino IDE) qui peut être téléchargé gratuitement pour Windows, Mac et Linux.

Il faut également disposer des bibliothèques et fonctions pour activer les fonctionnalités des différents modules connectés à la carte Arduino utilisée.

Un programme Arduino se décompose en trois parties :

  1. définition des variables et déclaration des fonctions ;

  2. la fonction setup() qui définit les fonctions exécutées à l’initialisation de la carte ;

  3. la fonction loop() qui définit les fonctions exécutées sous forme d’une boucle sans fin.

    Exemple de programme Arduino : écouter un fichier audio WAV enregistré sur une carte SD avec Arduino (extrait de https://www.aranacorp.com/fr/donnez-de-la-voix-a-votre-projet-arduino/)

    Sans entrer tous les détails du code, on reconnaît :

    • la définition des éléments de bibliothèque (SD et TMRpcm), des constantes et la déclaration des variables globales ;

    • la fonction setup() qui exécute l’initialisation de la carte SD (carte de module mémoire) et du speaker ;

    • la fonction loop() qui exécute la fonction activateOutput ;

    • la définition de la fonction activateOutput.

//Libraries

#include <SD.h>

#include <TMRpcm.h>

//Constants

#define SD_ChipSelectPin 10//4

const int speakerPin = 9;

char* file = "bonjour.wav";

//Variables

unsigned long previousTime = 0;

unsigned long interval = 1000;

//Objects

TMRpcm tmrpcm;

/*******************************************************************

            MAIN

*******************************************************************/

void setup() {

   /* function setup */

   Serial.begin(9600);

   //Init sd shield

   if (!SD.begin(SD_ChipSelectPin)) {

      Serial.println("SD...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 95 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Programmation Arduino et Raspberry

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - BARTMANN (E.) -   Le grand livre d’Arduino,  -  Eyrolles (2018).

  • (2) - NUSSEY (J.) -   Arduino pour les Nuls,  -  3e édition. First interactive (2022).

  • (3) - SPAHIC (B.) -   Arduino pour débutants : créer son propre projet électronique en 7 jours.  -  Édition indépendant (2022).

  • (4) - ENGLER (O.) -   Programmer en s’amusant avec Arduino pour les Nuls,  -  First interactive (2021).

  • (5) - MARGOLIS (M.) -   La boîte à outils Arduino,  -  2e édition, Dunod (2019).

  • (6) - MOCQ (F.) -   Raspberry Pi 4 – Exploitez tout le potentiel de votre nano-ordinateur,  -  La Fabrique (2021).

  • ...

ANNEXES

  1. 1 Sources URL
    Logo Techniques de l'Ingenieur

    Cet article est réservé aux abonnés.
    Il vous reste 93 % à découvrir.

    Pour explorer cet article Consulter l'extrait gratuit

    Déjà abonné ?


    Article inclus dans l'offre

    "Technologies logicielles Architectures des systèmes"

    (236 articles)

    Une base complète d’articles

    Actualisée et enrichie d’articles validés par nos comités scientifiques.

    Des contenus enrichis

    Quiz, médias, tableaux, formules, vidéos, etc.

    Des modules pratiques

    Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

    Des avantages inclus

    Un ensemble de services exclusifs en complément des ressources.

    Voir l'offre

    Ressources documentaires

    Modélisation et analyse de systèmes embarqués ou temps-réel avec le profil UML MARTE

    Pour répondre au défi de l'accroissement de la complexité des systèmes électroniques, il est nécessaire ...

    Introduction aux réseaux de neurones

    Cet article est une introduction aux réseaux de neurones. Après un bref historique, le neurone ...

    Méthodes formelles pour la vérification des systèmes embarqués

    Les systèmes embarqués sont soumis à de nombreuses contraintes et certains sont en interaction étroite ...

    Introduction à la conception conjointe matériel/logiciel - Une vision générale

    Cet article introduit la conception conjointe matériel/logiciel des systèmes intégrés sur ...