fabio75
Profilo di
Nome | fabio75 |
---|---|
Indirizzo email | n/a |
Messaggi | 7 |
-
- 2024-01-14 03:30:06
- 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.
-
- 2022-07-18 12:49:45
- 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.
-
- 2022-07-17 11:06:56
- 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.
-
- 2022-07-16 13:27:58
- 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 ---
-
- 2022-07-16 09:18:49
- 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 ---
-
- 2022-07-16 08:58:13
- 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 ---
-
- 2022-07-16 08:21:44
- 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 ---