Archives par étiquette : électronique

Bonne année 2014 !

Raspberry_Pi_2014

Je vous souhaite à toutes et à tous une excellente nouvelle année 🙂

Bonheur, amour, joie, partage et pleine réussite dans tous vos projets 🙂

Je profite également de ces voeux pour vous remercier tous pour vos encouragements qui maintiennent ma motivation au top 🙂

En 2014, je vais attaquer un nouveau sujet très vaste, toujours avec des Raspberry Pi : la domotique 🙂

Continuer la lecture

GPIO – Télémètre à ultrason SRF02

Parmi les capteurs les plus usités on trouve les télémètres : des senseurs capables de mesurer les distances. Plusieurs technologies peuvent être mises en oeuvre pour mesurer les distances par télémétrie. On trouve ainsi des télémètres optiques (utilisant la lumière, comme les télémètres laser, très précis), des radars (utilisant les ondes radio), des sonar (utilisant les ondes sonores), etc…

Le principe est toujours le même : Il s’agit d’envoyer un signal (lumineux, radio ou sonore) et de mesurer en combien de temps ce signal revient à son point d’origine après avoir « rebondit » sur un obstacle. Lorsqu’on connait la vitesse de propagation de la lumière ou des ondes sonores, on peut déterminer à quelle distance se trouve un objet grâce à la formule connue de tous : vitesse = distance / temps, soit distance = vitesse x temps.

telemetrie_calcul_distance

Dans cette article nous allons nous intéresser en particulier aux télémètres à ultrason. Nous allons voir quels modèles choisir et comment les utiliser avec nos Raspberry PI 🙂

Continuer la lecture

GPIO – Entrée en matière

Grâce à son port GPIO (General Purpose Input/Output), le Raspberry Pi peut interagir avec le monde réel en communiquant avec des capteurs, des moteurs, et un tas d’autres composants électroniques (sondes de température, LEDs, capteurs gyroscopiques, boussoles, GPS, servos moteurs, récepteurs IR/RF…). De la petite commande relais pour piloter vos guirlandes de Noël, au robot, en passant par la station météo et le drone, les possibilités sont sans limites, ou presque 🙂

pi_gpio

Le matériel de base

Qui dit GPIO, dit composants électroniques 🙂 Il va de soit que des compétences en électronique de base sont requises. De plus, il convient de s’équiper d’un minimum de matériel afin de pouvoir tester et réaliser de petits circuits.

imageVoici, selon moi, le stricte minimum du matériel à acheter avant de démarrer :

Le port GPIO

Le port GPIO du Pi comporte 26 broches qui peuvent être utilisées de manières différentes. Le schéma ci-dessous (publié par le site eLinux) montre le rôle de chaque broches ainsi que les protocoles qu’elles supportent.

GPIOsOn distingue 7 types de broches et usages qu’on peut en faire :

Ces différents « bus » et « protocoles » permettent d’interfacer le Pi avec d’autres cartes, modules ou composants électroniques.

Les exemples d’utilisation les plus simples des broches de type GPIO sont l’allumage et l’extinction d’une LED, l’interaction avec un bouton/interrupteur, le contrôle de relais, etc,…

L’I²C, le SPI, l’UART et le PWM permettent quant à eux de communiquer avec des microcontrôleurs pour réaliser des opérations plus complexes telles que le contrôle de servos moteurs, la lecture de mesures prises par des capteurs etc,…

Alimentation des broches

Avant toute chose il est important de préciser les broches du port GPIO sont alimentées en 3,3V. Seules les deux broches d’arrivée de courant (en rouge) fournissent une tension de 5V.

Ce qui veut dire qu’en mode ouput (sortie) la tension fournie par une broche est de 3,3V et délivrera un courant de 50mA max. Vous devrez donc vous assurer que les composants que vous reliez à ces broches supportent se type de courant. En mode input (entrée), une broche ne tolérera qu’une tension maximum de 3,3V ! Vous devrez donc toujours faire attention à vos branchements pour éviter d’endommager votre Raspberry Pi 🙂 

En outre, il est préférable d’utiliser une source d’alimentation tierce pour les composants et modules électroniques que vous souhaitez ajouter dans votre circuit. En effet, le Raspberry Pi n’est pas suffisamment robuste pour alimenter correctement et sans danger des circuits électroniques. Pour allumer une LED pas de problème, mais pour faire tourner un moteur, prévoyez une source d’alimentation dédiée.

Dans l’absolue, et pour des raisons évidentes de sécurité, je conseille d’utiliser des piles plutôt que de travailler directement sur le secteur (d’où le coupleur de pile dans la liste du matériel de base) 😉

Prendre la main sur le port GPIO

WiringPi est un outil qui permet de contrôler les différentes broches du port GPIO. Pour installer WiringPi :

git clone git://git.drogon.net/wiringPi
cd ./wiringPi
./build

A partir de là, vous pouvez obtenir l’état de toutes les broches grâce à la commande :

gpio readall

Ce qui devrait vous afficher un tableau de ce type :

readallChaque ligne du tableau représente une broche du port GPIO et vous indique sont mode IN/OUT (entrée/sortie) et sont état/valeur 0/1 (low/high). La colonne GPIO représente le numéro de la broche tel que décrit sur le schéma en haut de cet article. La colonne wiringPi représente le numéro de broche que vous devez utiliser en utilisant la commande gpio.

De manière très simplifiée, si vous voulez allumer une LED, vous devez mettre la broche en mode sortie/output. En mettant l’état de la broche à 1/up, la LED s’allumera. Si vous voulez savoir si un bouton/interrupteur est ouvert ou fermé, vous devez mettre la broche en mode entrée/input. Si vous lisez la valeur 0/down, alors l’interrupteur est ouvert. Si vous lisez la valeur 1/up, alors l’interrupteur est fermé 🙂 Dans la pratique c’est un tout petit peu plus complexe, mais il s’agit là de comprendre le principe.

Pour chaque broche, vous pouvez changer le mode entrée/sortie ou in/out grâce à la commande (<pin> étant le numéro de la broche ciblée) :

gpio mode <pin> in
gpio mode <pin> out

En mode entrée/read vous pouvez lire l’état d’une broche avec la commande :

gpio read <pin>

En mode sortie/write, vous pouvez changer l’état d’une grâce à la commande :

gpio write <pin> 0
gpio write <pin> 1

Pour plus d’information sur la commande gpio : http://wiringpi.com/the-gpio-utility/

Quelques exemples de montages simples

En cherchant un peu sur le web vous trouverez une multitude de tutos qui expliquent comment faire de petits montages simples. Inutile de plagier la terre entière en recopiant ici ces tutos, je préfère vous donner directement quelques liens :

4 – L’alimentation – 2/2

Cet article est dédié au circuit de temporisation de l’alimentation. Ce système à entièrement été réalisé par mon P’pa, je vais donc tâcher de retransmettre toutes les étapes de sa fabrication avec pleins de photos 🙂

Cahier des charges

  • Système de tempo totalement indépendant
  • Plage de fonctionnement : pendant 2 minutes, toutes les 10 minutes, de 8h00 à 18h00
  • Autonomie : 7 jours minimum

La création du circuit électronique

IMG_0393

IMG_0392

IMG_0398

IMG_0400

IMG_0401

IMG_0418

IMG_0421

IMG_0425

IMG_0423

Plusieurs semaines s’écoulent, et un jour je reçois ce mail :

Bonsoir Olivier

Je viens de terminer la mise au point du montage tempo.
Je te joins quelques photos retraçant brièvement la création et les essais.

En résumé :
- période de fonctionnement : 8 à 18h00
- relais activé toutes les 8ème et 9ème minutes durant la période de
fonctionnement soit 120 mn par jour
- consommation sans affichage : 15 mA
- consommation avec affichage pour le réglage de l'heure : 250 mA

Je fais fonctionner en continue le montage pour vérifier la précision de
l'heure sur plusieurs jours. Si aucun PB je te l'envoie par courrier lundi.

Bonne soirée. J'ai bien mérité ma bière qui m'attend au frais.

Papa

Le colis arrivera dans ma boite aux lettres quelques jours plus tard 🙂 Merci P’pa !

Branchements et tests

Il est temps de raccorder le circuit de tempo au circuit d’alimentation principale. Pour info, le circuit de temp est alimenté par une batterie au plomb de 12V acheté chez Conrad pour environ 20€.

IMG_4745

Un petit test plein de suspens en vidéo 🙂 On y voit le Pi s’allumer à 14h38, et s’éteindre à 14h40 🙂