Midi de la bidouille Raspberry Pi(🍇π)

Table of Contents

Ce fichier est disponible en ligne à http://sed.bordeaux.inria.fr/org/bidouille-raspberrypi.org

1 Description RaspberryPi (🍇π) :

Micro-ordinateur basé sur un microcontrôleur ARM

2 Points forts :

  • Permet d'embarquer un OS de type Linux
  • Permet l'utilisation de pins GPIO (General Purpose Input/Output)
  • Grosse communauté active
  • Accéleration vidéo

3 Points faibles :

  • Pas de programme temps-réel à cause du système d'exploitation
  • Pas de convertisseur analogique / numérique

4 Pour se connecter en ssh sur le π

  • Brancher le cable Ethernet entre le π et votre PC
  • brancher l'alimentation du π après avoir inseré la carte microSD, vérifier que la diode verte s'allume
  • sur Ouindoz : utiliser Putty
    • lancer Putty : hôte raspberrypi.local, utilisateur : pi , mdp : raspberry
  • sur Linux (Ubuntu) :
    • arrêter NetWorkManager,
sudo kill -STOP NetworkManager
  • lancer avahi-autoipd
sudo avahi-autoipd
  • se connecter sur le π : hôte : raspberrypi.local , utilisateur : pi , mdp : raspberry
ssh raspberrypi.local

5 But du midi de la bidouille

On va faire clignoter une diode LED de différentes manières:

  • On la branche selon le schéma suivant:

diode.svg

Figure 1: schéma diode resistance

  • Pour les ports choisis, on pourra s'aider de la description des ports GPIO suivante

pins.png

Figure 2: ports GPIO

5.1 Code I

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)

while True:

    GPIO.output(18,True)
    time.sleep(0.2)
    GPIO.output(18,False)
    time.sleep(0.2)

GPIO.cleanup()

5.2 code II

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
GPIO.setup(21, GPIO.IN, pull\_up\_down=GPIO.PUD\_UP)

while GPIO.input(21):

    GPIO.output(18,True)
    time.sleep(0.2)
    GPIO.output(18,False)
    time.sleep(0.2)

GPIO.cleanup()

5.3 code III

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)

GPIO.setup(21, GPIO.IN, pull\_up\_down=GPIO.PUD\_UP)
PWM = GPIO.PWM(18, 10)
PWM.start(50)
while GPIO.input(21):
    pass

PWM.stop()
GPIO.cleanup()

Date: 15 Janvier 2016

Author: Thibault Lainé, Marc Fuentes (pour la mise en page)

Created: 2017-12-07 og. 23:29

Emacs 25.3.1 (Org mode 8.2.10)

Validate