segunda-feira, 28 de janeiro de 2019

Comunicação serial com python e ESP8266 ( ou Arduino)

Eae pessoal, blz?
Nesse post vou mostrar como fazer comunicação entre serial entre um microcontrolador e um programa em python.

O código criado em python envia caracteres pela serial. Esse
s caracteres são lidos pelo ESP8266 e executam uma função determinada de acordo com o caractere que foi enviado.


Essa é a montagem que foi feita, o ESP foi conectado a porta USB do notebook, e o circuito externo é composto de um LED e um servo motor.

Vou deixar aqui o código feito em python para enviar os caracteres e o código do ESP8266 que recebe os caracteres e aciona o LED e/ou servo motor de acordo com o caractere enviado.

                                                       CÓDIGO PYTHON

import serial

arduino = serial.Serial('COM6', 9600)

while 1:
    dados = input("digite o comando \n")

    if dados == '1':
        arduino.write(b'1')
        print("led ligado")
    elif dados == '0' :
        arduino.write(b'0')
        print("led desligado")
    elif dados == '2' :
        arduino.write(b'2')
        print("0 graus ")
    elif dados == '3' :
        arduino.write(b'3')
        print("90 graus")
    elif dados == '4' :
        arduino.write(b'4')
        print("180 graus")


                        
                       CÓDIGO ESP8266

#include <Servo.h>

int ledVermelho = 0;
int valor_recebido;
Servo s;

void setup() {
  Serial.begin(9600);
  pinMode(ledVermelho, OUTPUT);
  s.attach(16);
  s.write(10);
}

void loop() {
  if(Serial.available() > 0)
  {
    valor_recebido = Serial.read();
  }
  if(valor_recebido == '1'){
    digitalWrite(ledVermelho,HIGH);
  }
  else if(valor_recebido == '0'){
    digitalWrite(ledVermelho,LOW);
  }
  else if(valor_recebido == '2'){
    s.write(10);
  }
  else if(valor_recebido == '3'){
    s.write(90);
  }
  else if(valor_recebido == '4'){
    s.write(170);
  }
}



Link do Canal no Youtube: 
https://www.youtube.com/c/Eletr%C3%B4nicaePrograma%C3%A7%C3%A3o

Nenhum comentário:

Postar um comentário

Criando um jogo com python #4

Fala pessoal, blz? Esse código fonte utilizado no vídeo: import pygame from random import randint pygame.init() x = 230 # max 530 min 23...