Rasp-Hack-PiPir

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche

Introduction

Savoir lire l'état d'une entrée du port GPIO du Raspberry PI est une action fondamentale en hacking électronique.
Nous l'avions déjà abordé avec la lecture de l'état un bouton.
Dans cet article, nous allons détecter l'activation d'un senseur de proximité PIR à l'aide d'un Raspberry PI.

 

Voici un exemple qui vous propose de lire l'état du senseur PIR placé sur la broche le GPIO 23.
Une Led verte est placée sur le GPIO 24, elle est allumée dans lorsque le senseur PIR détecte un mouvement.

Le Pi-Cobbler ou Pi-Cobbler PLUS (disponible chez MC Hobby) est utiliser pour faciliter le montage.

Pi-Cobbler ou Pi-Cobbler-Plus?

Avec l'arrivée du Raspberry Pi 3, Raspberry Pi-2 et Raspberry Pi-B PLUS, Raspberry Pi Zero W vient également un GPIO étendu de 40 broches rétro-compatible avec le GPIO des premières générations du Raspberry-Pi qui, lui, n'avait que 26 broches.

 

La seule vraie différence réside dans la longueur du GPIO du modèle Pi-3, Pi-2 ou B+ qui contient des broches en plus... et le Pi-Cobbler PLUS qui à également grandi pour accueillir les broches en plus.

Avec l'apparition du Pi Zero, nous pouvons reparler de la correspondance des GPIO.

Pour notre plus grand bonheur, le GPIO du Pi Zero et du Pi 3 (ou Pi 2) sont identiques :) chouette.

 
Cliquez pour agrandir

Prérequis

Assurez-vous d'avoir mis votre environnement Python à jour.

Matériel

Montage

Grâce à ses caractéristiques, le senseur PIR proposé chez MCHobby peut être directement utilisé avec une logique 3.3v (comme un Raspberry Pi).

  • Le senseur PIR est alimenté en 5V par le Pi.
    Le régulateur interne du senseur transforme et lisse cette tension en 3.3v, raison pour laquelle la tension d'alimentation doit être supérieure à 3.3v ;-).
  • La sortie du senseur est en logique 3.3v (donc sécurisé pour une logique 3.3v comme votre Pi)

Voici le détail du montage

 

Source: AdaFruit.com

Code

Voici notre exemple Rasp-PiPir.py écrit en python.

#!/usr/bin/env python
# -*- coding: latin-1 -*-

import time
import RPi.GPIO as GPIO

GPIO.setmode( GPIO.BCM )

GREEN_LED = 24
PIR_SENSOR = 23

GPIO.setup( GREEN_LED, GPIO.OUT )
GPIO.setup( PIR_SENSOR, GPIO.IN )

while True:
        # SI PIR sensor Actif ALORS allumer LED
        if( GPIO.input( PIR_SENSOR ) == True ):
                GPIO.output( GREEN_LED, True )
                print( "Detection PIR: "+"CA BOUGE!!!" )
        else:
                GPIO.output( GREEN_LED, False )
                print( "Detection PIR: "+"rien a signaler" )

        # attendre 100 ms
        time.sleep( 100 / 1000 )


Pour savoir comment télécharger et exécuter ce programme sur votre Py, nous vous proposons de prendre connaissance de notre premiers articles sur Raspberry Pi et LED

Où Acheter

Vous trouverez les produits suivants chez MCHobby:

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com