Conteúdo sugerido

Abra um terminal e digite 

pip install pyserial



E1nE3Km.png

Código do programa do arduino, ele recebe algo pela serial e responde de volta:


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

void loop() {
  String textoEntrada;
  // put your main code here, to run repeatedly:
  if (Serial.available()>0){
    textoEntrada = Serial.readString();
    Serial.print(" O Arduino Recebeu => ");
    Serial.println(textoEntrada);
  }

}


Código Python escreve algo e imprime a resposta:

#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
 
import serial
import time

ser = serial.Serial('COM4', 9600)
time.sleep(3)

ser.write(b'hello') 
print(" Olha o que chegou ")
textoEntrada = ser.readline()
print(textoEntrada)
ser.close()

Este link é da documentação do pyserial para você ver outras funções:

Digitando o texto a enviar:

#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
 
import serial
import time

ser = serial.Serial('COM5', 9600)
time.sleep(3)
textoSaida = str(input('o que você quer enviar para o arduino? '))
ser.write(textoSaida.encode()) 
print(" Olha o que chegou ")
textoEntrada = ser.readline()
print(textoEntrada.decode('utf-8'))
ser.close()


Código do arduino para comparar string recebida:


String textoEntrada = "";
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(10, INPUT);
  pinMode(13, OUTPUT);
}
 
void loop() {
  char byteEntrada;
  // put your main code here, to run repeatedly:
  while (Serial.available()>0){
    byteEntrada = Serial.read();
    textoEntrada = String( textoEntrada + String(byteEntrada));
    Serial.println(textoEntrada);
  }
  //Serial.println(textoEntrada);
  if (textoEntrada == "acende"){
    Serial.println("pisca o led");
    digitalWrite(13,HIGH);
    delay(1000);
    digitalWrite(13,LOW);
  }
  
  if  (!digitalRead(10)){
     delay(500);
     Serial.println("A");
  }
  
}




Atividades recentes