Você está na página 1de 3

Resumo Mayck Prova

Comunicação Serial:

Comunicação serial é um método de transferência de dados sequencialmente, bit por bit, em um único canal.
Exemplos incluem RS-232 e RS-485. Configurações importantes incluem taxa de transmissão e bits de dados.
Amplamente usada em dispositivos eletrônicos para troca de informações.

1. RS-232: Comum em conexões de computadores e periféricos, utiliza sinais de tensão positiva/negativa para
representar bits.
2. RS-485: Usado em redes industriais, permite comunicação entre vários dispositivos em um mesmo barramento,
utilizando um par de fios para transmissão diferencial de dados.

Também conhecida como UART ou USART, a comunicação serial é uma maneira de enviar e receber
dados entre dispositivos eletrônicos. No contexto do Arduino, isso pode ser útil para interagir com
outros dispositivos, como sensores, displays, computadores, entre outros.
Além disso, pode ser uma ferramenta útil para depuração de código.

BAUD RATE:

Baud Rate é a taxa de transmissão em bps. Deve ser igualmente configurado nos dispositivos comunicantes,
geralmente em 9600 bps para comunicações básicas.

PORTAS SERIAIS:

Os Arduinos possuem portas seriais físicas, como as portas 0 (RX) e 1 (TX) no Arduino Uno. O uso inadequado
desses pinos pode interferir na comunicação com o computador e afetar uploads para a placa.

TX e RX:

TX é a porta de transmissão.
RX é a de recepção.
A comunicação serial é bidirecional, exigindo conexão cruzada (TX com RX e vice-versa). Os níveis de
tensão (5V ou 3.3V) devem ser considerados para evitar danos às portas seriais.

Comunicando com o PC na IDE Arduino:

É possível utilizar um monitor de Serial presente no ambiente de desenvolvimento do Arduino, dessa forma,
conseguimos “conversar” com a placa Arduino.

Comunicando com o PC na IDE Arduino:

Para utilizarmos a interface Serial do Arduino precisamos


configurar o baud rate com a seguinte sintaxe:
void setup(){
Serial.begin(baud_rate)

Comunicando com o PC na IDE Arduino:

No programa ao lado verificamos se existem dados recebidos em RX aguardando para serem lidos. A leitura é feita
por meio de Serial.read().
Por fim o Arduino responde pela porta TX com as informação que será apresentada no Monitor Serial.

Comunicando com o PC na IDE Arduino:

No programa anterior, o Arduino só imprimia um caractere por vez, resultando em saída estranha ao digitar palavras
ou frases. Para corrigir, podemos usar Serial.readStringUntil() para capturar dados na Serial até identificar um
caractere chave.

Este código em C++ é destinado a ser executado em um Arduino Uno e controla um motor DC utilizando um
potenciômetro para ajustar a velocidade do motor. Vamos entender o que cada parte do código faz:

1. Definição de pinos:

int motorPin1 = 7;
int motorPin2 = 8;
int motorSpeedPin = 9;
int potPin = A0;

Aqui, estão sendo definidos os pinos utilizados para controlar o motor e para ler o valor do potenciômetro. No
caso:
motorPin1 e motorPin2 são os pinos que controlam a direção do motor.
motorSpeedPin é o pino que controla a velocidade do motor usando a modulação por largura de pulso
(PWM).
potPin é o pino ao qual o potenciômetro está conectado para ler o valor analógico.
2. Função setup() :

void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorSpeedPin, OUTPUT);
Serial.begin(9600);
}

pinMode é usado para configurar os pinos como saída ( OUTPUT ) para controlar o motor.
Serial.begin(9600) inicia a comunicação serial com uma taxa de baud de 9600, permitindo que você
envie dados para o computador para monitorar o comportamento do programa.
3. Função loop() :

void loop() {
int potValue = analogRead(potPin);
int motorSpeed = map(potValue, 0, 1023, 0, 255);

digitalWrite(motorPin1, HIGH); // Definir a direção do motor


digitalWrite(motorPin2, LOW); // Altere os estados HIGH e LOW para mudar a direção
analogWrite(motorSpeedPin, motorSpeed);

Serial.print("Valor do Potenciometro: ");


Serial.print(potValue);
Serial.print(" | Velocidade do Motor: ");
Serial.println(motorSpeed);

delay(100);
}

analogRead(potPin) lê o valor analógico do potenciômetro (um número entre 0 e 1023).


map(potValue, 0, 1023, 0, 255) mapeia o valor lido do potenciômetro (0 a 1023) para um valor de
velocidade do motor (0 a 255).
digitalWrite(motorPin1, HIGH) e digitalWrite(motorPin2, LOW) são usados para definir a direção
do motor. Isso pode ser ajustado alterando os estados HIGH e LOW .
analogWrite(motorSpeedPin, motorSpeed) define a velocidade do motor usando PWM.
As linhas Serial.print são usadas para imprimir informações sobre o valor do potenciômetro e a
velocidade do motor no Monitor Serial.
delay(100) adiciona um pequeno atraso de 100 milissegundos para evitar a leitura muito rápida do
potenciômetro.

Você também pode gostar