raspberry pi – gpio – first steps

to install gpio use this tutorial

first easy example

#!/bin/bash
gpio mode 0 out
while true
do
  gpio write 0 1
  sleep 0.02
  gpio write 0 0
  sleep 0.7

done

to print all MODEs do
sudo gpio readall
+———-+-Rev2-+——+——–+——+——-+
| wiringPi | GPIO | Phys | Name   | Mode | Value |
+———-+——+——+——–+——+——-+
|      0   |  17  |  11  | GPIO 0 | OUT  | Low   |
|      1   |  18  |  12  | GPIO 1 | IN   | Low   |
|      2   |  27  |  13  | GPIO 2 | IN   | Low   |
|      3   |  22  |  15  | GPIO 3 | IN   | Low   |
|      4   |  23  |  16  | GPIO 4 | IN   | Low   |
|      5   |  24  |  18  | GPIO 5 | IN   | Low   |
|      6   |  25  |  22  | GPIO 6 | IN   | Low   |
|      7   |   4  |   7  | GPIO 7 | IN   | Low   |
|      8   |   2  |   3  | SDA    | ALT0 | High  |
|      9   |   3  |   5  | SCL    | ALT0 | High  |
|     10   |   8  |  24  | CE0    | ALT0 | High  |
|     11   |   7  |  26  | CE1    | ALT0 | High  |
|     12   |  10  |  19  | MOSI   | ALT0 | Low   |
|     13   |   9  |  21  | MISO   | ALT0 | Low   |
|     14   |  11  |  23  | SCLK   | ALT0 | Low   |
|     15   |  14  |   8  | TxD    | ALT0 | High  |
|     16   |  15  |  10  | RxD    | ALT0 | High  |
|     17   |  28  |   3  | GPIO 8 | ALT2 | Low   |
|     18   |  29  |   4  | GPIO 9 | ALT2 | Low   |
|     19   |  30  |   5  | GPIO10 | ALT2 | Low   |
|     20   |  31  |   6  | GPIO11 | ALT2 | Low   |
+———-+——+——+——–+——+——-+
here you can also see all IDs necessary for wiring the correct pins. in my example used wiringPi ID 0 that is pin 11, which is the 6th pin in the first column. you can also write
gpio -g mode 17 out

here is a nice sample-code for input and output pins – tuxx.sh

my little example for a button-script is

#!/bin/bash
button=7
gpio mode $button in
echo -n „Waiting for button … „
while true; do
gpio read $button
  sleep 0.1

done

now a program to check, if the button is pressed. only the change from 0 to 1 will be detected, not the change from 1 to 0.

#!/bin/bash
echo „type 0 or 1“
last_input=“0″
while true
do
  read input
  # check correct input
  if [ $input == „0“ ] || [ $input == „1“ ]; then
    if [ $last_input -ne $input ]; then
      last_input=$input
        if [ $input == „1“ ]; then
          echo „switch“
        fi
    fi
  else
    echo „only 0 or 1“
  fi
done

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s