Raspberry Pi és una placa basada en processadors d'arquitectura ARM dissenyada per a enginyers electrònics i aficionats. El PI és ara una de les plataformes de desenvolupament de projectes amb més confiança. Amb una velocitat de processador més alta i 1 GB de RAM, el PI es pot utilitzar per a molts projectes de gran perfil com el processament d’imatges i Internet de les coses.
Per fer qualsevol projecte de gran perfil, cal entendre les funcions bàsiques de PI. Per això som aquí, cobrirem totes les funcionalitats bàsiques de Raspberry Pi en aquests tutorials. En cada sèrie de tutories parlarem d'una de les funcions de PI. Al final de la sèrie de tutorials, podreu fer projectes de gran perfil vosaltres mateixos. Consulteu aquestes instruccions per començar amb la configuració de Raspberry Pi i Raspberry Pi.
Establir comunicació entre PI i l'usuari és molt important per dissenyar projectes sobre PI. Per a la comunicació, PI ha de prendre entrades de l'usuari. En aquest segon tutorial de la sèrie PI, farem una interfície amb un botó per a Raspberry Pi, per obtenir INPUTS de l’usuari.
Aquí connectarem un botó a un pin GPIO i un LED a un altre pin GPIO de Raspberry Pi. Escriurem un programa en PYTHON, per parpellejar el LED contínuament, prement l’usuari el botó. El LED parpellejarà activant i apagant el GPIO.
Abans d’anar a la programació, parlem una mica sobre el LINUX i el PYHTON.
LINUX:
LINUX és un sistema operatiu com Windows. Realitza totes les funcions bàsiques que pot fer el sistema operatiu Windows. La principal diferència entre ells és que Linux és un programari de codi obert on Windows no ho és. El que significa bàsicament és que Linux és gratuït mentre que Windows no ho és. El sistema operatiu Linux es pot descarregar i operar de forma gratuïta, però per descarregar un sistema operatiu Windows genuí, cal pagar els diners.
I una altra diferència important entre ells és que el sistema operatiu Linux es pot "modificar" modificant el codi, però el sistema operatiu Windows no es pot modificar; fer-ho comportarà complicacions legals. Així, tothom pot utilitzar el sistema operatiu Linux i el pot modificar segons el seu requisit per crear el seu propi sistema operatiu. Però no ho podem fer a Windows, ja que el sistema operatiu Windows té restriccions per evitar que editeu el sistema operatiu.
Aquí parlem de Linux perquè, JESSIE LITE (Raspberry Pi OS) és un sistema operatiu basat en LINUX, que hem instal·lat a la part d’introducció de Raspberry Pi. El sistema operatiu PI es genera a partir de LINUX, de manera que hem de conèixer una mica les ordres de funcionament de LINUX. Discutirem sobre aquestes ordres de Linux als següents tutorials.
PITÓ:
A diferència de LINUX, PYTHON és un llenguatge de programació com C, C ++ i JAVA, etc. Aquests llenguatges s’utilitzen per desenvolupar aplicacions. Recordeu que els llenguatges de programació s’executen al sistema operatiu. No es pot executar un llenguatge de programació sense un sistema operatiu. Així doncs, el sistema operatiu és independent mentre que els llenguatges de programació depenen. Podeu executar PYTHON, C, C ++ i JAVA tant a Linux com a Windows.
Les aplicacions desenvolupades per aquests llenguatges de programació poden ser jocs, navegadors, aplicacions, etc. Utilitzarem el llenguatge de programació PYTHON al nostre PI, per dissenyar projectes i manipular els GPIO.
Anem a discutir una mica sobre PI GPIO abans d’anar més lluny,
Pins GPIO:


Com es mostra a la figura anterior, hi ha 40 pins de sortida per al PI. Però quan mireu la segona figura, podeu veure que no es poden programar tots els 40 pin out per al nostre ús. Es tracta només de 26 pins GPIO que es poden programar. Aquests pins passen de GPIO2 a GPIO27.
Aquests 26 pins GPIO es poden programar segons la necessitat. Alguns d’aquests pins també realitzen algunes funcions especials; en parlarem més endavant. Amb GPIO especial deixat de banda, ens queden 17 GPIO (Cirl verd clar).
Cadascun d'aquests 17 pins GPIO pot proporcionar un màxim de 15 mA de corrent. I la suma de corrents de tots els GPIO no pot superar els 50 mA. Per tant, podem treure un màxim de 3 mA de mitjana de cadascun d’aquests pins GPIO. Per tant, no s’ha de manipular aquestes coses tret que sàpiga el que està fent.

Components necessaris:
Aquí fem servir Raspberry Pi 2 Model B amb Raspbian Jessie OS. Tots els requisits bàsics de maquinari i programari s’han comentat prèviament. Podeu consultar-los a la introducció de Raspberry Pi, a part d’això que necessitem:
- Pins de connexió
- Resistència de 220Ω o 1KΩ
- LED
- Botó
- Taula de pa
Explicació del circuit:

Com es mostra al diagrama del circuit, connectarem un LED a PIN35 (GPIO19) i un botó a PIN37 (GPIO26). Com s’ha dit anteriorment, no podem treure més de 15 mA de cap d’aquests pins, de manera que per limitar el corrent estem connectant una resistència de 220Ω o 1KΩ en sèrie amb el LED.
Explicació de treball:
Un cop tot estigui connectat, podem activar el Raspberry Pi per escriure el programa en PYHTON i executar-lo. (Per saber utilitzar PYTHON, aneu a PI BLINKY).
Parlarem de poques ordres que farem servir al programa PYHTON.
Importarem un fitxer GPIO de la biblioteca, la funció següent ens permet programar pins GPIO de PI. També estem canviant el nom de "GPIO" per "IO", de manera que al programa sempre que vulguem referir-nos als pins GPIO utilitzarem la paraula "IO".
importar RPi.GPIO com a IO
De vegades, quan els pins GPIO, que estem intentant utilitzar, poden estar fent algunes altres funcions. En aquest cas, rebrem avisos mentre executem el programa. L'ordre següent indica al PI que ignori les advertències i que continuï amb el programa.
IO.setwarnings (fals)
Podem referir els pins GPIO de PI, ja sigui pel número de pin a bord o pel seu número de funció. Al diagrama de pins, es pot veure "PIN 37" al tauler "GPIO26". De manera que diem aquí que o bé representarem el pin aquí amb '37' o '26'.
IO.setmode (IO.BCM)
Estem configurant GPIO26 (o PIN37) com a pin d'entrada. Detectarem el botó premut amb aquest pin.
IO.setup (26, IO.IN)
Mentre que 1: s'utilitza per al bucle infinit. Amb aquesta ordre, les sentències dins d'aquest bucle s'executaran contínuament.
Un cop executat el programa, el LED connectat a GPIO19 (PIN35) parpelleja cada vegada que es prem el botó. En deixar anar el LED, tornarà a estar en estat OFF.
