Profilo di fabio75

Nome fabio75
Indirizzo email n/a
Messaggi7
  • Problema con comunicazione tra PC ed ARDUINOUNO via USB
    Forum >> Programmazione Python >> Scripting
    Salve sto tentando di far cumunicare tramite caratteri via USB Il PC con ARDUINOUNO.

    Ho scritto il seguente codice lato PC con python3:

    import time
    import serial
    
    try:    
        serial = serial.Serial("/dev/ttyACM0", 115200)
        
        if serial.is_open:
           print ("\n Il collegamento è stato effettuato con successo  \n")
    
        seriale.close()
    
    except:
        print("""
        Collegamento fallito,
        controllare se il dispositivo è stato connesso correttamente,
        o di avere inserito il nome della porta corretto \n""")
    
    while 1:
        time.sleep(1)
        serial.write('a')
        time.sleep(1)
        serial.write('a')
    Lato ARDUINOUNO ho scritto il segue codice che dovrebbe ricevere dei caratteri


    dal PC col codice python:

    
    
    #include <TimerOne.h>
    #define MAX_BUFFER 10
    
    void read_USB();
    
    int elemento_buffer=10;
    char bufferMAX BUFFER;
    
    void setup(void)
    {
      Serial.begin(115200);
      while (!Serial)
        delay(10); // will pause Zero, Leonardo, etc until serial console opens
    
      Serial.println("OK!");
      Timer1.initialize(1000);     //testa se ci sono comandi sulla USB ogni 1msec
      Timer1.attachInterrupt(read_USB); // read USB to run every 0.15 seconds
    }
    
    
    
    
    
    void loop()
    {  
      while((Serial.available())>0) 
      {      
        // se c'è qualche byte da leggere, allora...
        char carattere=Serial.read();      // ...leggi byte
        if(carattere=='\r') continue;
        if(carattere=='\n')
        {
          bufferelemento buffer=0;       // inserisco un carettere NULL per indicare la fine dell'array
          elemento_buffer=0;               // resetto l'indice dell'array
          break;                           // esco dal ciclo while
        }
        bufferelemento buffer=carattere; // creo l'array di caratteri
        elemento_buffer++;                 // incremento l'indice del buffer
        if(elemento_buffer==MAX_BUFFER)    // se si raggiunge il limite di byte del buffer allora...
        {
          elemento_buffer=MAX BUFFER-1;    // ...sovrascrivi quello precedente
        } 
      if(buffer0 == 'a')     
      { 
        Serial.println(buffer); 
      }
      buffer0='0';    //pulisci buffer
    }
    }
        
    
    void read_USB()
    { 
      if((Serial.available())>0)
      {
        buffer0='0';
      }
    }
    Il codice ARDUINO è testato e funziona mentre il codice python3 non funziona e mi da il seguente errore:

      Collegamento fallito,
        controllare se il dispositivo è stato connesso correttamente,
        o di avere inserito il nome della porta corretto 
    
    Traceback (most recent call last):
      File "/home/fabio/Scrivania/prova.py", line 20, in <module>
        serial.write('a')
    AttributeError: module 'serial' has no attribute 'write'
    
    
    Ho trovato in internet in un sito il codice python ma non capisco perche non funziona e mi da errore.

    Aiutatemi per favore. :angry:







  • Re: problema a posizionare un controllo slider
    Forum >> Programmazione Python >> GUI
    Grazie per il suggerimento.

    Ho una mezza idea di presentare il progetto completo (parti elettroniche e software) come cosa open-source, che ne dici?


    Non so però se sarà una cosa degna sul piano delle conoscenze tecniche, da poter essere pubblicata come progetto open e farlo evolvere dai vari nerd della rete.

    Fammi sapere.



  • Re: problema a posizionare un controllo slider
    Forum >> Programmazione Python >> GUI
    Ecco le mie modifiche apportate ed allegate: ho deciso di dare alla GUI del


    sinthetizer uno stile tipo Moog anni 70.





  • Re: problema a posizionare un controllo slider
    Forum >> Programmazione Python >> GUI
    Grazie mille per il codice: vedo che sei molto competente con gli oggetti.

    La mia idea è quella di realizzare un synthetizer anni 70 stile Minimoog,

    non un mixer.

    Lunedì se mi arrivano i componenti inizio la realizzazione del mio progetto elettronico, poi sarà la volta dell'implemntazione del codice C per i due PLC che gestiranno i potenziometri digitali.

    Il tutto sarà gestito dal PC con le modifice che andrò a fare al tuo proposta.py.

    Cercherò di fare tesoro del tuo codice e capire come funziona.

    Scriverò poi le classi che riceveranno i dati dai vari sliders (cosa non facile ed immediata data la mia scarsa dimestichezza con gli OOP).




    P.S: Posso eventualmente chiederti consigli in privato su come progettare tali classi nel caso mi piantassi? Te ne sarei grato.


















    --- Ultima modifica di fabio75 in data 2022-07-16 13:36:40 ---
  • Re: problema a posizionare un controllo slider
    Forum >> Programmazione Python >> GUI
    Si grazie linkami qualche esempio.

    Vorrei posizionare degli slider nella finestra larga 1000x1000.

    Vorrei però iniziare a posizionare il primo in verticale in posizione 10,10 pixel e poi il secondo in posizione 20,10 etc con gli altri magari utilizzando un ciclo for per automatizzare la cosa dato che sono molti sti controlli slider che voglio mettere.

    Grazie.




    Premetto che di classi non sono esperto, ne so poco e sono agli inizi.

    P.S.: Che vantaggi ci sono ad usare pesantemente le classi in una applicazione?

    --- Ultima modifica di fabio75 in data 2022-07-16 09:19:10 ---

    --- Ultima modifica di fabio75 in data 2022-07-16 09:39:48 ---

    --- Ultima modifica di fabio75 in data 2022-07-16 09:54:24 ---

    --- Ultima modifica di fabio75 in data 2022-07-16 11:23:19 ---
  • Re: problema a posizionare un controllo slider
    Forum >> Programmazione Python >> GUI
    Ancora non lo posiziona in modo corretto: ho provato con x=0 ed y=0

    ma niente mi esce sempre dove vuole lui.

    Perchè?



    --- Ultima modifica di fabio75 in data 2022-07-16 08:58:29 ---
  • problema a posizionare un controllo slider
    Forum >> Programmazione Python >> GUI
    Salve ho scritto il seguente codice python:

    import tkinter as tk
    from tkinter import *
    
    #genera finestra
    master = tk.Tk()
    #genera titolo finestra
    master.title("SINTHETIZER 1.0")
    #imposta dimensioni e posiziona finestra
    master.geometry("1000x1000+0+0")
    #elimina resize
    #master.resizable("false")
    
    #stampa valori
    def vscale_cb(value):
        print('vertical: {v}'.format(v=value))
    def hscale_cb(value):
        print('horizontal: {v}'.format(v=value))
    
    #genera sleider
    w = Scale(master, from_=100, to=0, command=vscale_cb, length=400,tickinterval=1)
    w.grid(row=100, column=10, padx=10, pady=10)
    w.set(10)
    w.pack()
    
    mainloop()  #tieni aperta la finestra 
    
    


    e mi succede che col metodo w.grid() nn riesco a posizionare lo slider nella row 100 e column 10, perchè?


    Vi ringrazio per l'aiuto già da ora.








    --- Ultima modifica di fabio75 in data 2022-07-16 08:22:21 ---