Questo forum utilizza i cookies
Questo forum fa uso di cookie per migliorare l'esperienza utente. I cookie sono piccoli file di testo memorizzati sul tuo browser. I cookie impostati dal forum possono essere utilizzati solo su questo sito e non costituiscono rischio per la sicurezza, vengono utilizzati unicamente per memorizzare le tue preferenze. Navigando sul sito accetti che RaspberryItaly installi i cookie sul tuo browser.
Per maggiori informazioni consulta l'informativa sui Cookie di RasberryItaly

Un cookie verra memorizzato nel browser indipendentemente dalla scelta per evitare che questa domanda ti venga posta di nuovo. Sarai in grado di modificare le impostazioni dei cookie in qualsiasi momento utilizzando il link nel footer.
  • Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
ventola velocità modifica

[Risolto] Modifica velocità ventola
#31
Mi sà che ci preso in pieno........ Smile
Rimuovendo il codice sudo /home/pi/Fan_HAT/c/main & da /etc/rc.local e lanciando il comando sudo python main.py in effetti appena raggiunge i 45 gradi parte la ventola e sotto quella temp si ferma.
Il problema adesso è che se chiudo il terminale con il comando python main.py si blocca tutto e la ventola non parte nemmeno se arriva a 50.
Immagino che dovrò inserire una stringa in /etc/rc.local al posto di quella cancellata.
Ma quale sarebbe?
Risposta
#32
sarebbe
Codice:
sudo python /home/pi/Fan_HAT/python/main.py &
Risposta
#33
Mi sà che ho cantato vittoria troppo presto....... Sad
dopo aver inserito il codice sudo python /home/pi/Fan_HAT/python/main.py & se faccio un reboot si spegne l'Oled e la ventola parte a razzo, per far entrare in funzione tutto devo , da terminale, lanciare il comando sudo python main.py
quindi qualcosa non torna........
Risposta
#34
Diverse prove:
- Commenta/cancella la riga "sudo python /home/pi/Fan_HAT/python/main.py &" da rc.local; reboot. Da terminale avvia il programma aggiungendo dopo main.py &. Con l'aggiunta della "e" commerciale ( & ) il programma va in esecuzione in background, quindi chiudendo il terminale continuerebbe a funzionare.
- Inserisci in rc.local prima di exit 0 la riga: "sudo python /home/pi/Fan_HAT/python/main.py" senza &.
- Puoi sempre utilizzare la versione in C spostando il file eseguibile (main) in altra cartella (non toccare/modificare il file "makefile" contenente le istruzioni di compilazione), modificare i valori della temperatura nel file sorgente (main.c) che si trova nella direcory "/home/pi/Fan_HAT/c/examples"; similmente alla versione python trovi i valori da modificare nella sequenza di "if" ed "else if". Dopo le modifiche esegui la procedura adottata inizialmente che compilerà il programma creando un nuovo eseguibile "main":

Codice:
cd
cd Fan_HAT/c/
make clean
make
sudo ./main
Risposta
#35
Buongiorno, ho effettuato le prove che mi avete detto ma nulla, adesso sto cercando i valori nel main della cartella C saranno questi?
Codice:
temp = Get_CPU_Temp();    

        sprintf(str, "%.2f", temp);

        Paint_DrawString_EN(0, 15, "Temp:", &Font12, BLACK, WHITE);

        Paint_DrawString_EN(36, 15, str, &Font12, BLACK, WHITE);

        Paint_DrawString_EN(75, 15, "o", &Font8, BLACK, WHITE);

        Paint_DrawString_EN(80, 15, "C", &Font12, BLACK, WHITE);

        

        OLED_Display(Image);

        if(temp > 40){

            PCA9685_setPWM(0, 40);

        }else if(temp > 50){

            PCA9685_setPWM(0, 50);

        }else if(temp > 55){

            PCA9685_setPWM(0, 75);

        }else if(temp > 60){

            PCA9685_setPWM(0, 90);

        }else if(temp > 65){

            PCA9685_setPWM(0, 100);

        }else{

            PCA9685_setPWM(0, 0);

        }

        DEV_Delay_ms(1000);

    }
Risposta
#36
Cosa avviene nel primo caso e nel secondo?
Si, è simile al codice python:
" if(temp > 40){"
in questo caso il 40 fa riferimento ai gradi Centigradi. Metti il valore ad es. a 45 e salva. In C l'indentazione serve solo per rendere più facilmente leggibile il codice.
Per avviare il processo di compilazione devi essere nella directory C
Risposta
#37
Si fatto come dici ma è come se non facessi nulla........nel senso anche modificando resta sempre lo start delle ventole a 40 gradi....... vabbè oggi mi prendo 1 giorno di pausa e ringrazio per le idee, qualcosa l'ho imparata comunque.
Buona domenica
Risposta
#38
La differenza tra Python e C è sostanziale: il primo è interpretato e il secondo è compilato. Nel C qualsiasi modifica al codice sorgente obbliga alla ricompilazione. Nessuna modifica apportata al codice sorgente potrà essere operativa. In Python la modifica ad un qualuque parametro del codice "*.py" diventa efficace al lancio del programma.
Risposta
#39
BINGO!
Allora dopo un bel bagno a mare, con le idee piu fresche (ma sempre confuse visto la ccarenza che ho nella programmazione) ho raccolto tutte le info che mi avete fornito ed ho riprovato i vari STEP.
Su questa FanHat Pynthon non mi pare che gestisca la ventola, e se lo fà non ho idea come, passiamo a C, ho modificato il file main che si trova all'interno della directory /home/pi/Fan_HAT/c/examples , mettendo come temp iniziale a 45 ed una velocità del 30%.Poi ho lancianto i comandi
cd Fan_HAT/c/
make clean
make
sudo ./main

e subito dopo sudo shutdown now
riacceso il RPI tutto funziona come volevo Smile
Onde evitare falsi positivi, ho rebootato 3 volte e spento 2 il tutto gira perfettamente
Grazie a tutti e sopratutto @ippogrifo.
Risposta
#40
Molto bene, ora conosci la procedura per modificare l'intervento della ventola. Ricorda di eliminare la dicitura (Problema) al titolo del post.
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect