sexta-feira, 27 de setembro de 2024

Carrinho robô com Arduino Uno R3 - Como funciona

 Introdução - Arduino

O Arduino é uma plataforma open-source sendo composta por software e hardware. Com relação ao software, conseguimos desenvolver programas que serão inseridos no CHIP (microcontrolador ATMega328) da empresa Atmel Corporation, e estes programas são desenvolvidos na linguagem C. Já quando ao Hardware, podemos pegar as peças de acordo com a esquemática eletrônica do Arduino e construir o nosso próprio projeto, inclusive, nomeando como bem entendermos.

Demais componentes

Além do Arduino, usamos também um motor de 6V, miniprotoboard, jumpers, um resistor de 2.2k e outro de 1k, Ponte H, um Módulo Bluetooth e uma bateria de 9V.

  • Miniprotoboard e Jumpers - Usados para conectar os componentes eletrônicos
  • Motor de 6V - Usado para girar as rodas e fazer nosso robô andar
  • Resistor - Usado para limitar corrente elétrica no circuito do módulo Bluetooth
  • Módulo Bluetooth - Usado para fazer o robô conversar com o telefone celular através do Bluetooth (APP para fazer essa conversa entre ambos)
  • Ponte H - Usado para que o Arduino consiga controlar os motores

Funcionamento

Me perdoem se o desenho estiver confuso, não sou desenhista kkk


Feito isto, podemos utilizar o seguinte conjunto de códigos:
char caracter;
void setup() {
  Serial.begin(9600);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}
void loop() {
  if (Serial.available())
    caracter = Serial.read();
    Serial.print("Recebi os dados;");
    Serial.println(caracter);
    if (caracter == 'D')
    {
      digitalWrite(10, LOW);
      digitalWrite(11, HIGH);
      digitalWrite(12, LOW);
      digitalWrite(13, LOW);
      delay(10000);
      caracter = 'P';
    }
    if (caracter == 'E')
    {
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
      digitalWrite(12, LOW);
      digitalWrite(13, HIGH);
      delay(10000);
      caracter = 'P';
    }
    if (caracter == 'F')
    {
      digitalWrite(10, HIGH);
      digitalWrite(11, LOW);
      digitalWrite(12, HIGH);
      digitalWrite(13, LOW);
      delay(10000);
      caracter = 'P';
    }
    if (caracter == 'T')
    {
      digitalWrite(10, LOW);
      digitalWrite(11, HIGH);
      digitalWrite(12, LOW);
      digitalWrite(13, HIGH);
      delay(10000);
      caracter = 'P';
    }
    if (caracter == 'P')
    {
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
      digitalWrite(12, LOW);
      digitalWrite(13, LOW);
    }    
}
Observe que o Serial.available() verifica quantos bytes estão disponíveis para serem lidos da porta serial. Se retornar um valor maior que zero, significa que há dados recebidos prontos para serem lidos, permitindo que o código execute a leitura com Serial.read().

Não esqueçam de baixar o App para enviar dados dos caracteres via bluetooth, siga o link abaixo:

Nenhum comentário:

Postar um comentário