Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

WiringPi con raspberry Pi 2

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] WiringPi con raspberry Pi 2

Messaggioda Foto UtenteAletox » 28 lug 2015, 18:39

Salve a tutti,

Sto iniziando a mettere mano alla GPIO del mio raspberry, ho buone conoscenze di programmazione, tuttavia sto già incontrando i primi ostacoli con la gestione della GPIO.
Ho fatto alcune prove in Python e le basi lavorano bene, altrettanto con il C e la librearia wiringPi lanciando i comandi dal terminale. Le funzioni basilari vanno (ad es. accensione e spegnimento), non danno segno di ripsota le funzioni più complesse come clock e PWM.
Il problema più grande comunque rimane il funzionamento della libreria all'interno di un programma in C, già l'istruzione di setup da problemi.

Se qualcuno ha qualche suggerimento o qualche semplice esempio da provare sarei molto grato! :-)
"La teoria attrae la pratica come il magnete attrae il ferro" C. Gauss

Seguitemi anche su youtube, un saluto da AT O_/
https://www.youtube.com/c/atlaboratory
Avatar utente
Foto UtenteAletox
1.095 1 6 13
Expert
Expert
 
Messaggi: 263
Iscritto il: 27 feb 2014, 22:01

1
voti

[2] Re: WiringPi con raspberry Pi 2

Messaggioda Foto Utentepazpi » 30 lug 2015, 18:58

In collaborazione siamo riusciti finalmente a venircene fuori!
Per la funzione PWM abbiamo ottenuto il risultato in maniera semi-empirica, come dire che il metodo try and error funziona ancora bene!
Abbiamo creato un programma in C e abbiamo capito che bastava includere la libreria
Codice: Seleziona tutto
softPwm.h

Poi si trattava di seguire questa guida http://wiringpi.com/reference/software-pwm-library/.
Il problema principale che abbiamo incontrato era stato usare la funzione PWM da riga di comando, usando il comando fornito inseme alla libreria WiringPi.
Questo problema è stato risolto usando quest'altra guida https://sites.google.com/site/semilleroadt/raspberry-pi-tutorials/gpio dove si capisce che esiste un solo pin per un controllo hardware PWM, che corrisponde al pin 18.

Comunque ora andiamo di fretta, arriverà Foto UtenteAletox che vi spiegherà in dettaglio e che vi posterà il codice.
O_/ O_/
Avatar utente
Foto Utentepazpi
10 1 1
 
Messaggi: 3
Iscritto il: 25 feb 2015, 22:29

0
voti

[3] Re: WiringPi con raspberry Pi 2

Messaggioda Foto UtenteTardoFreak » 30 lug 2015, 19:53

"creato un programma"? :-M
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[4] Re: WiringPi con raspberry Pi 2

Messaggioda Foto UtenteAletox » 30 lug 2015, 20:11

Allora la questione è questa, stiamo procedendo un po' per via empirica. Comunque qualche risultato siam riusciti a portarlo a casa!

La funzione PWM risponde bene, tuttavia i campi da compilare non sono completamente chiari. Il clock sarà poi da verificarci mediante un oscilloscopio. Tuttavia anche li utilizzando la wiringPi non si trovano spiegazioni dettagliate a riguardo.

Il codice collaudato è il seguente, il primo per un semplice lamepggio LED ed il secondo come test per la funzione PWM. La funzione PWM così dichiara funziona su diverse porte,tuttavia il valore range e initial sono ancora da verificare al meglio.

Codice lampeggio LED:

Codice: Seleziona tutto
#include <stdio.h>
#include <wiringPi.h>

#define LED     4
#define NUM_PIN 26

int main(void){
        printf("Ciao\n");
   wiringPiSetupGpio();
        //int a;
        //wiringPiSetup();
        //printf("wiringPiSetup = %d\n", a);
        printf("wiringsetup\n");
        pinMode(LED, OUTPUT);
        printf("pinMode\n");
        int i = 0;
        for(;;){
                if(i==0) printf("For init\n");
                digitalWrite(LED, HIGH);
                printf("%d\n", i);
                i++;
                delay(500);
                digitalWrite(LED, LOW);
                delay(500);
   }
}


Codice PWM:

Codice: Seleziona tutto
#include <stdio.h>
#include <wiringPi.h>
#include <softPwm.h>

#define LED     18
int main(void){
        printf("Ciao\n");
        wiringPiSetupGpio();
        printf("wiringsetup\n");
        printf("PwmSetup %d\n", softPwmCreate(LED, 0, 100));
        int i = 0;
        while(1){
                for(i;i<100;i++){
                   if(i==0) printf("For init\n");
                   softPwmWrite(LED, i);
                   printf("%d\n", i);
                   delay(10);
                }
           for(i;i>=0;i--){
                   if(i==0) printf("For init\n");
                   softPwmWrite(LED, i);
                   printf("%d\n", i);
                   delay(10);
                }
   }
}


Foto UtenteTardoFreak due righe di codice, forse non un programma..

Se qualcuno a qualche suggerimento o miglioria è veramente ben accetta! :D
"La teoria attrae la pratica come il magnete attrae il ferro" C. Gauss

Seguitemi anche su youtube, un saluto da AT O_/
https://www.youtube.com/c/atlaboratory
Avatar utente
Foto UtenteAletox
1.095 1 6 13
Expert
Expert
 
Messaggi: 263
Iscritto il: 27 feb 2014, 22:01

1
voti

[5] Re: WiringPi con raspberry Pi 2

Messaggioda Foto UtenteTardoFreak » 30 lug 2015, 20:13

I programmi non si creano, si scrivono. "[#]"
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[6] Re: WiringPi con raspberry Pi 2

Messaggioda Foto UtenteAletox » 31 lug 2015, 12:08

Chiedo venia Foto UtenteTardoFreak haha :oops:
Comunque hai qualche suggerimento da darci?? :-)
"La teoria attrae la pratica come il magnete attrae il ferro" C. Gauss

Seguitemi anche su youtube, un saluto da AT O_/
https://www.youtube.com/c/atlaboratory
Avatar utente
Foto UtenteAletox
1.095 1 6 13
Expert
Expert
 
Messaggi: 263
Iscritto il: 27 feb 2014, 22:01

0
voti

[7] Re: WiringPi con raspberry Pi 2

Messaggioda Foto UtenteTardoFreak » 31 lug 2015, 12:35

No, non ho ancora iniziato con il raspberry.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[8] Re: WiringPi con raspberry Pi 2

Messaggioda Foto UtenteAletox » 31 lug 2015, 13:04

Peccato, perché conosco un po' il forum e so che hai dato grande contributo ;-) magari ci scappava qualcosina anche per me..
"La teoria attrae la pratica come il magnete attrae il ferro" C. Gauss

Seguitemi anche su youtube, un saluto da AT O_/
https://www.youtube.com/c/atlaboratory
Avatar utente
Foto UtenteAletox
1.095 1 6 13
Expert
Expert
 
Messaggi: 263
Iscritto il: 27 feb 2014, 22:01

0
voti

[9] Re: WiringPi con raspberry Pi 2

Messaggioda Foto Utentepazpi » 1 ago 2015, 11:43

TardoFreak ha scritto:"creato un programma"? :-M


Hahahah hai ragione, ma ho scritto il post un po di fretta, chiedo venia anch'io :D
Avatar utente
Foto Utentepazpi
10 1 1
 
Messaggi: 3
Iscritto il: 25 feb 2015, 22:29

0
voti

[10] Re: WiringPi con raspberry Pi 2

Messaggioda Foto UtenteAletox » 13 nov 2015, 18:25

Per chi fosse interessato, ho finalmente prodotto un video in cui si da uno sguardo alla GPIO del Raspberry, sia dal punto di vista hardware, che con qualche primo e semplice esempio di programma in C, che sfrutta la libreria wiringPi, spero possa tornare utile :-) un saluto AT

"La teoria attrae la pratica come il magnete attrae il ferro" C. Gauss

Seguitemi anche su youtube, un saluto da AT O_/
https://www.youtube.com/c/atlaboratory
Avatar utente
Foto UtenteAletox
1.095 1 6 13
Expert
Expert
 
Messaggi: 263
Iscritto il: 27 feb 2014, 22:01


Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti