PgUp    Home    PgDn

Womp3.14 - Hobby & DHZ Projecten

Womp3.14
Womp3.14  

P.2013B: Raspberry Pi, gebruik van GPIO


Inleiding

Om wat basis ervaring op te doen met de General Purpose Input Output (GPIO) van de Raspberry Pi, heb ik een printplaatje geknutseld met op elk van de 8 poorten een ledje. Hiervoor heb ik low-current (2 mA) led's gebruikt, met een voorschakelweerstand van 680 ohm. Op het printplaatje heb ik t.b.v. vervolg-projecten ook alvast aansluitingen voor de seriele poort (RxD en Txd), 5v en 0V aangebracht (zie de groene, witte, rode en zwarte krokodillenbek klemmetjes op onderstaande foto's).

8 LEDs aan GPIO, los    8 LEDs aan GPIO, aan


Scripting

In /etc/init.d/ o.b.v. "skeleton" een script maken dat bij elke (re)boot uitgevoerd wordt.

sudo joe /etc/init.d/init-gpio en daarin onder "start" het volgende opnemen.
  echo "14" > /sys/class/gpio/export
  echo "17" > /sys/class/gpio/export
  echo "18" > /sys/class/gpio/export
  echo "27" > /sys/class/gpio/export
  echo "22" > /sys/class/gpio/export
  echo "23" > /sys/class/gpio/export
  echo "24" > /sys/class/gpio/export
  echo "25" > /sys/class/gpio/export
  echo "4" > /sys/class/gpio/export
  echo "out" > /sys/class/gpio/gpio17/direction
  . . .
  chmod 666 /sys/class/gpio/gpio17/value
  . . .
  chmod 666 /sys/class/gpio/gpio17/direction
  . . .
  # Start LEDs on GPIO blinking.
  touch /home/pi/script/do_blink_start
  /home/pi/scripts/blink_led.sh &

chown root:root /etc/init.d/init-gpio
chmod 755 /etc/init.d/init-gpio
update-rc.d init-gpio defaults
sudo shutdown -r now


Met het scriptje blink_led.sh worden de ledjes in een volgorde / patroon naar wens aan en uit gedaan, totdat het bestandje do_blink_start verwijderd wordt. Hiervoor worden in het script m.n. de volgende commando's gebruikt:
  while [ -f /home/pi/scripts/do_blink_start ]
    do
      echo "1" > /sys/class/gpio/gpio17/value
      ...
      sleep 0.5
      echo "0" > /sys/class/gpio/gpio17/value
      ...
      echo "1" > /sys/class/gpio/gpio4/value
      sleep 0.5
    done


Achtergrond informatie

  > How to use GPIOs on raspberry pi
  > Blink led scriptje
  > Using the Raspberry Pi's serial port
  > Opening serial ports


... © 2013 π
Womp3.14