Skip to main content

BME280 sur Raspberry pi : température, pression et humidité en I2C

bme280 de l'arrière (côté opposé au capteur)

Le BME280 est le successeur du BMP185 et du BMP85. Ce composant permet de mesurer la température, la pression atmosphérique et l’hygrométrie (taux d’humidité dans l’air). La communication avec ce composant passe par l’omniprésent et très pratique bus I2C. Nous verrons ici comment utiliser le BME280 sur Raspberry pi.

En savoir plus

Nouveau tutoriel sur le wiki : le DS18B20 sur un Raspberry pi

Sonde de température DS18B20

L’un des tutoriels à été porté sur le wiki. Cette fois ci, il s’agit de la Mesure de la température avec une sonde numérique DS18B20 sur un RaspberryPi. Ce tutoriel avait été préalablement publié au format blog ici.

Cette version permet une bonne visualisation du code et le téléchargement aisé des fichiers sources décrits (plus de copier-coller qui fonctionnent mal 🙂 ), ainsi qu’une navigation simplifiée. On peut également exporter l’article vers divers formats.

Bonne lecture!

Capteur de son binaire (seuil) – Alitest

Capteur de son binaire

Aujourd’hui, nous testons un capteur de son binaire économique acheté sur Aliexpress. Pour 60 centimes, on nous propose un capteur capable de détecter un niveau sonore. Qu’en est il? c’est ce que nous verrons dans ce nouvel article de la rubrique alitest.

Tout d’abord le capteur en lui même est compact : 46*15.5*9.7mm dans les plus grandes dimensions.  Il est fourni assemblé, avec un connecteur à trois broches (vout, gnd et vcc).

L’ensemble est assez simple, et il y a un trou pour fixer le capteur. Sur le côté droit sur les photos ci dessus  se trouve le microphone chargé de capturer le son. Il n’est pas collé au circuit, donc on a un peu de latitude pour l’orienter, et on peut faire en sorte qu’il soit comme sur la photo, ou tourné vers l’arrière ou l’avant.

Branchement et installation

Le branchement est très simple : connectez la broche VCC au +5V sur un Arduino ou au +3.3V sur un Raspberrypi, GND à la masse, et OUT sur une entrée numérique (ou analogique), et le tour est joué. Si le branchement est correct, une DEL verte devrait s’allumer sur la carte. Sans rien programmer, une seconde DEL devrait s’allumer lorsque l’on fait assez de bruit. Le rail d’alimentation VCC requiert une tension entre 3.3 et 5V, donc toute valeur intermédiaire fera l’affaire.

Capteur de son à sortie binaire, à un moment ou il n'y a pas de son.

Capteur de son binaire, à un moment ou il n’y a pas de son.

Utilisation du capteur de son binaire

L’utilisation est également très simple, puisqu’il s’agit d’un capteur de son binaire, c’est à dire dont la sortie est 0 ou 1. En pratique, il ne retournera pas le niveau sonore, mais simplement indiquera si l’on dépasse un certain seuil sonore.

Capteur de son à sortie binaire, lorsqu'un son est détecté.

Capteur de son binaire, lorsqu’un son est détecté.

Le cas échéant, ce sera indiqué sur la carte par l’allumage d’une petite DEL, comme sur la photo ci dessus. Pour s’en servir, il suffira donc de lire la valeur du GPIO connecté à la broche OUT du capteur. Quand aucun son n’est détecté, la sortie est à 1, alors que lorsqu’un son est détecté la sortie sera à 0, comme illustré sur les deux images ci après. Il faudra donc bien faire attention dans le code, car c’est le contraire de ce à quoi on pourrait s’attendre.

Capteur de son à sortie binaire, à un moment ou il n'y a pas de son, la sortie est 1.

Capteur de son à sortie binaire, à un moment ou il n’y a pas de son, la sortie est 1.

Le potentiomètre bleu visible sur les photos permet de régler le niveau du seuil de détection du son. Il nécessite un petit tournevis pour pouvoir l’ajuster, et ne sera donc pas modifié par erreur.

Utilisation avancée

Puisqu’il s’agit d’un capteur de son binaire, on ne peut pas directement mesurer le niveau sonore. Il est toutefois possible d’obtenir une indication approximative de celui ci. Pour cela, on fera de multiples mesures  pendant une période définie, et on comptera le nombre de fois ou la sortie aura été à 0 (son détecté). Ainsi, la sommation de ces valeurs permettra d’obtenir une indication grossière du niveau sonore sur la période observée. Dans ce contexte, un bon réglage du seuil sera important.

Bien sur, pour obtenir une indication plus précise du niveau sonore, il est préférable d’utiliser des capteurs de son fournissant une sortie continue, comme les modèles suivants:

Conclusions

Est-ce que cette carte fonctionne? Oui, elle fait le boulot. La sortie ne m’a pas paru extrêmement stable (elle ne reste pas toujours à 0,même quand il y a du bruit), donc je pense qu’il y a quelques ajustements à faire dans le code. La sortie du capteur est binaire, ce qui fait qu’il est moins sophistiqué que les autres capteurs mentionnés, mais à un prix aussi bas, je suppose qu’on ne peut pas en demander beaucoup plus!

En pratique, c’est un capteur qui fonctionne, et facilement. Je vous ferai des retours plus tard, en comparant ce que fournit ce capteur et celui d’Adafruit.

Composants de R.Ian – pièces à imprimer ou acheter

châssis de R.Ian assemblé avec les roues, moteurs, la batterie et les contacteurs.

Dans un précédent billet, nous avons vu les objectifs qui ont guidé la conception de R.Ian, et dans le suivant détaillé la conception paramétrique des roues. Nous allons maintenant nous pencher sur les composants de R.Ian, à savoir la liste exhaustive des éléments nécessaires pour le construire de A à Z.

Voyons en pratique la  liste des composants de R.Ian :

Composants de R.Ian à imprimer en 3D :

Au total, les composants de R.Ian à imprimer reviennent à 2.91€ pour le filament, pour un peu moins de 3 heures d’impression 3D à des vitesses normales, et on en a pour 57g de PLA et 12g de ninjaflex.

Composants de R.Ian à acheter

A ce point, nous avons toutes les pièces nécessaires pour un robot minimal pour un peu moins de 27€. Les éléments suivants sont facultatifs, mais tout de même recommandés :

Avec tout cela, nous avons les éléments du robot pour environ 35€, en incluant des options qui ne sont pas nécessaires, mais sympathiques. Nous considérerons que ces options font partie du robot de base, mais elles restent des options car elles peuvent être enlevées si souhaité, tandis que le reste est nécessaire au fonctionnement de R.Ian

Le robot est amené à changer un peu, avec notamment un étage optionnel supplémentaire, pour accueillir un raspberry pi zero (5€), ou un autre modèle (le zero est préféré car moins cher, mais je ferai les pièces pour les autres modèles), mais aussi une carrosserie (une nouvelle pièce à imprimer), qui protégera l’électronique et les capteurs, tout en fournissant une poignée pour attraper le robot, et en gardant l’avant ouvert pour le capteur optique (toutefois couvert par dessus, celui ci étant fragile, surtout monté sur le servomoteur). Cette pièce devrait augmenter le prix total d’un euro environ.

Enfin, le système de roues actuel ne me satisfait pas, la roue sur pivot à l’avant était trop chère, et les axes des servomoteurs sont trop fragiles. Ces servomoteurs sont de plus de qualité un peu médiocre, je pense donc passer à des moteurs DC classiques. Il faudra donc que je conçoive un système imprimable de roue sur pivot, ou alors que je passe à un système de chenilles. J’ai déjà des moteurs en tête, et j’ai conçu le système de fixation des roues sur ces moteur, il me font concevoir les chenilles et les roues libres. L’objectif est aussi de rendre le robot plus solide, pour un usage scolaire.

Dans un prochain billet, je reviendrai sur divers éléments de la conception, comme par exemple les roues, qui sont hautement paramétrables (nombre de rayons, taille, épaisseur, pneus etc).

DS18B20 Raspberry pi – Mesurer la température avec une sonde numérique

DS18B20 logo sonde température numérique

Pour mesurer la température, il est possible d’utiliser divers capteurs, tels que le TMP36, le DHT11/DH22, ou encore le DS18B20. C’est à cette dernière sonde que nous nous intéresserons aujourd’hui. Il s’agit d’une sonde numérique (pas besoin de convertisseur analogique-numérique tel que le MCP3008) qui est assez précise (±0.5°C sur la plage -10°C – 85°C), raisonnablement facile à utiliser, et consommant peu. Par rapport à une sonde analogique, c’est un peu plus complexe, puisqu’il faut utiliser le protocole dallas 1-wire, mais nous verrons qu’il y a déjà les outils nécessaires pour exploiter tout cela.

En savoir plus

Raspberry pi mobile – mesure de la tension de la batterie

Raspberry pi mobile

Suite à mes premiers tests sur un Raspberry pi mobile utilisant une batterie lipo qui a permis plus de 40 heures d’autonomie, je poursuis les expérimentations dans le domaine. Nous reprendrons le même montage, mais nous ajouterons un convertisseur analogique vers numérique afin de pouvoir mesurer la tension de la batterie. Nous ajouterons également une charge activable sur commande pour représenter une activité plus lourde, et nous établirons des profils de consommation, et chercherons une méthode d’estimation de l’autonomie restante en fonction de la tension mesurée de la batterie.

En savoir plus

Mesurer une tension avec un pont diviseur de tension

pont diviseur de tension

Si l’on mesure une tension, il faut que celle ci soit inférieure aux tensions admissibles par le composant qui les mesure. Généralement il s’agit de la tension d’alimentation du composant : un composant alimenté en 5V mesurera des tensions jusqu’à 5V par exemple. Si l’on dépasse la valeur limite, on risque de détériorer le composant qui mesure la tension. Mais que faire dans ce cas si l’on souhaite mesurer une tension plus élevée? Par exemple, si avec votre Arduino, vous souhaitez mesurer la tension d’une batterie de voiture? Il est possible dans ce contexte d’utiliser un pont diviseur de tension. Nous verrons dans cet article le principe, comment calculer les bonnes valeurs pour votre pont diviseur et également comment le réaliser et s’en servir.

En savoir plus

Capteur PIR et Arduino : Tutoriel

capteur PIR
capteur PIR

capteur PIR

Les capteurs PIR, pour Passive Infrared Sensor (capteur infrarouge passif) permettent de détecter la présence d’humains mobiles dans le champ du capteur (ça ne fonctionne pas avec les zombies!). Ils sont utilisés dans divers systèmes de sécurité et détecteurs de mouvements. On en trouve à bas coût, et ils sont très simples à utiliser. Cet article servira de tutoriel sur l’utilisation d’un capteur PIR avec un Arduino.

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

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