was successfully added to your cart.
Image de une voeux 2017

SimpleDuino vous souhaite une bonne année 2017

By | Non classé | No Comments

Voilà que 2017 s’annonce, une année pleine de promesses une fois de plus pour SimpleDuino. En effet, depuis début janvier, nous avons effectué une reconfiguration des systèmes SimpleDuino, ce que vous ne voyez pas finalement et ce pour deux raisons. La première, c’est que nous souhaitons un site plus rapide. La seconde c’est que nous devons nous forcer à rester à jour. Notre « corps de métier » c’est de transmettre des connaissances sur des produits / technologies qui n’ont rarement plus de deux ans d’existence (on parle souvent des produits dès leurs sorties). Il est alors dans la logique de garder tout notre site, toute notre infrastructure, entièrement à jour.

Concernant nos projets, nous n’avons rien arrêté et travaillons encore sur l’automatisation complète de notre drone mais surtout sur notre projet SimpleDomo. D’autres projets sont venus se créer, plus petit parfois, nous aurons l’occasion d’y revenir tout au long de cette année fabuleuse que sera sans nul doutes 2017.Voilà que 2017 s’annonce, une année pleine de promesses une fois de plus pour SimpleDuino. En effet, depuis début janvier, nous avons effectué une reconfiguration des systèmes SimpleDuino, ce que vous ne voyez pas finalement et ce pour deux raisons. La première, c’est que nous souhaitons un site plus rapide. La seconde c’est que nous devons nous forcer à rester à jour. Notre « corps de métier » c’est de transmettre des connaissances sur des produits / technologies qui n’ont rarement plus de deux ans d’existence (on parle souvent des produits dès leurs sorties). Il est alors dans la logique de garder tout notre site, toute notre infrastructure, entièrement à jour.

Mais il y a une chose importante que vous pouvez nous reprocher sur cette fin d’année 2016, le nombre plus faible de tutoriels mis en ligne. C’est là que nous devons aborder un sujet important avec vous. SimpleDuino fut à l’origine fondé pour partager nos connaissances sur l’électronique. Nous étions alors presque tous lycéens dans l’équipe et nous avions alors beaucoup de temps pour écrire et mettre en ligne des tutoriels. Ces dernières années, nous avons tous intégrés l’enseignement supérieur, tous vers des carrières d’ingénieurs et cela représente un certain temps à passer au travail. Si nous ne pouvons plus (pour l’instant, cela est bien entendu provisoire) être aussi actif qu’avant sur le site, nous nous efforçons (et toujours avec le sourire) de répondre aux questions posées sur le forum. Si nous prenons la peine d’expliciter ces absences ici, c’est que certaines personnes ont pu nous le reprocher d’une manière parfois involontaire mais on a aussi pu entendre dire que nous accordions trop de temps à nos études. Paradoxe lorsque l’on sait que certaines des connaissances que nous avons la chance d’acquérir pendant ces quelques années, nous les partagerons avec vous d’une manière simplifiée.

SimpleDomo ensuite, le système n’a pas connu de grands changements depuis quelques mois. Il nous reste à développer un « serveur » pour relier notre centrale à nos modules. Si ce travail semble bien dérisoire, il nécessite de nombreuses heures d’implications et vous comprendrez maintenant que nous ne pouvons pas nous permettre cela actuellement, nous serons certainement à plein temps sur le projet pendant les mois de juillet / août. Cependant, d’ici quelques semaines, nous devrions lancer un nouveau site au design épuré qui présentera les grandes lignes du projet. Vous pourrez alors voir quelques rendus (toujours provisoires) de ce grand travail, nous n’en dirons pas plus pour l’instant (surprise et patience donc).

Malgré tout, SimpleDuino reste là pour vous, nous sommes avant tout une équipe de passionnés, nous continuons à maintenir et à assumer le coût de nos infrastructures. Si vous souhaitez nous aider, le plus simple c’est de parler de nous autour de vous. Si vous vous sentez près à partager vos connaissances à travers des tutoriels, n’hésitez pas à nous contacter pour intégrer l’équipe et mettre en ligne vos tutoriels.

Finalement, toute l’équipe SimpleDuino se joint à cet article pour vous souhaiter une excellente année 2017 faites de beaux projets, de belles découvertes et de grandes innovations. Si nous continuons à nous investir autant pour vous, c’est que nous pensons profondément que les claviers et les écrans peuvent changer la manière dont nous voyons le monde. C’est aussi parce que nous restons persuadés que plus nous commencerons tôt à transmettre cette passion aux enfants, alors plus ces derniers sauront créer plus tard des applications toujours plus complexes et intéressantes. Nous en sommes au balbutiement de l’intelligence artificielle, nous terminerons donc cet article par une citation du Mathématiciens qu’est Cedric Villani :

Plus que jamais, l’école doit s’ouvrir au monde, inviter les jeunes à se frotter à des projets divers, à voyager.


 

SimpleDuino vous souhaite une excellente année 2017


Fabien Aubret – Thomas Aubret – Grégoire Aubret

Se connecter au WiFi avec le raspberry Pi 3

Se connecter au WiFi avec le Raspberry Pi 3

By | Débutant Raspberry Pi | No Comments

Voilà maintenant près d’un an que la marque à la framboise a sorti son dernier né, la carte Raspberry Pi 3. Comme vous le savez cette carte a la particularité de posséder une puce WiFi et Bluetooth. Ce qui permet d’imaginer de nouvelle utilisation en matière de système embarqué. En effet cela permet de libérer deux ports usb.

Cette puce WiFi n’est pas si compliquer à utiliser. Il y a deux manières de configurer la liaison WiFi entre la carte Pi et votre connexion.

  • En utilisant le bureau (à distance ou non)
  • En configurant la connexion en ligne de commande

Avant de commencer à configurer le Raspberry, il faut s’assurer que vous êtes à jour. Pour cela exécutez les commandes suivantes (que vous devez finir par connaître par cœur) :

1
2
sudo apt update
sudo apt upgrade

Une fois l’opération terminée il vous suffit de redémarrer votre carte Raspberry.

I. Se connecter au WiFi à l’aide du bureau

Comme vous le savez, il est possible d’utiliser la carte Raspberry sous la forme d’un bureau (voir même sous la forme d’un bureau à distance, plus d’info ici).

Si vous utilisez votre raspberry sous s forme bureautique, n’oubliez pas de débrancher le câble Ethernet. Si vous utilisez la forme d’un bureau à distance, il faut bien entendu laisser brancher le câble Ethernet le temps de la configuration du WiFi.

Comme vous pouvez le voir, un icône réseau est présent en haut à droite de l’écran juste à côté de l’horloge. Cliquez ensuite sur ce même icône. Une liste des différentes box que dont vous captez le signal va s’afficher. Trouvez la vôtre et cliquez dessus, par exemple « livebox-A1A1 ».

Remarque : Seul les fréquences de 2,4GHz sont reconnues par le Raspberry Pi 3. Ne soyez donc pas surpris si les fréquences de 5GHz ne fonctionnent pas.

Comme vous le savez une clef est nécessaire pour se connecter au réseau. Ainsi, lorsque vous aurez sélectionné votre box, une fenêtre va s’afficher vous demandant la clef de connexion. Une fois le mot de passe rentré, cliquez sur « OK ». La tentative de connexion va s’opérer. Patientez et le tour est joué ! L’icône va alors afficher la puissance du signal.

II. Se connecter au WiFi à l’aide de ligne de commande

Si vous êtes des puristes de la ligne de commande, cette partie est pour vous ! Et je dois vous dire que je préfère la ligne de commande également !

Pour commencer, assurer vous d’avoir branché le câble Ethernet. Connectez-vous ensuite à votre raspberry. Ensuite il va falloir éditer le fichier « wpa_supplicant.conf » à l’aide de la commande suivante :

1
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Déplacez-vous à la fin de ce fichier et ajoutez les lignes suivantes avec les informations de votre box en suivant ce modèle :

1
2
3
4
5
network={
ssid= “NomDeLaBox“
psk=“ClefDeSecurite“
key_mgmt=WPA-PSK
}

Notez bien que si votre box utilise une clef de type WEP plutôt qu’une de type WPA/WPA2, modifiez la dernière ligne de la manière suivante :

1
key_mgmt=NONE

Enfin, et ce n’est pas trop conseillé, si vous vous connectez à une box ouverte (non protégée par un mot de passe), seul la ligne « ssid » est à renseigner.

N’oubliez pas de sauvegarder le fichier et de le quitter.

Votre raspberry est à présent connecté à internet grâce à sa puce WiFi. Il vous est possible de vérifier cette connexion en utilisant la commande ifconfig :

1
ifconfig wlan0

Vous pouvez à présent vous connecter en via via la console ssh. Il vous faudra récupérer l’adresse IP allouée par votre box puis se connecter comme vous savez le faire.

 

Vous voici à présent apte à commencer ou continuer à programmer ! Si vous rencontrez des soucis pour réaliser cette connexion ou sur vos projets, n’hésitez pas à venir poser vos questions sur le forum dédié.

Image de UNE pour la rentrée de SimpleDuino

SimpleDuino fait sa rentrée 2016

By | Projets | No Comments

La rentrée vient de se terminer pour vous tous, et également pour nous. Il est grand temps de se remettre au travail. Nous allons publier de nouveaux tutoriels cette année pour l’arduino et raspberry ainsi que de nombreux projets. Nous avons aussi l’ambition de participer à de nombreux salons pour développer la communauté et montrer le potentiel de la programmation liant électronique et mécanique.

Durant les congés d’été nous sommes restés présents et actifs sur le forum, nous avons continué la réalisation des projets en cours et nous nous sommes aussi lancés dans de nouveaux projets.

Comme vous le savez maintenant, l’équipe SimpleDuino a réalisé un drone qui a pour but d’être entièrement autonome. C’est-à-dire qu’il puisse gérer sa batterie, se poser seul, maintenir sa position et pouvoir être commandé à distance en lui ordonnant de se déplacer à un endroit précis. Vous avez pu nous rencontrer et discuter de ce projet lors de notre présence à la MakerFaire Paris 2016.

Nous avions également exposé notre projet de domotique SimpleDomo ainsi que la réalisation de notre première imprimante 3D totalement imprimée dont vous pouvez retrouver des informations sur le site et le forum.

Partant de ce dernier projet, nous voulions aller plus loin. Nous avons souhaité concevoir de A à Z une imprimante 3D afin de connaître parfaitement ses caractéristiques et sa façon d’être conçue. De plus nous pourrons modifier cette imprimante dans le futur afin de lui ajouter une fraise et d’en faire une CNC. La seule contrainte que nous nous sommes imposés pour la conception de cette nouvelle imprimante est de pouvoir y installer un plateau chauffant de dimension 328x328mm. Le cahier des charges étant minimaliste, nous avons libre cours à notre imagination pour sa conception.

 

Vous êtes tous créatifs ! Vous avez tous de très bonnes idées mais plus vous pensez comment la réaliser, plus vous avez peur de ne pas y parvenir. N’ayez pas peur de l’échec ! Prenez le temps de bien faire chaque partie. Restez organisé ! C’est en se trompant que nous apprenons le plus. Nous faisons tous des erreurs, l’important est de comprendre pourquoi cela ne peut pas marcher afin de trouver la solution au problème. Et pensez que vous n’êtes jamais seul ! Venez poser vos interrogations sur le forum afin qu’ensemble, nous puissions trouver des solutions.

 

Restez connecté afin de suivre l’évolution de ce nouveau projet.

 

Thomas A.

(Re)Découvrez l’Arduino

By | Débutant Arduino | No Comments

Nous allons découvrir ensemble ce qu’est l’Arduino et à quoi cela peut-il servir. Nous apprendrons ensemble les bases du langage de programmation de l’Arduino, ainsi que quelques notions de POO (programmation orienté objet) qui peuvent s’avérer très utiles lorsque vos codes commencent à être compliqués.

Bien entendu, nous apprendrons comment utiliser les capteurs les plus répandus ainsi que des bases en électroniques pures. De plus, des cours complémentaires sur des composants standards (diode, diode Zener, transistor PNP/NPN…) apparaîtront.

L’équipe de rédaction de SimpleDuino s’efforcera de mettre à jour ces cours, et en y ajoutant les liens nécessaires vers des cours et tutoriels complémentaires.

Si vous avez des questions ou remarques particulières, n’hésitez pas à entrer en contact avec nous en écrivant à [email protected] ou en posant directement votre question sur le forum.

I) L’Arduino

1°) Historique

L’Arduino est une carte programmable développée autour d’une puce AtMega328 (pour l’Arduino UNO) produite par la société Atmel. D’autres modèles de carte Arduino existent. Ces modèles vous sont décrits dans la partie suivante.

L’Arduino a été créée par Massimo Banzi en 2005. Massimo Banzi, professeur de design à, souhaitait rendre ludique et facile l’apprentissage de la programmation des microcontrôleurs à ses élèves, débutants en informatique, afin de rendre les objets intelligents. Il décida, avec ses associés, d’inventer une carte programmable fonctionnant sous un langage de programmation simple et accessible à tous.

Image du prototype Arduino

Image du prototype Arduino

2°) Tableau comparatifs des différents modèles

Tableau comparatifs des principaux modèles (non exhaustif)

Tableau comparatifs des principaux modèles (non exhaustif)

3°) Cartographie des entrées/sorties de l’Arduino UNO

Etant l’Arduino le plus utilisé par les débutants, nous allons voir ensemble la cartographie de l’Arduino UNO afin de vous expliquer comment lire un schéma électronique. La lecture des autres cartes étant similaire, je vous laisse explorer le site d’Arduino afin de savoir ce que nos chères cartes ont dans le ventre. Vous pouvez retrouver le schéma électronique de l’arduino UNO ici. Les schémas de toutes les cartes Arduino se trouvent sur leur site. N’hésitez pas à être curieux !

Voici une vue d’ensemble de l’arduino UNO :

Schema_Arduin_UNO_explicatif

Schema Arduino UNO explicatif

Vous pouvez remarquer qu’il se trouve deux puce AtMega. Une AtMega 16u2 qui permet de convertir les données USB en données série, et la puce AtMega 328p qui est le microcontrôleur.

Sur les Arduino, quel que soit la carte, deux types d’entrées/sorties sont à différencier. Les entrées/sorties numériques et les entrées analogiques.

  • 1: Régulateur de tension 12V-5V DC
  • 2: Quartz
  • 3: Entrées analogiques
  • 4 et 5: Entrées/Sorties numériques
  • 6: Pins d’alimentations

Les parties précédemment énoncées désignent les éléments indispensables au fonctionnement d’un arduino. Grâce à ces éléments, il est possible de refaire soit même un arduino afin d’en minimiser la taille ou d’en optimiser les performances. Vous pouvez aller visiter le tutoriel suivant http://simple-duino.com/realiser-arduino-maison/ pour apprendre à réaliser un arduino.

II) Le langage Arduino

1°) Installation et découverte de l’IDE Arduino

L’IDE Arduino est un logiciel permettant de générer un code et de l’implémenter sur le microcontrôleur. Vous pouvez télécharger le logiciel Arduino IDE sur le site officiel d’Arduino.

Une fois téléchargé, lancez l’assistant d’installation, et suivez les instructions.

a) Décomposition de l’environnement de travail

L’IDE Arduino se décompose en 5 zones.

  • Zone 1: Bouton de téléversement
  • Zone 2: Bouton de lancement du port série. En cliquant sur ce bouton le port série va s’ouvrir. De cette fenêtre vous pourrez lancer des actions via des commandes envoyées sur l’Arduino par l’ordinateur.
  • Zone 3: Zone de code. C’est dans cette zone que vous allez écrire le code à implémenter sur l’Arduino.
  • Zone 4: Console de débogage. La console vous permet de visualiser où se situent les erreurs et quels sont les types d’erreurs.
  • Zone 5: Information de la configuration de l’IDE. Vous avez une vue d’ensemble de la carte que vous avez sélectionné et du port auquel vous vous êtes rattachés.
IDE Arduino explicatif

IDE Arduino explicatif

b) Le code Arduino

Le code Arduino est basé sur le langage C. Il est cependant arrangé pour qu’il soit plus simple à utiliser et par conséquent il demande moins de temps pour l’apprendre. Seul la logique de programmation est commune à tous les langages, que ce soit du Java, du C#, du C++, etc… Mais n’ayez pas peur, ce n’est pas très compliqué.

Nous allons énoncer les principales fonctions que vous devez connaître. Des explications supplémentaires se trouvent dans les tutoriels du site.

1
pinMode(pin, INPUT/OUTPUT);

Cette fonction permet de définir les pins comme étant des pins d’entrée ou de sortie.

1
digitalWrite(pin, etat);

« etat » peut être « HIGH/LOW », ou un nombre compris entre 0 et 255 pour les PWM reconnaissable avec le ~.

1
digitalRead(pin);

Récupère l’information (0 ou 1) d’un pin numérique.

1
analogRead(pin);

Récupère l’information d’un pin analogique.

III) Notions d’électroniques

1°) Loi d’Ohm, loi des Mailles, loi des Noeuds

Toute l’électronique, ou électricité en général, repose sur trois loins fondamentales qui sont la loi d’Ohm, la loi des Mailles et la loi des Noeuds.

a) Loi d’Ohm

La loi d’Ohm est la loi qui lie l’intensité, la tension et la résistance.

Loi d'Ohm

Loi d’Ohm

Avec:

  • U: Volt
  • R: Ohm
  • I: Ampère

Vous pouvez manipuler cette loi dans le sens que vous voulez, permettant ainsi de déduire des valeurs de résistances à mettre en série avec une LED par exemple. Cette loi va également beaucoup vous servir pour résoudre vos problèmes de dimensionnement de composant en complément des lois des mailles et des nœuds.

b) Loi des Mailles

La loi des mailles est une loi permettant d’établir des équations d’une maille fermée.

La loi des Mailles assure:

Loi des Mailles

Loi des Mailles

c) Loi des Noeuds

La Loi des nœuds dans un circuit est présente dès lors que votre montage comporte plusieurs branches. Le lieu de rencontre de ces « branches » s’appelle un « nœud ».

La loi des noeuds assure:

Loi des Noeuds

Loi des Noeuds

2°) Les entrées-sorties numériques

Les entrées et sorties numériques (digitales) se traitent de manière similaire. Il s’agit d’un signal binaire (0-5v). Dans un cas l’arduino est capable de générer un signal carré d’amplitude 5v, et dans l’autre l’arduino est capable d’interpréter un signal reçu en créneaux de 5v.

Vous pouvez trouver plus d’informations sur ce tutoriel expliquant les entrées et sorties numériques.

3°) Les entrées analogiques

Contrairement aux broches numériques, les broches analogiques ne fonctionnent qu’en entrée.  Il est impossible de générer un signal analogique (signal dont les variations sont continues dans les temps) à l’aide d’un arduino. Vous en avez sans doute tous déjà utilisé, les GBF permettent de générer de tel signaux, qu’ils soient sinusoïdaux, en créneaux ou en triangles.

Une donnée analogique va être, dans la quasi-totalité des cas, générée par un capteur (température, luminosité, humidité…). En effet, le capteur va fournir une image de la tension en fonction du temps. La fonction permettant de récupérer cette valeur avec l’arduino est :

1
analogRead(analog_pin);

Vous pouvez trouver plus d’informations sur ce tutoriel expliquant les entrées analogiques.

4°) La fonction PWM (Pulse Width Modulation)

La fonction Pulse Width Modulation (PWM) est un signal dont on fait varier le rapport cyclique afin que la fréquence varie.

Définition du rapport cyclique

Définition du rapport cyclique

Le rapport cyclique est défini comme:

Formule Rapport Cyclique

Formule Rapport Cyclique

Avec:

  • ton: temps à l’état haut
  • T: Période du signal
  • a: Nombre compris entre 0 et 1 (souvent on parle en %)

Imaginez que vous avez devant vous une diode. Plus le rapport cyclique est grand, plus l’intensité lumineuse de la diode sera importante. Le temps à l’état haut correspond au temps auquel la diode va s’allumer, puis le temps à l’état bas correspond au temps auquel la diode va s’éteindre. C’est cet enchainement d’état qui fait varier la fréquence et donc l’intensité lumineuse pour une LED, ou la vitesse de rotation pour un moteur par exemple.

La fonction PWM permet de faire varier ce rapport cyclique, et donc la fréquence de l’état haut. Pour se faire, nous utilisons la fonction « digitalWrite(nomPin, pwm) », où « pwm » désigne un nombre compris entre 0 et 255 qui correspond au rapport cyclique du signal.

Explication PWM

Explication PWM

On pourrait faire l’amalgame avec une entrée « analogique », mais gardez à l’esprit que nous ne travaillons qu’avec des signaux binaires, donc avec une amplitude fixe.

5°) Les fonctions delay(), millis()

La gestion du temps est une chose très délicate et difficile à assimiler. Vous allez souvent (tout le temps ?) être confronté à la manière dont vous allez gérer le temps. Faut-il que mon programme puisse faire quelque chose pendant une attente ? Comment puis-je simuler une horloge ?

La fonction que vous allez utiliser va dépendre de la tâche que vous souhaitez réaliser. La fonction « delay() » fait une pause dans le programme, et il est impossible de demander au microprocesseur de faire une action pendant cette pause. On « gèle » le déroulement du programme.

Nous préférerons utiliser la fonction « millis() » bien qu’elle soit beaucoup plus difficile à comprendre. Cette fonction va compter, sans jamais s’arrêter, le temps d’exécution du programme. C’est pourquoi il faut utiliser des conditions pour savoir quand vous souhaitez réaliser une action.

Vous pouvez donc vous demander comment détecter qu’une seconde c’est bien écoulée !

Pour cela il faut se repencher un peu dans les mathématiques et se rappeler la notion de la division euclidienne. La division euclidienne est une division qui a deux entiers appelés dividende et diviseur, associe deux entiers nommés quotient et reste. Justement, nous allons utiliser cette propriété mathématique. L’outil mathématique « modulo » (%) va effectuer cette opération.

1
2
Reste = millis() % 10000;
if(Reste == 0) {Serial.println("BOUM");}

Quand millis() est égal à 10000, 20000, 30000, etc… le « reste » sera égal à zéro. Ce qui signifiera que 10 secondes se seront écoulées. Si millis() n’est pas égal à 10000 ou un multiple de 10000, alors « reste » ne sera pas égal à zéro. Donc la boucle « if » ne sera pas exécutée.

Bien entendu, vous n’êtes pas obligé d’utiliser la fonction millis() uniquement pour cette utilisation. Mais grâce à ça, vous pouvez effectuer des actions pendant ces « attentes ».

IV) Les protocoles de communication

1°) La liaison série

La liaison série, aussi qualifiée de « UART » en anglais pour « Universal Asynchronous Receiver Transmitter », est un protocole essentiel dans la programmation Arduino. En fait, vous ne le savez peut-être pas mais chaque fois que vous appuyez sur « Téléverser », l’IDE Arduino va transmettre une série d’instruction à la puce (Atmega328P dans le cas d’un UNO) afin de la reprogrammer.

L’un des avantages majeurs de la liaison série, c’est sa simplicité de mise en œuvre. En effet, puisque l’Arduino embarque directement une librairie dédiée, il n’y a absolument aucune difficulté à initier une telle communication. Cela permet de « débuger » rapidement des programmes en visualisant à l’écran des variables que nous aurons auparavant demandé à l’Arduino d’afficher sur le port série. Cependant, la liaison série ne se limite pas seulement à des opérations de débogage et son utilisation peut être bien plus poussée. C’est le cas notamment lors de l’utilisation du module SM130, un lecteur RFID, qui fonctionne via le protocole série. Vous retrouverez un tutoriel sur notre site à l’adresse suivante: http://simple-duino.com/utilisez-les-datasheets-et-decouvrez-le-module-sm130/

Dans la continuité, l’utilisation des modules tels que les ESP8266 permettant la transmission/réception d’information par wifi requiert une bonne connaissance du protocole série. Vous trouverez un premier tutoriel sur ces modules en suivant le lien suivant: http://simple-duino.com/decouvrez-la-communication-wifi-low-cost-avec-arduino/

Il est essentiel de comprendre que la liaison série constitue un excellent outil de développement tout autant qu’un protocole de communication à part entière. Une fois que cette notion est maitrisée, on gagne largement en temps de développement puisqu’on peut alors localiser bien plus facilement les points critiques de notre programme.

2°) Les liaisons SPI et I2C

Parfois, la liaison série ne permettra pas d’interagir avec des circuits intégrés ou des modules bien spécifiques. En fait, c’est une situation qui est assez récurrente même. Généralement, ces modules utilisent la communication I2C plus que SPI. Un exemple concret de communication SPI (Serial Peripheral Interface) pourrait être le shield officiel Arduino. Il utilise en effet les six pins situés absolument à droite de votre Arduino UNO (ceux qui sont regroupés au-dessous de la vis de fixation).

Pour l’I2C, les applications sont bien plus courantes et les exemples d’utilisations bien plus nombreux. En fait, nous nous sommes très souvent retrouvé face à des circuits à contrôler via I2C, c’est le cas notamment de convertisseurs Analogiques/Numériques ou encore de circuits RTC (Real Time Clock).

Un protocole I2C, pour Inter-Integrated circuit, fonctionne en fait sur le principe de maitre/esclave. On a un module maitre, dans notre cas l’Arduino, et plusieurs modules esclaves dont les adresses sont différentes. Bien souvent, l’adresse I2C du circuit est spécifiée dans la documentation et n’est pas modifiable. Il arrive cependant que certains pins aient été prévus sur les circuits pour modifier quelques bits de l’adresse. Le protocole I2C utilise deux fils, SDA (Serial Data Line) et SCL (Serial Clock Line). Vous le comprendrez donc aisément, on a une ligne de donnée et une ligne d’horloge. Pour faire simple, à chaque fois que la ligne SCL passe à l’état Haut, l’état actuel de la ligne SDA est transmis au circuit intégré. Si SDA est à 0, le circuit reçoit donc 0 et si SDA est à 1, le circuit reçoit un 1.

Bien entendu, le protocole n’est pas aussi simple que ça. Vous vous souvenez qu’il est question d’adresse mais aussi d’acquittement des données, de bit de Start, de Stop, etc… Heureusement, Arduino va nous permettre de simplifier grandement le travail grâce à la librairie Wire.h dont vous pourrez retrouver un exemple d’application en suivant le lien suivant: http://simple-duino.com/module-ds1307-chez-sparkfun/.

V) Composants et modules

1°) Les diodes, LED

a) Diodes et diodes Zener

Les diodes sont des semi-conducteurs permettant de protéger un circuit. En effet, ce composant ne laisse passer le courant que dans un sens, le bloquant dans l’autre jusqu’à ce que la tension du circuit soit supérieure à la tension de claquage de la diode auquel cas la diode se détruit.

Schéma diode

Schéma diode

La diode Zener est quant à elle faite pour ce type d’utilisation. Cette diode, souvent montée en parallèle du composant auquel elle lui est rapportée,  va faire office de coupe circuit lorsque la tension parcourant le circuit est trop importante et risque de détériorer le composant à protéger. La diode Zener, va, à ce moment-là « claquer » et le courant va ainsi passer à travers elle plutôt que le composant monté en parallèle.

Schéma diode Zener

Schéma diode Zener

Une des utilisations intéressantes est la mise en place d’une diode Zener de 5v en parallèle d’un fils branché à un Arduino afin d’éviter des « retours » de courant supérieurs à 5v risquant de détériorer la carte.

b) LED

Une LED (DEL en français, diode électroluminescente) est un semi-conducteur capable d’émettre de la lumière lorsque d’un courant la parcourt. La LED ne laisse passer le courant que dans un sens.

Les LED fonctionnent souvent avec des courants faibles. C’est pourquoi l’utilisation de résistance est obligatoire. La valeur de la résistance nécessaire est obtenue grâce à la loi d’Ohm énoncé auparavant. Les datasheets des constructeurs fournissent les informations nécessaires au calcul de cette résistance.

Schéma diode électroluminescente

Schéma diode électroluminescente

2°) Les résistances et potentiomètres

a) Les résistances

Une résistance est un composant passif permettant de protéger un composant en abaissant la tension ou le courant le traversant.

Chaque résistance est référencée grâce à sa valeur qui peut être lue en observant ses bandes de couleurs.

Code couleur résistance

Code couleur résistance

De plus, il est possible de monter en série et en dérivation un ensemble de résistance permettant ainsi d’obtenir de nouvelles valeurs.

  • En série: La valeur de la résistance équivalente des résistances montées en série s’additionne:

Req_Serie

  • En parallèle: La valeur de la résistance équivalente des résistances montées en parallèles s’obtient de la manière suivante:

Req_Parallele

b) Les potentiomètres

Les potentiomètres sont des résistances variables. Il en existe deux sortes, les linéaires et les rotatifs.

Les deux potentiomètres fonctionnent sur le même principe. Un curseur, dont nous définissons sa position, se déplace sur une piste en carbone. La distance du fil entre la broche d’entrée et le curseur défini une valeur de résistance que l’on va noter R1, et une seconde valeur de résistance R2 est définie entre le curseur et la broche de sortie. Il ne resta plus qu’à appliquer un pont diviseur de tension.

Schéma potentiomètre rotatif

Schéma potentiomètre rotatif

Eh oui !  Un potentiomètre est un pont diviseur de tension variable !

3°) Quelques composants utiles

a) Les condensateurs et bobines

b) Les transistors et relais

Les transistors sont des semi-conducteurs à jonction PN qui, lorsqu’il est commandé, permet d’être utilisé comme interrupteur. Il existe deux types de transistors, les PNP et les NPN. Les plus utilisés sont les transistors NPN, c’est pourquoi nous expliquerons essentiellement le fonctionnement de ce type de transistor.

Chaque transistor possède trois broches.

  • B: Base
  • C: Collecteur
  • E: Emetteur
Schéma des transistors

Schéma des transistors

En appliquant un courant sur la base, le passage entre le collecteur et l’émetteur s’effectue.

c) Les AOP (Amplificateur Opérationnels)

d) Capteur de température

e) Capteur de luminosité (photorésistance, photodiode)

Les capteurs de luminosité sont des composants électroniques permettant de générer une grandeur physique (résistance, intensité) en fonction de son exposition à la lumière. Les deux grandes familles de capteur de luminosité sont :

  • Les photorésistances
  • Les photodiodes

La photorésistance est une résistance variable en fonction de son exposition à la lumière.

Si vous souhaitez découvrir comment utiliser dans un projet une photorésistance, je vous encourage à aller visiter ce tutoriel.

La photodiode est un semi-conducteur capable de générer une intensité en fonction de son exposition à la lumière. L’intensité générée par la photodiode est souvent de l’ordre du µA ou mA. Vous le savez très bien maintenant, la seule grandeur physique que l’arduino est capable de mesurer est une tension. C’est pourquoi il est nécessaire de convertir l’intensité générée par la photodiode en tension. Pour réaliser cette action on utilise généralement un montage à transimpédance (convertisseur courant-tension).

Montage à transimpédance avec photodiode

Montage à transimpédance avec photodiode

De plus, ce montage à transimpédance permet d’amplifier le signal afin qu’il puisse être interprété par l’arduino.

Remarque : L’AOP à besoin d’être alimenté en 5v (Vcc) et -5v (Vdd). La tension de -5v n’est pas naturelle. Il est néanmoins possible de l’obtenir en utilisant un composant « lmc7660 ».

4°) Des modules intéressants

Lors de la réalisation de vos projets, vous serez souvent confronté au choix technologique à utiliser pour transmettre des données. Par exemple lors de l’utilisation d’un pupitre, manette de commande pour contrôler votre mécanisme. Nous allons voir ensemble les avantages et inconvénients de chacune des technologies suivantes.

a) Modules Wifi

Grâce à la miniaturisation et à la diminution du coût des composants, la technologie wifi est devenue quelque chose de relativement simple à mettre en œuvre, notamment grâce aux modules ESP8266. Ce sont des modules qui coûtent entre 1$ et 3$ et qui sont pilotables via liaison série en transmettant simplement des commandes « AT », un standard en communication série. La porte du signal est de l’ordre d’une quinzaine de mètres mais dépend fortement de l’agencement des pièces.

L’utilisation de tels modules se révèle être un peu complexe au début mais devient rapidement simplissime face à la complexité de plus gros modules et plus coûteux comme le wifi shield officiel d’Arduino.

Vous pourrez retrouver un premier tutoriel sur les modules wifi ESP8266 sur notre site.

b) Module Bluetooth

L’avantage majeur du Bluetooth, c’est que presque tout le monde possède aujourd’hui un smartphone capable d’échanger des données en Bluetooth. L’un des inconvénients cependant, c’est la faible portée du signal Bluetooth (qui est cependant gage de sécurité dans certains cas).

Tout comme pour le wifi, il existe des modules low-cost et qui fonctionne par liaison série grâce à des commandes « AT ». L’un de ces modules serait alors le HC-05.

c) Module RF (radiofréquence)

Bien souvent, la radiofréquence se révèle être le moyen de communication le plus simple et rapide à mettre en œuvre. Un détail peut-être qui pourrait pourtant avoir un intérêt important, le signal radio est l’un des seuls capables d’évoluer dans un milieu aquatique. On trouve des kits émetteur/récepteur radiofréquence pour quelques euros sur internet et leur utilisation reste relativement simpliste comme en témoigne ce tutoriel disponible sur notre site.

 

L’Arduino n’a pas de limite, il répond à votre imagination.


Voilà ! Vous voici prêt pour concevoir et développer vos propres systèmes électroniques, domestiques ou autres. N’hésitez pas à laissez vos commentaires mais aussi à partager vos connaissances sur le forum.


Grégoire A., Thomas A., Fabien A.