• 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