geii.eu
  • Accueil
  • IUT deNantes
    • Site de l'IUT de Nantes
    • L'IUT de Nantes sur Facebook
    • L'IUT de Nantes sur Youtube
  • CAOKiCad
    • Introduction à la conception de cartes électroniquesDu cahier des charges au circuit imprimé
      • Conception des cartes électroniques, illustration par l'exemple
    • Saisie de schéma
      • Présentation du schéma de travail
      • Saisie du schéma avec le module eeschema de KiCad
    • Du schéma au routage
      • Association des empreintes physiques
      • Création d'une empreinte et d'une bibliothèque pour l'accueillir
      • Obtenir ses symboles, empreintes et modèles 3D avec Internet
    • Routage du PCB
      • Charger la netliste et Placer les composants
      • Router la carte
      • Vers la fabrication du circuit imprimé
      • Lancement de la fabrication. Réception...
      • Perfectionnement
  • Informatiqueembarquée
    • Eléments méthodologiquesCompte rendu, documentation...
      • Bien rédiger son compte rendu de TP
    • Programmation en C et C++ avec ArduinoArduino Uno - Arduino IDE - PlatformIO
      • Découvrir la programmation en C et C++ avec Arduino
      • Les entrées/sorties numériques
      • Les interruptions
      • Les entrées analogiques
      • Le comparateur analogique des uC
      • Rythmer différentes actions sans blocage
      • Trucs et astuces PlatformIO
    • Bien débuter avec les ESP8266 dans l'écosystème ArduinoArduino IDE - VS Code
      • Installation.De la connexion au WiFi à la page Web dynamique
      • Framework CSS. API et liaison avec la domotique Jeedom
      • IP Fixe. Téléversement WiFi. Accès via internet
    • Modifier des objets connectés du commerceArduino IDE - VS Code
      • Reprogrammation d'un module Sonoff Basic R2
    • Microcontroleur PIC18FMicrcocontroleur PIC18F
      • Travaux dirigés PIC18F
      • Travaux pratiques PIC18F
      • Travaux de réalisation PIC18F
      • Utilisation du Bootloader HID de Microchip
  • Electroniqueanalogique
    • Dipôles et QuadripôlesAnalyses dans le plan de Bode. Représentation sous forme de quadripôles.
      • Dipôles
      • Base des Circuits Electriques
      • Transmittance complexe et Fonction de transfert
      • Transmittance complexe et Fonction de transfert
      • Quadripôles
    • Composants électroniquesComposants à base de semi-conducteur
      • Notions de semi-conducteur
      • Jonction pn - Diodes
      • Transistor bipolaire
      • Transistor bipolaire en microélectronique
      • Transistor MOSFET
      • Transistor MOSFET en applications
      • Amplificateur opérationnel parfait
      • Amplificateur opérationnel parfait
      • Amplificateur opérationnel réel
    • Problèmes et exercices générauxNon corrigés pour le moment.
      • Etude des étages d'entrées d'un amplificateur audio professionnel
      • Sujet d'examen d'électronique (mars 2016)
      • Correction de l'examen d'électronique (mars 2016)
    • Simulation analogiqueBases de la simulation avec Orcad pSpice
      • Premiers pas
    • Outils mathématiquesPour le Génie Electrique
      • Equations différentielles
  • Electroniquenumérique
    • GénéralitésCours généraux sur les composants logiques et la synthèse de composants.
      • Codage de l'information
      • Codage de l'information
      • Composants logiques programmables
      • Initiation au VHDL
      • Initiation au VHDL
    • Systèmes numériquesAlgèbre de Boole et composants reconfigurables.
      • Les bases : opérateurs, logique combinatoire et séquentielle
      • Les bases : opérateurs, logique combinatoire et séquentielle
      • Composants logiques reconfigurables
      • Bases du langage VHDL
    • Travaux Pratiques sous Altera Quartus IIDidacticiels sur l'utilisation de Quartus II.
      • Premier projet avec Quartus II
      • Premier programme VHDL sous Quartus II
      • Compteur de secondes
    • Travaux Pratiques sous Xilinx ISETutorial et exercices.
      • Premier projet avec ISE
    • Travaux Pratiques sous Xilinx VivadoTutorial et exercices.
      • Introduction aux SoC et à Vivado
      • Projet VHDL avec Xilinx Vivado
      • Projet SoC avec Xilinx Vivado
      • Créer un module IP avec Vivado
      • ZyboPong : jeu Pong sur Zybo avec Vivado
  • Projets
    • Thermomètre découverteElectronique à l'école primaire
      • Thermomètre LCD
    • Boitier pour QCMBoitier pour QCM
      • Présentation
      • Activités pratiques
    • Boitier multifonctionBoitier multifonction
      • Présentation
      • Activités pratiques
    • Projet RobotProjet Robot
      • Présentation
    • Objet connectéProjet ESP32
      • Objet connecté
  • Téléchargements
  • Liens
  • Forum

Plateforme d'apprentissage sur geii.fr

Bonjour à tou.te.s,

il y a quelques semaines, j'ai mis en ligne une nouvelle version du site internet disponible sur www.geii.fr.

Il s'agit d'une plateforme d'apprentissage qui repose sur Moodle et possède de nombreux avantages par rapport à la version sur laquelle vous vous trouvez actuellement.

En vous y inscrivant, vous pouvez participer activement au cours de votre choix et profiter d'exercices en auto-évaluation dont les résultats notés sont conservés.

A bientôt donc sur geii.fr



Image de la platforme d'apprentissage geii.fr

Découvrir la programmation en C et C++ avec Arduino

  • Présentation du cours
  • Variables, Affichage. Affectations et calculs
  • Conditions et Structures alternatives
  • Opérations sur bits

Présentation du cours

L'environnement Arduino a su se rendre très populaire au cours des 10 dernières années et doit cette popularité à une approche tendant à rendre la programmation assez facile grâce une communauté très active ayant contribuée au développement de nombreuses bibliothèques.

Cette facilité apparente repose très souvent sur des batteries d'exemples qui donnent l'illusion de savoir. Qu'en est-il en revanche dès qu'il faut aller au delà des exemples fournis avec les bibliothèques ? Au sortir des sentiers battus, on se rend vite compte qu'il faut également disposer de bases en programmation pour résoudre des problèmes plus complexes auxquels les exemples ne répondent évidemment pas.

L'enjeu de la séquence de cours qui suit consiste donc à étudier différents aspects de l'informatique embarquée à la sauce Arduino tout en fournissant de bonnes bases pour la programmation en C voire C++ avec l'objectif d'être autonome dès lors que les exemples s'avèrent insuffisants pour répondre à une problèmatique plus étendue.

Toutes les leçons proposées dans ce cours reposent sur l'usage d'un kit comprenant une carte Arduino Uno et tout un ensemble de composants tels que plaquettes de tests, résistance, LED, poussoir, capteurs, actionneurs ... Vous pouvez vous procurer ce matériel directement sur Amazon en cliquant sur l'image ci-dessous :

Starter Kit Composants Arduino pour les tutos geii.eu

 

Et pour voir la vidéo d'introduction de cette future longue série :

 

Variables, Affichage. Affectations et calculs

On aborde ici la structure d'un programme Arduino en répondant à la question : mais où est passée la fonction main() ?

On s'intéresse ensuite aux différents types de variables en C (entiers, réels, caractères), à leur déclaration, leur portée en illustrant clairment le mécanisme de création/destruction/conservation des variables. Noter que le mot clé static fait l'objet d'une attention toute particulière dans cette partie.

Conditions et Structures alternatives

On poursuit l'étude des bases du langage C++ avec les conditions et les structures alternatives (conditionnelles) : qu'est-ce qu'une condition ? Quels opérateurs utilisés pour l'écrire ? Quelle valeur renvoie-t-elle ? Vous trouverez toutes les réponses dans la vidéo qui suit et, juste en dessous, le code utilisé pour illustrer tout cela.

void setup() {

  int a = 3, b = 4;
  Serial.begin(115200);
  Serial.println((a==3)?"a est égal à 3":"a est différent de 3");
  
  Serial.println("Avant : a=" + String(a) + " et b=" + String(b));
  if (a == b) 
    Serial.println("La condition " + String(a) + "==" + String(b) + " est vraie");  
  else
    Serial.println("La condition " + String(a) + "==" + String(b) + " est fausse");
  Serial.println("Après : a=" + String(a) + " et b=" + String(b));
  
  int a_avant = a;
  if (a = b) 
    Serial.println("La condition " + String(a_avant) + "=" + String(b) + " est vraie");  
  else
    Serial.println("La condition " + String(a_avant) + "=" + String(b) + " est fausse");
  Serial.println("Après : a=" + String(a) + " et b=" + String(b));
  
  if (1) Serial.println("1 est vu comme une condition vraie");
  else Serial.println("1 est vu comme une condition fausse");
  
  if (-1) Serial.println("-1 est vu comme une condition vraie");
  else Serial.println("-1 est vu comme une condition fausse");
  
  if (0) Serial.println("0 est vu comme une condition vraie");
  else Serial.println("0 est vu comme une condition fausse");
  
  if (10) Serial.println("10 est vu comme une condition vraie");
  else Serial.println("10 est vu comme une condition fausse");
} 
  
void loop() {
}

Opérations sur bits

Même s'il existe des bibliothèques variées, il arrive toujours un moment où l'accès aux registres des périphériques du microcontrôleur est indispensable pour gérer ce qu'aucune bibliothèque n'a prévu ou optimiser ce qu'une bibliothèque trop générique ne fait pas précisément comme on le souhaite.
L'accès aux registres du microcontrôleur nécessite de connaître parfaitement la manière de réaliser les opérations classiques au niveau du bit : mise à 1, à 0, basculement, lecture...
La vidéo suivante propose cela.

Bienvenue

Bienvenue sur GEII.eu

Je me présente rapidement. Je m'appelle Eric PERONNIN. Ancien élève de l'Ecole Normale Supérieure de Cachan aujourd'hui ENS Paris-Saclay, agrégé de Génie Electrique, j'ai enseigné 23 ans à l'IUT de l'Indre et suis depuis 2017 en poste à l'IUT de Nantes dans le département Génie Electrique et Informatique Industrielle.

J'ai initialement créé ce site internet à l'intention de mes étudiants et lui donne maintenant une nouvelle orientation pour qu'il soit utile à toute la communauté internet.

J'y propose une formation complète et détaillée à KiCad, logiciel de CAO gratuit dont je recommande l'utilisation à toutes et à tous. Certes pour sa gratuité mais surtout pour la qualité de son interface et de celle des circuits imprimés qu'il permet de produire.

Vous trouverez aussi des exercices d'électronique analogique avec un module d'auto-correction, divers tutoriaux dans des domaines de l'électronique numérique et de l'informatique embarquée.

Sur ce site, vous retrouverez beaucoup de mes vidéos disponibles sur ma chaine chaîne Youtube dans une présentation plus structurée permettant de mieux se repérer dans les différents contenus.

Si vous le souhaitez, vous pouvez me joindre par l'intermédiaire de mon e-mail geii à l'adresse eric at geii.eu pour vos commentaires, questions ou suggestions de contenu.

Enfin, si les contenus proposés vous aident et que vous en avez les moyens, vous pouvez envoyer des dons via Paypal en cliquant sur le bouton Faire un don disponible au bas de chaque page du site geii.eu

Eric

Connexion

  • Mot de passe oublié ?
  • Identifiant oublié ?

Contactez-moi

  • Adresse: IUT de Nantes,
    Eric PERONNIN,
    avenue du Professeur Jean Rouxel
    44475 CARQUEFOU
  • Email: Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Copyright © 2012 Eric PERONNIN - Ce site utilise MathJax pour le rendu des équations Latex et mathjs pour évaluer les expressions mathématiques. - Template JoomShaper