upc eetac_1

Projecte P11: GPIO: Connectem circuits bàsics a la Raspberry Pi


LED, botons, sensors i actuadors digitals

L'estratègia que seguirem a partir d'aquesta unitat en què cal realitzar muntatges i programar, és sempre la mateixa:

1) Muntatge del circuit que tinguem entre mans

2) En aquests primers muntatges de presa de contacte amb la Raspberry Pi, el que cal fer, naturalment, és estudiar i executar directament el codi d'exemple que trobem als manuals, llibres o en pàgines d'Internet. Això ho farem d'entrada sempre que hàgim de treballar amb un component nou (kit, perifèric, bus, sensor, etc.)

3) Modificarem el programa per tal d'escollir el nostre propi estil, que intentarem mantenir  i repetir contínuament. Hem d'usar comentaris i estructurar el codi amb funcions i subfuncions que mantindran el nom i la finalitat.

El tercer pas és obligatori si pretenen donar continuïtat als projectes i fer-los créixer ordenadament cada vegada amb més prestacions. No poden pas prendre el primer que trobem per Internet, sinó que hem:

- de dibuixar diagrames de blocs i de flux de programari,

- d'avesar-nos a usar sempre el mateix estil de programació,

- de nomenar les variables de la mateixa manera,

- diferenciar el que són connexions, cables i senyals elèctrics del que és el nucli del programari. Usarem funcions d'interfície que ens llegiran i escriuran els cables i els circuits, mentre el programari funcionarà a través de variables

 Tot plegat pot semblar massa enrevessat quan el que ja trobem en un clic funciona directament sense haver de fer gairebé res. Però treballarem així per poder realitzar programari robust, ben documentat i compatible en gran part entre diversos entorns de programació (Python, C, Processing, etc).

Primer muntatge: LED

El primer tutorial de la pàgina web de Raspberry Pi.

Fig.1. El connector GPIO que ens dóna accés a les entrades i sortides digitals programables.

Com hem de connectar les línies GPIO a una protoboard. Segurament ens és convenient anar amb calma, recordem que la Pi no accepta 5 V, sinó que treballa amb 3,3 V, i ben aviat poden destruir-la amb connexions equivocades i curtcircuits. Hem de dibuixar esquemes en paper o per exemple usar un programa com el Fritzing.

Esquema

Fig.2. L'esquema en Fritzing.

Maquinari: Dibuixeu el circuit electrònic, preferentment en paper o en Fritzing (Fig. 2).

Programari: Control directe dels pins E/S amb Python. Dibuixeu el diagrama de flux del programa que s'ha d'executar

És interessant que també feu córrer el programa pas a pas debugging (vegeu la Fig. 3). Podeu usar l'entorn IDLE (Integrated DeveLopment Environment). L'altre interpret de Python per defecte a la Raspberry Pi és el Thonny Python IDE. Aquí teniu una comparació d'aquests entorns.

Debugging
debugging Fig.3.

 

 Segon muntatge: Polsadors i interruptors

Polsadors, interruptors. Arremquem i parem el circuit amb un polsador. Seleccionem la freqüència de la intermitència.

Maquinari: Dibuixeu el circuit electrònic en paper o en Fritzing.

Programari: Control dels pins E/S amb Python. Dibuixeu el diagrama de flux del programa que s'ha d'executar

Polsadors

Fig.4. Els polsadors i interruptors són fàcils de connectar a la protoboard.

 

Tercer muntatge: Sensors i actuadors digitals

Sensors  i actuadors digitals: LDR, buzzer, ultrasonic.

Si en aquests primers muntatges volem estalviar-nos els cablejats, components i l'us de targetes protoboard, es pot adquirir un HAT que ja disposi d'aquestes connexions bàsiques en circuit imprès. Per exemple l'Explorer HAT, tot i que per això haurem d'incorporar el bus I2C tractat a partir del projecte P13

 

Curs d'introducció a l'electrònica

De ben segur que per comprendre bé els conceptes d'aquest tema d'aplicacions electròniques de la Raspberry Pi concebudes a partir del bus GPIO o altres interfícies sense fils, és convenient disposar de coneixements bàsics d'electrònica digital i analògica. Semblantment a l'Arduino, aquests coneixements ens seran indispensables si volem anar més enllà de la simple execució dels tutorials i els programes bàsics que trobarem a la bibliografia i crear doncs els nostres propis projectes. En aquest sentit, la majoria de llibres sobre la Raspberry Pi incorporen uns capítols dedicats a la introducció bàsica a l'electrònica.

   

Referències a kits de sensors per usar des de P11 fins a P18 

- Referències a components i kits.

- SunFounder. Sensor kit V2.0 for Raspberry Pi B+: PDF, ZIP anglès, ZIP alemany.

- Freenove Ultimate Starter kit for Raspberry Pi. (ZIP). El PDF de tutorial i aplicacions. Aquesta és la versió en Processing (PDF).

- Kit Kuman 38 sensors. K47 Modules Sensor Kit for Raspberry Pi (ZIP).

- Kit de 37 sensors (ZIP)  Arduino, encara que amb la biblioteca de funcions adequada també es poden adaptar a la Raspberry Pi.

 

Altres materials d'interès

- Com implementar interrupcions en un entorn de programació en C per la Raspberry Pi ( WiringPi)?