Entrar

Robótica

Projetos de Robótica

Robô Seguidor de Linha
Robô Seguidor de Linha
Robô autônomo que segue uma linha preta utilizando sensores infravermelhos TCRT5000. Possui lógica inteligente para detectar encruzilhadas e linha de chegada. Quando ambos os sensores detectam preto por mais de 500ms, o robô para automaticamente.
Código Arduino
// ===========================
// Sensores TCRT5000
// ===========================
#define sensorE 4   // DIREITA (fisicamente invertido)
#define sensorD 5   // ESQUERDA

// ===========================
// Motores - Ponte H (ESP32 PINOS SEGUROS)
// ===========================
#define ENA 25
#define IN1 13
#define IN2 12

#define ENB 26
#define IN3 27
#define IN4 14

// ===========================
// Ultrassônico
// ===========================
#define TRIG 18
#define ECHO 19
int DIST_SEGURANCA = 15;

// ===========================
// PWM ESP32
// ===========================
int canalA = 0;
int canalB = 1;

void setup() {
  // Sensores de linha
  pinMode(sensorE, INPUT);
  pinMode(sensorD, INPUT);

  // Ponte H
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);

  // Ultrassônico
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);

  // PWM ESP32
  ledcAttachPin(ENA, canalA);
  ledcAttachPin(ENB, canalB);

  ledcSetup(canalA, 5000, 8); // 5kHz, resolução 8 bits
  ledcSetup(canalB, 5000, 8);

  // Velocidades
  ledcWrite(canalA, 97);
  ledcWrite(canalB, 117);
}

// ===========================
// Movimentos
// ===========================
void frente() {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);

  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
}

void esquerda() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);

  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
}

void direita() {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
}

void parar() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
}

// ===========================
// Ultrassônico
// ===========================
long medirDistancia() {
  digitalWrite(TRIG, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG, LOW);

  long duracao = pulseIn(ECHO, HIGH, 30000);
  if (duracao == 0) return 999;

  return duracao / 58;
}

// ===========================
// Loop principal
// ===========================
void loop() {
  long dist = medirDistancia();

  // Segurança
  if (dist < DIST_SEGURANCA) {
    parar();
    delay(80);
    return;
  }

  bool E = (digitalRead(sensorD) == LOW); // sensor ESQUERDO
  bool D = (digitalRead(sensorE) == LOW); // sensor DIREITO

  if (!E && !D) {
    frente();
  }
  else if (!E && D) {
    direita();
  }
  else if (E && !D) {
    esquerda();
  }
  else if (E && D) {
    frente();
  }
}


Copie este código e cole no seu IDE Arduino para usar
Sistema de Semáforo
Sistema de Semáforo
Simulação de semáforo com LEDs vermelho, amarelo e verde que alternam em sequência automática. O ciclo completo dura 15 segundos: verde (7s), amarelo (3s) e vermelho (5s).
Código Arduino
Copie este código e cole no seu IDE Arduino para usar
cronometro
cronometro
Cronômetro por Arduino é um sistema que mede tempo com precisão usando funções internas como `millis()`.
Código Arduino
Copie este código e cole no seu IDE Arduino para usar
carrinho arduino
carrinho arduino
Um carrinho Arduino seguidor de linha é um robô que usa sensores para detectar uma linha no chão e ajustar os motores automaticamente para segui-la.
Código Arduino
Copie este código e cole no seu IDE Arduino para usar
LED com Potenciômetro
LED com Potenciômetro
Sistema que controla o brilho de um LED usando um potenciômetro. O valor analógico do potenciômetro (0-1023) é convertido para PWM (0-255) e aplicado ao LED, criando um efeito de dimmer.
Código Arduino
Copie este código e cole no seu IDE Arduino para usar
Servo Motor
Servo Motor
Controle de servo motor que realiza movimento de varredura entre 0 e 180 graus. O servo se move suavemente em ambas as direções, demonstrando o controle preciso de posição angular.
Código Arduino
Copie este código e cole no seu IDE Arduino para usar
Botão com LED
Botão com LED
Projeto básico onde um LED é acionado por um botão. Ao pressionar o botão, o LED acende e permanece ligado enquanto o botão estiver pressionado. É o projeto ideal para iniciantes aprenderem sobre entradas digitais (botão) e saídas digitais (LED), demonstrando o controle direto de componentes.
Código Arduino
Copie este código e cole no seu IDE Arduino para usar. O LED acenderá enquanto o botão estiver pressionado.
Display LCD 16x2 com I2C
Display LCD
Controle de display LCD 16x2 com módulo I2C. Exibe mensagens personalizadas, contadores e informações em tempo real. O módulo I2C simplifica a conexão usando apenas 2 fios (SDA e SCL) para comunicação.
Código Arduino
Copie este código e cole no seu IDE Arduino para usar
Buzzer com Botão
Buzzer com Botão
Sistema simples onde um buzzer emite som quando um botão é pressionado. Ao apertar o botão, o buzzer toca em uma frequência específica (1000Hz), criando um apito. Ideal para projetos de alarmes simples, sistemas de notificação ou controles sonoros básicos.
Código Arduino
Copie este código e cole no seu IDE Arduino para usar. O buzzer tocará sempre que o botão for pressionado.