Buscar
banner

redbot

Publicado em 29 de Dezembro de 2025 às 22:42

olha só esse robozinho é fã da cor vermelha e ele ira sempre a seguir! estou brincando(ou sera que não?)
esse é um projeto um pouco mas avançado que demanda mas dinheiro porém ele é muito divertido :3
(talvez a imagem não ira representar o produto final se você não caprichar!!)

Materiais Necessários

  • 1x arduino uno ou nano
  • 1x sensor de cor TCS3200/CS230
  • 2x motores DC (3v-6v) com caixa de redução e 2 rodas
  • 1x drive de motor ponte H L298N
  • chassi de acrilico, papelão ou plastico bem rigido (aprox. 15 a 20 cm)
  • 1x roda boba
  • 1x suporte para 4 pilhas AA ou bateria 9V
  • cambos jumpers( macho-macho e macho-fêmea) e uma mini protoboard
  • 4x RODAS

Ferramentas Necessárias

  • pistola de cola quente ou(e) fita dupla face tipo banana
  • chave tipo philipps ou fenda
  • tesoura ou estilete
  • alicate de corte ou desscascador de fios
  • cabo usb A/B
  • softawre arduino IDE

Etapas

prepare o chassi!

  • MOTORES:
    use cola quente ou a fita para ficar dois motores DC um em cada lado

    RODAS:
    encaixe as rodas no eixo dos motores

    RODA BOBA:
    cole-a na parte da frente centralizada. o robo tera que fcar reto!

preparando o cerebro e a ernegia

  • ARDUINO:
    coloque-a na parte de cima

    DRIVER:
    fixe o drive de motor perto dos motores!

    BATERIA:
    coloque o suporte de pilhas no centro assim equilibrara melhor

SUPER CHOQUE! MEXENDO NA ELETRICA

  • Conecte os dois fios do motor da direita nos terminais OUT1 e OUT2 do Driver L298N. O motor da esquerda vai no OUT3 e OUT4. (Precisa de uma chave de fenda pequena).
    Use cabos Fêmea-Macho para ligar os pinos IN1, IN2, IN3 e IN4 do Driver aos pinos digitais 8, 9, 10 e 11 do Arduino.
  • O sensor TCS3200 tem vários pinos. Use cabos Fêmea-Macho:
    VCC do sensor no 5V do Arduino.
    GND do sensor no GND do Arduino.
    S0, S1, S2, S3 nos pinos 2, 3, 4, 5 do Arduino.
    OUT do sensor no pino 6 do Arduino.
  • Ligue o fio positivo (vermelho) da bateria no 12V do Driver e o negativo (preto) no GND do Driver. Muito importante: Puxe um fio extra do GND do Driver para o GND do Arduino (isso chama-se terra comum).

EU ESTOU VENDO!

  • coloque o sensor de cor virado pro chão
    deixe uma distancia de 1 a 2 cm de onde o objeto vermelho passara

HORA DE ENSINA-LO!

  • ESSE É O CODIGO COMPLETO
    porem se tu se achar cabuloso crie o teu proprio

    // --- Definição dos Pinos do Sensor TCS3200 ---
    #define S0 2
    #define S1 3
    #define S2 4
    #define S3 5
    #define OUT 6

    // --- Definição dos Pinos do Driver L298N (Motores) ---
    #define IN1 8
    #define IN2 9
    #define IN3 10
    #define IN4 11

    // Variáveis para armazenar a intensidade das cores
    int vermelho = 0;
    int verde = 0;
    int azul = 0;

    void setup() {
    // Configuração dos pinos do sensor
    pinMode(S0, OUTPUT);
    pinMode(S1, OUTPUT);
    pinMode(S2, OUTPUT);
    pinMode(S3, OUTPUT);
    pinMode(OUT, INPUT);

    // Configuração dos pinos dos motores
    pinMode(IN1, OUTPUT);
    pinMode(IN2, OUTPUT);
    pinMode(IN3, OUTPUT);
    pinMode(IN4, OUTPUT);

    // Escala de frequência do sensor em 20% (padrão para Arduino)
    digitalWrite(S0, HIGH);
    digitalWrite(S1, LOW);

    Serial.begin(9600); // Abre o monitor serial para calibração
    }

    void loop() {
    detectarCores(); // Chama a função que lê o sensor

    // LOGICA "DE VERDADE":
    // No TCS3200, quanto MENOR o valor, mais forte é a cor.
    // Verificamos se o Vermelho é menor que o Verde E menor que o Azul.
    if (vermelho < verde && vermelho < azul && vermelho < 100) {
    Serial.println("Vermelho detectado! Movendo...");
    moverFrente();
    } else {
    Serial.println("Cor nao identificada. Parado.");
    parar();
    }

    delay(200); // Pequena pausa para estabilidade
    }

    // --- Função que lê os valores RGB ---
    void detectarCores() {
    // Lendo Vermelho
    digitalWrite(S2, LOW);
    digitalWrite(S3, LOW);
    vermelho = pulseIn(OUT, LOW);

    // Lendo Verde
    digitalWrite(S2, HIGH);
    digitalWrite(S3, HIGH);
    verde = pulseIn(OUT, LOW);

    // Lendo Azul
    digitalWrite(S2, LOW);
    digitalWrite(S3, HIGH);
    azul = pulseIn(OUT, LOW);

    // Mostra os valores no PC para você calibrar
    Serial.print("R: "); Serial.print(vermelho);
    Serial.print(" G: "); Serial.print(verde);
    Serial.print(" B: "); Serial.println(azul);
    }

    // --- Funções de Movimento ---
    void moverFrente() {
    digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
    digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
    }

    void parar() {
    digitalWrite(IN1, LOW); digitalWrite(IN2, LOW);
    digitalWrite(IN3, LOW); digitalWrite(IN4, LOW);
    }

Conclusão

de qualquer forma... esse robo é super CABEÇA!
ele não é linear e nem burro
ele apenas é fascinado numa cor!

Comentários

0
Faça login para adicionar um comentário.
  1. Nenhum comentário ainda. Seja o primeiro a comentar!

Gostou do Projeto?