Skip to main content

Mesurer la luminosité (éclairement lumineux,lux) avec un Arduino

Capteur de lumière analogique GA1A12S202
Capteur de lumière analogique GA1A12S202

Capteur de lumière analogique GA1A12S202

L’éclairement lumineux mesure la sensation d’éclairement qu’on perçoit dans une situation donnée. Cette grandeur se mesure en lux, et correspond à 1 candela. stéradian/m². Nous verrons aujourd’hui comment mesurer cette valeur à l’aide d’un petit composant économique, la sonde analogique de luminosité GA1A12S202 de chez Adafruit.

Ce composant est minuscule (10 x 13 x 1.5mm), économique (moins de 4$, environ 3€), fonctionne avec une tension assez large (de 2.3 à 6V), et à une consommation négligeable (quelques centaines de µA au maximum). Le câblage est également très simple : il suffit de brancher la broche VCC (la plus à gauche) au 5V ou au 3.3V, la broche GND (la plus à droite) à la masse (0V du circuit), et enfin la broche OUT (broche centrale) à l’une des broches analogiques de votre Arduino ou votre Raspberry Pi. Ce composant est fait de façon à fournir une sortie inférieure à 3.3V même lorsqu’il est alimenté en 5V, on peut donc le brancher directement sur un composant 3.3V en sortie.

L’utilisation s’avère toutefois légèrement plus délicate que l’installation, sans toutefois être insurmontable. Nous verrons ceci en détails ici, et le code source complet d’un exemple fonctionnel est disponible sur le github du projet Milapli.

En savoir plus

Utiliser un module radio 433Mhz pour faire communiquer deux modules

module radio 433mhz seedstudio
Kit seedstudio 433Mhz, émetteur+récepteur

Kit seedstudio 433Mhz, émetteur+récepteur

Dans ce billet, nous verrons comment communiquer sans fil entre deux élements, par le biais de modules radio 433Mhz. La bande des 433Mhz est libre pour ce genre de communications, et nous trouverons donc de très nombreux modules adaptés. Par exemple, chez snootlab, vous trouverez un émetteur 434Mhz et le récepteur 434mhz associé, ou encore un module émetteur-récepteur RFM12. Ce dernier est un module plus intéréssant, car il gère bien plus de choses que les modules simples, et pour 5€ on a un module bi-directionnel. Toutefois, il est plus complexe à utiliser. Pour un premier essai, je me suis procuré des kits très économiques comprenant émetteur et récepteur 433Mhz, pour un peu moins de 4€ (pour les deux). Ces modules sont très simples, très petits, et assez facile à utiliser. Nous verrons donc comment s’en servir pour transmettre des données.

En savoir plus

Lire la valeur d’une sonde de température et d’hygrométrie DHT11/DHT22/AM2301

montage DHT22 sur arduino avec LCD
DHT22 et DTHT11 de face

DHT22 et DTHT11 de face

Dans ce billet, nous poursuivons la construction de notre station météo. Cette fois ci, nous ajouterons la lecture de l’hygrométrie, à savoir le taux d’humidité dans l’air. Pour cela, l’un des composants les moins chers que j’ai pu trouver est le DHT11. Ce composant regroupe à la fois une sonde de température et un capteur d’humidité. Il existe une autre version, le DHT22 qui est plus précise et possède une plus large plage de fonctionnement, mais qui coûte environ le double du prix. Il existe également un capteur portant la référence AM2302, qui est en fait un DHT22 avec des fils au lieu de broches, et une résistance pull-up. Dans tous les cas, le montage présenté ici sera valable pour les trois, et le code similaire.

En savoir plus

Lecture d’une sonde de température TMP36 sur un Arduino

sonde TMP36 (crédits Adafruit)
Broches du TMP36

Broches du TMP36

Aujourd’hui, nous nous pencherons sur l’utilisation d’une sode de température TMP36 sur un Arduino.

Pour le projet de station météo “home made”, il nous faut des capteurs. Nous allons commencer par un capteur très simple, économique, et facile à utiliser avec le TMP36.

Branchement

En fait, ce capteur est tellement simple, que ce billet risque d’être très court! L’image de gauche donne même toutes les informations nécessaires.
Pour lire ce capteur, il faut une entrée analogique. Sur un Arduino, ce seront les broches A0 à A5. Sur un Raspberry Pi, il faudra utiliser un MCP3008 ou un autre convertisseur analogique vers numérique.

Ce capteur donne la température de -50 à 125°C, et est alimenté via du courant continu entre 2.7V et 5.5V pour une consommation de 0.05mA. Ce n’est donc pas ce capteur qui videra les batteries de votre montage.

Dans la forme que j’ai utilisée, il y a un coté arrondi, et un coté plat. Si le coté plat est vers vous, alors la broche de gauche ira sur le +5V de votre Arduino, ou sur le +3.3V du Raspberry Pi. La broche centrale ira sur votre entrée analogique, par exemple le A0 du Arduino, ou une broche d’entrée du MCP3008 connecté à votre Raspberry Pi. Enfin, la broche de droite sera connectée à la masse (0V) de votre circuit.

Et voila! Le branchement est fini!

En savoir plus

Creation d’une station météo “maison” : projet Milapli

Une version de test de Milapli, une station météo basée sur un
Anémomètre (WSTX20) de la station Lacrosse WS 2355

Anémomètre (WSTX20) de la station Lacrosse WS 2355

Bonjour à tous!

Aujourd’hui, je vais vous présenter mon nouveau projet : la création d’une station météo de toutes pièces. Je possède déja une station météo du commerce, mais je suis sur qu’on peut faire quelque chose de proche pour moins cher. D’autre part, avec une station météo faite soi même, on peut ajouter tous les capteurs que l’on veut.

C’est donc l’occasion d’aller plus loin qu’une simple station météo : il sera possible d’ajouter toutes sortes de capteurs environnementaux et de mesurer de nombreux paramètres. D’autre part, comme nous maîtrisons complètement le matériel ET le logiciel, il sera possible de programmer le rythme de collecte de données, le stockage de celles ci, et tout ce qui nous souhaitera important.

Voyons maintenant les objectifs de ce projet.En savoir plus

Mesurer la distance à laquelle se trouve un objet avec un capteur infrarouge sur le Raspberry Pi

Mesurer la distance à laquelle se trouve un objet avec un capteur infrarouge sur le Raspberry Pi

Dans le ce billet, nous verrons comment utiliser un capteur de distance infrarouge ou pour mesurer précisément la distance entre le capteur et un objet en face de celui ci. Dans un prochain billet, nous verrons comment réaliser la même chose avec un capteur à ultra-sons.

En savoir plus

Utilisation d’un relais Grove sur un Arduino : commandons un appareil 220V depuis notre arduino

Relais grove avec circuit associé.

Relais grove avec circuit associé.

Dans le tutoriel d’aujourd’hui, nous allons voir comment utiliser un relais pour commander un appareil fonctionnant en 220V depuis un Arduino. Quand je dis commander, il s’agit de l’allumer, ou de l’éteindre.

Pour cela, nous utiliserons un relais. Un relais est un composant qu’on pourrait comparer à une vanne : il peut soit laisser passer le courant, soit ne pas le laisser passer. Aujourd’hui nous utiliserons un relais “normally open”, pour “ouvert par défaut”. Cela signifie que de base, le relais ne laisse pas passer le courant.

Si nous appliquons un signal de 5V, celui ci laissera passer le courant. Le courant qu’on contrôle peut avoir une tension de continue allant jusqu’à 30V ou une tension alternative de 250V max. En pratique, cela signifie qu’on peut contrôler du courant secteur!

En savoir plus

Ajouter des GPIO au Raspberry Pi en utilisant une puce MCP23017 ou 23008

puce MCP23017, crédits photo Adafruit
Puce MCP23017

Puce MCP23017

Si le nombre de GPIO disponibles sur le Raspberry Pi ne vous convient pas, pas d’inquiétude, il est possible d’en rajouter. La puce MCP23017 permet d’ajouter 16 GPIO , et la puce MCP23008 permet d’en rajouter 8. Dans les deux cas, ces puces se connectent au Raspberry Pi sur des GPIO “spéciaux”, dédiés au protocole I²C. Ce qui est formidable, c’est que même ainsi, vos broches I²C restent disponibles, grâce à un système d’adressage.
Il est ainsi possible de connecter d’autres puces sur les broches I²C en chaînant celles ci avec notre MCP23017 ou MCP23008. Pour cela, on utilisera un système d’adressage que nous verrons plus tard.
Ces deux puces coûtent 2$ pour le MCP23008, et 3$ pour le MCP23017. A moins d’avoir des contraintes d’espace (le MCP23008 se présente sous forme d’une puce à 16 broches, en 2*8, alors que la MCP23017 est une puce à 28 broches, en 2*14) sur votre montage, autant prendre des MCP23017. 🙂

En savoir plus

Mesurer la luminosité avec une photo résistance

photorésistances diverses
Photo résistance

Photo résistance

Une photo-résistance est un composant dont la résistance varie en fonction de l’intensité lumineuse s’appliquant sur sa surface. On peut s’en servir pour détecter s’il fait jour ou nuit, mais aussi, en utilisant une paire de photo résistances, déterminer la direction d’une source lumineuse. Ce composant pourra par exemple servir à orienter un panneau solaire vers le soleil et ainsi maximiser l’énergie reçue… On pourra également s’en servir pour un robot suiveur de ligne, ou pour détecter le mouvement d’un objet qui obstruerait une source lumineuse. Les applications sont très nombreuses, et ce composant est économique et simple à utiliser, alors pourquoi s’en priver?

Ce billet vise à décrire la lecture des valeurs d’une photodiode en utilisant un Raspberry Pi. Nous avons vu comment lire des valeurs analogiques en utilisant une puce MCP3008, et nous utiliserons ce même montage pour lire notre photo résistance. Si vous utilisez un Arduino, c’est encore plus simple, puisqu’il suffira de connecter la broche de lecture à une broche analogique du Arduino, et de remplacer l’alimentation 3.3V par une alimentation 5V sur le schéma.

De nombreux tutoriels sont disponibles pour Arduino, par exemple celui d’Adafruit : Utiliser une photorésistance avec un Arduino.

Voyons maintenant de quoi nous aurons besoin.

  • Une photorésistance
  • Une résistance classique d’environ 1-2KOhm (valeur à adapter à ce que vous voulez mesurer)
  • Un Raspberry Pi
  • Un MCP3008 connecté au Raspberry pi
  • Comme d’habitude, c’est plus facile avec une breadboard, mais on peut faire sans.

En savoir plus

Lire des entrées analogiques sur un Raspberry avec un circuit ADC : le MCP3008

Convertisseur analogique-numérique MCP3008
Convertisseur analogique-numérique MCP3008

Convertisseur analogique-numérique MCP3008

Le Raspberry pi est doté des GPIO, capables de servir d’entrées(tuto) ou de sorties(tuto) numériques. On peut donc lire des signaux logiques hauts ou bas (des 0 ou des 1). Il n’est en revanche pas possible de lire directement des valeurs analogiques. Pour cela, il faut utiliser un ADC, pour “Analog to Digital Converter”, ou convertisseur analogique vers numérique en français, dont le Raspberry Pi n’est pas doté. L’objet de ce tutoriel sera justement de connecter une puce, la MCP3008, au Raspberry pi via le bus SPI pour ajouter huit entrées analogiques. A titre d’exemple, nous nous servirons de ces entrées pour pouvoir effectuer la lecture des valeurs d’un capteur simple : le potentiomètre. Il est toujours possible d’accéder à la liste des tutoriels sur le Raspberry pi sur le wiki.

N’hésitez pas à consulter la version wiki de cet article, plus confortable avec des liens supplémentaires.

 

En savoir plus

Utilisation d’un circuit L293D pour commander des moteurs

L293D : contrôleur de moteurs
L293D Motor Driver

L293D Motor Driver

Si l’on branche un moteur à courant continu (DC Motor) à une source de courant adaptée, celui ci tournera. Si l’on veut inverser le sens de rotation, il suffit d’inverser le branchement. Cependant, inverser des branchements “à la main” ne convient pas à un robot. Nous verrons donc aujourd’hui comment contrôler le sens et la vitesse de rotation d’un ou deux moteurs en utilisant un circuit intégré L293D. Pour davantage de moteurs, il suffira de multiplier les puces L293D. Cette puce vaut environ 2.5$. Dans ce tutoriel, nous verrons comment interfacer cette puce avec un raspberry pi (les branchements). Ce tutoriel est également valable  pour un Arduino ou tout autre microcontrôleur ayant des sorties programmables En savoir plus

Lire la valeur d’un bouton connecté aux GPIO du Raspberry Pi

boutons chromés

Les GPIO du Raspberry pi peuvent être utilisés en sortie (écriture), mais également en entrée (lecture). Nous nous intéresserons ici à cette seconde possibilité, qui permettra au Raspberry pi de recevoir des informations du monde extérieur. L’objectif de ce tutoriel est de s’appuyer sur le tutoriel sur l’utilisation d’un GPIO en sortie pour contrôler une LED, et d’y ajouter le fait de lire un bouton poussoir connecté sur un autre GPIO pour changer l’état de cette LED. Il est également possible d’accéder à la liste des tutoriels sur le Raspberry pi pour voir d’autres utilisations.

En savoir plus

Contrôler une LED depuis les GPIO du Raspberry PI

LED de 5mm : rouge, jaune, verte, orange, bleue, blanche et infrarouge

Un des grands intérêts du Raspberry pi est qu’il dispose de GPIO utilisables comme entrée ou sortie afin de lire des capteurs ou commandes des systèmes. Nous nous verrons ici comment contrôler les GPIO du Raspberry pi configurés en mode sorte, à travers un exemple concret ou nous commanderons une LED. Il est également possible d’accéder à la liste des tutoriels sur le Raspberry pi pour voir d’autres utilisations.

 

En savoir plus

Les moteurs électriques ou comment faire bouger les choses

routage des câbles des moteurs

Nous allons voir ici différents types de moteurs, tous électriques, que nous pourrons utiliser dans des projets robotiques, domotiques ou autres. Nous nous concentrerons uniquement sur des dispositifs électriques, car ceux ci peuvent être contrôlés par un processeur que nous pourrons programmer facilement, et peuvent fonctionner avec des piles, batteries, panneaux solaires… Quoi de mieux pour faire un robot?

Nous verrons quatre types principaux de moteurs :

D’autres types de moteurs électriques existent, mais ceux ci sont les plus courant et nous seront les plus utiles.
  1. Les moteurs à courant continu, ou DC motors;
  2. Les moteurs “pas à pas”, ou Stepper motors;
  3. Les moteurs linéaires ou Linear motors;
  4. et enfin les servo moteurs.

En savoir plus

Le cycle des robots : les Robots de l’aube

Le cycle des robots : les Robots de l’aube

Bonjour à tous! ce billet, dont le titre fait référence au cycle des robots, d’Isaac Asimov, me permet de vous indiquer une nouvelle thématique : la robotique. J’ai décidé depuis peu de me lancer dans la robotique, la domotique, et les systèmes automatiques/intelligents. Je me mettrai donc dorénavant à poster des billets sur ces thématiques, des tutoriels, des pages de liens…

L’objectif est de pouvoir aborder la robotique du point de vue d’un débutant, et de proposer des ressources qui permettent de s’y mettre, et de commencer à appréhender le domaine, et de réaliser soi même des montages ne nécessitant pas forcément de grands moyens.

En attendant mes billets, voici déjà quelques liens:

Je ferrai un annuaire plus détaillé ultérieurement, mais voici déjà de quoi se documenter si vous ne pouvez pas attendre mes prochains billets 😉