Pagina 1 di 1

WiringPi con raspberry Pi 2

MessaggioInviato: 28 lug 2015, 18:39
da Aletox
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! :-)

Re: WiringPi con raspberry Pi 2

MessaggioInviato: 30 lug 2015, 18:58
da pazpi
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_/

Re: WiringPi con raspberry Pi 2

MessaggioInviato: 30 lug 2015, 19:53
da TardoFreak
"creato un programma"? :-M

Re: WiringPi con raspberry Pi 2

MessaggioInviato: 30 lug 2015, 20:11
da Aletox
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

Re: WiringPi con raspberry Pi 2

MessaggioInviato: 30 lug 2015, 20:13
da TardoFreak
I programmi non si creano, si scrivono. "[#]"

Re: WiringPi con raspberry Pi 2

MessaggioInviato: 31 lug 2015, 12:08
da Aletox
Chiedo venia Foto UtenteTardoFreak haha :oops:
Comunque hai qualche suggerimento da darci?? :-)

Re: WiringPi con raspberry Pi 2

MessaggioInviato: 31 lug 2015, 12:35
da TardoFreak
No, non ho ancora iniziato con il raspberry.

Re: WiringPi con raspberry Pi 2

MessaggioInviato: 31 lug 2015, 13:04
da Aletox
Peccato, perché conosco un po' il forum e so che hai dato grande contributo ;-) magari ci scappava qualcosina anche per me..

Re: WiringPi con raspberry Pi 2

MessaggioInviato: 1 ago 2015, 11:43
da pazpi
TardoFreak ha scritto:"creato un programma"? :-M


Hahahah hai ragione, ma ho scritto il post un po di fretta, chiedo venia anch'io :D

Re: WiringPi con raspberry Pi 2

MessaggioInviato: 13 nov 2015, 18:25
da Aletox
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