Difference between revisions of "2010910 pi workshop notes"
Line 1: | Line 1: | ||
+ | =Intro= | ||
+ | |||
Raspberry Pi 3 computer | Raspberry Pi 3 computer | ||
<br> | <br> | ||
Line 31: | Line 33: | ||
2 ways of accessing the pins: GPIO# or pin# <br> | 2 ways of accessing the pins: GPIO# or pin# <br> | ||
"GPIO-g" flags to GPIO# <br> | "GPIO-g" flags to GPIO# <br> | ||
+ | |||
+ | =First test= | ||
If we want to connect the LED on the GPIO4 port: <br> | If we want to connect the LED on the GPIO4 port: <br> | ||
− | Controlling GPIO ports using ''' | + | Controlling GPIO ports using '''[http://elinux.org/RPi_GPIO_Code_Samples#Python Python]''': <br> |
− | Or using '''BASH command line''' (UNIX language): <br> | + | Or using '''BASH ([http://elinux.org/RPi_GPIO_Code_Samples#Shell Shell]) command line''' (UNIX language): <br> |
sudo -i <br> | sudo -i <br> | ||
echo "4" > /sys/class/gpio/export <br> | echo "4" > /sys/class/gpio/export <br> | ||
Line 47: | Line 51: | ||
gpio -g write 4 1 <-turns it on <br> | gpio -g write 4 1 <-turns it on <br> | ||
gpio -g write 4 0 <-turns it off <br> | gpio -g write 4 0 <-turns it off <br> | ||
+ | |||
+ | =The Operating System= | ||
+ | |||
+ | An OS is a piece of software that people wrote to use a computer in an easy and structured way.<br> | ||
+ | Linus is the kernel (not an operating system), robust, versatile, stable.<br> | ||
+ | Operating system is [https://www.raspbian.org/ Raspian] in our case.<br> | ||
+ | Linux always has a BASH (Shell) terminal: type something, press enter, view output.<br> |
Revision as of 09:54, 10 September 2016
Intro
Raspberry Pi 3 computer
OS (Raspbian) loaded on SD card
All GPIO pins are flexible 3.3V OUT or IN (will generate floating voltage when not programmed)
GPIO can be programmed using gpio utility: http://wiring.com/the-gpio-utility/
UART pins carry data (RX=receive, TX=transmit), allows connection of devices (GPS), 3V->3V, GND->GDN, RX->TX, TX->RX
Sends text signals, each character encoded in 8bits ("packed" encapsulated into a "start bit" and a "stop bit")
Speed is 9600 Baud (1 Baud = 1 bit per sec)
To access this data, you can either use a Python script, or a software called "screen"
directory "/dev/ttyACM0 9600" contains a new file that represents the connexion to a device (arduino, printer, etc.)
I2C protocol
For example: BMP280 sensor temperature and pressure sensor (4pins=3V, GND, SDA, SCL)
On pi, up to 127 sensors can be connected to the SDA and SCL ports. Each device has a fix-programmed specific address.
i2c-tools is a program that allows to detect from all these sensors using the i2cdetect protocol.
"sudo raspi-config" to configure the pi computer
Step 1. Tell pin to be GPIO2
Step 2. Tell pin to be ON or OFF
2 ways of accessing the pins: GPIO# or pin#
"GPIO-g" flags to GPIO#
First test
If we want to connect the LED on the GPIO4 port:
Controlling GPIO ports using Python:
Or using BASH (Shell) command line (UNIX language):
sudo -i
echo "4" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio4/direction
echo "1" > /sys/class/gpio/gpio4/value <-turns it on
echo "0" > /sys/class/gpio/gpio4/value <-turns it off
Or GPIO utility command:
gpio -g mode 4 out
gpio -g write 4 1 <-turns it on
gpio -g write 4 0 <-turns it off
The Operating System
An OS is a piece of software that people wrote to use a computer in an easy and structured way.
Linus is the kernel (not an operating system), robust, versatile, stable.
Operating system is Raspian in our case.
Linux always has a BASH (Shell) terminal: type something, press enter, view output.