Ricerca…


Sintassi

  • Serial.begin(baudrate) // Set baud rate (bits per second) for serial data transmission
  • Serial.println(value) // Print data to serial port followed by Carriage Return \r and Newline character \n
  • serial.Serial((port=None, baudrate=9600, bytesize=EIGHTBITS, parity=PARITY_NONE, stopbits=STOPBITS_ONE, timeout=None, xonxoff=False, rtscts=False, write_timeout=None, dsrdtr=False, inter_byte_timeout=None) // Initialize serial port with all parameters
  • serial.readline() // Read serial data which contains Carriage Return \r and Newline character \n

Parametri

Parametro Dettagli
seriale Il pacchetto Python contiene classi e metodi per accedere alla porta seriale
tempo Il pacchetto Python include funzioni legate al tempo

Osservazioni

Utilizzo Arduino Uno con Arduino IDE 1.6.9 e Python 2.7.12 in esecuzione su Windows 10.

Prima comunicazione seriale tra Arduino e Python

In questo primo esempio, un'operazione di scrittura seriale di base viene avviata da un dispositivo Arduino.

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Hello World!");
  delay(100);
}

In setup() , la funzione Serial.begin(9600) imposta la velocità di trasmissione per la comunicazione di dati seriali. In questo esempio, viene utilizzata una velocità di trasmissione di 9600. Altri valori possono essere letti qui: funzione Arduino Serial.begin ()

In loop() , il primo messaggio che vorremmo inviare è "Hello World!". Questo messaggio viene trasmesso utilizzando Serial.println("Hello World!") invierà questa stringa alla porta seriale in formato ASCII. Alla fine del messaggio, ci sono Carriage Return (CR, \r) e Newline character (\n) . Inoltre, viene utilizzato un ritardo di 100 millisecondi ogni volta che il programma stampa sulla porta seriale.

Successivamente, carica questo disegno Arduino tramite la porta COM (ricorda questo numero di porta COM come verrà usato nel programma Python).

Il programma Python che legge i dati seriali inviati dal dispositivo Arduino è mostrato di seguito:

import serial
import time

ser = serial.Serial('COM8', 9600)
while (1):
    print ser.readline()
    time.sleep(0.1)

Per prima cosa, il pacchetto pyserial dovrebbe essere importato. Per maggiori informazioni sull'installazione di pyserial in ambiente Windows, si prega di controllare questa istruzione: Installazione di Python e pyserial . Quindi inizializziamo la porta seriale con il numero della porta COM e la velocità di trasmissione. La velocità di trasmissione deve essere la stessa utilizzata nello schizzo Arduino.

Il messaggio ricevuto verrà stampato nel ciclo while usando la funzione readline() . Qui viene anche utilizzato un ritardo di 100 millisecondi come nello schizzo di Arduino. Si noti che la funzione readline() Pyserial richiede un timeout durante l'apertura di una porta seriale (documentazione pyserial : PySerial ReadLine ).



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow