Risorse per il Lab. Elettronica
Home Page


CAD/CAE

LTspice

PSpice


Sistemi

Arduino

AVR

Raspberry Pi

National Instruments


Risorse

Datasheet

Link

Hardware e Software

Misc




Programmare il GPIO di Raspberry Pi in C (beta)







Licenza Creative Commons
Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Italia. E' dunque escluso l'utilizzo per scopi di lucro . Autore: Francesco Parisi, fparisi AT gmail DOT com



Ultima modifica: 09/08/2021

Esercizi Prima Parte

Nota: rivolgersi al proprio Istruttore per eventuali chiarimenti.

• Esercizio n.1a



Modificare LEDBLINK.C in LEDBLINK_2.C

Inserire una direttiva #define che consenta di definire il tempo di accensione/spegnimento del LED.

• Esercizio n.1b



Modificare LEDBLINK.C in LEDBLINK_3.C

Collegare il LED a un altro pin (es. GPIO23). Disegnare il nuovo schema elettrico e riscrivere il codice.

• Esercizio n.2a



Modificare LEDVAR.C in LEDENABLE.C

Se il pulsante non è premuto il LED è spento. Premendo il pulsante (e mantenendolo premuto) il LED deve lampeggiare con un tempo di accensione/spegnimento di 250ms.

• Esercizio n.3a



Modificare LEDSUPERCAR.C in LEDSUPERCAR_2.C

Prima del ciclo di scorrimento, assicurare lo spegnimento iniziale di tutti i LED.

• Esercizio n.3b



Modificare LEDSUPERCAR.C in LEDSUPERCAR_3.C

Invertire la direzione di scorrimento dei LED via software (cioè senza variare la disposizione dei LED)

• Esercizio n.3c



Modificare LEDSUPERCAR.C in LEDFRAME.C

Far scorrere i LED secondo questa sequenza ripetitiva di frame (arrivato all'ultimo, riparte dal primo) alla frequenza di 4 frame al secondo:


Frame 1
Frame 2
Frame 3
Frame 4



Sugg: Definire una matrice che memorizzi la sequenza dei frame:
int seq [NFRAME][NLED] =
  {
     { 0,  0,  1,  0,  0 },  // Frame 1 
     { 0,  1,  0,  1,  0 },  // Frame 2 
     { 1,  0,  0,  0,  1 },  // Frame 3 
     { 0,  1,  0,  1,  0 }   // Frame 4 
  };
N.B. La scrittura consecutiva su due pin con digitalWrite() è praticamente senza alcun ritardo percettibile (quindi i LED appaiono come se fossero accesi contemporaneamente)

Soluzione : LEDFRAME.C

• Proposte di esercizi



Inventarsi nuovi programmi che abbiano attinenza con quelli trattati; per esempio modifiche degli stessi per migliorarli o renderli più flessibili anche avendo in mente possibili applicazioni.




Informativa estesa sui Cookie | Web Statistics

Clicky

| Realizzazione a cura di Francesco Parisi (2002 ÷ 2024) | Contatti