Ciao ragazzi, come da titolo, ho dei problemi a comunicare con Arduino usando Python.
Uso l' Idle incorporata nella versione Windows di Python, su Ultimate a 64 bit, e naturalmente importo pyserial.
Il codice Arduino, se ricevuto il char '5' accende per qualche secondo il pin13
Il problema è Il lato Python, se apro una shell e digito le istruzioni una dopo l'altra, funziona:
import serial
ser = serial.Serial(7) #porta COM8
ser.write('5')
il carattere '5' viene inviato correttamente alla seriale e Arduino accende il suo led on board.
Se invece scrivo il listato e lo avvio usando l'ide l'esecuzione termina senza errore e senza sortire nessun effetto.
Capisco che toppo qualcosa perchè per esempio se nel listato scrivo la stessa istruzione che sulla shell funziona:
ser = serial.Serial(7) al momento dell' avvio mi da il famigerato [ERRORE 5] il numero della porta devo assegnarlo per forza usando il suo attributo specifico, così come gli altri valori di ser (baud rate, bit parità, ecc..)
Un altro esempio, se non uso ser.open() prima di scrivere sulla seriale, ricevo nuovamente errore, mi dice che non ho aperto la porta, ma allora perchè dalla shell scrivendo tre righe, funziona?
È la prima volta che mi cimento con Python, e sicuramente mi manca qualcosa di basilare, datemi una manoooo!!