Coder Social home page Coder Social logo

line-follower-robot's Introduction

Line Follower Robot


The main purpose was to develop and implement a line follower robot that would have to follow the line as fast as possible. For that we projected a microcontroller based system with a user friendly mobile application. With this project all the topics that were given during the lecturers were covered since the interruptions on ATMEGA to the Analog/Digital converter. More specifically, we used the timer in PWM mode to control the motors and the USART protocol for the Bluetooth communication. The A/D converter was used to get the battery level and the EEPROM to record the track.

Este projeto vai ser implementando dando uso ao microcontrolador ATMEGA-328P, que é o microcontrolador do arduino, irá ser desenvolvido atraves do eclipse, com o plugin AVR. Tem como principal objetivo seguir uma linha preta, com diversos extras. Vai ser usado o conversor A/D, EEPROM, modo PWM, timers e comunicação USART.

Video de apresentação



Materiais utilizados

  • Arduino Uno
  • LCD Module Display 20x4
  • Modulo Bluetooth HC-06
  • Array de 5 sensores infrared
  • Motor DC 3V-6V c/Roda
  • Dual channel DC motor driver
  • Placa acrílico
  • Suporte 3x pilhas AA
  • Power Bank 4000mah
  • Interruptor ON/OFF
  • LED azul e vermelho.


Funcionalidades APP

  • Modo Manual
    • Controlar robô, muda direção e sentido
    • ALtera velocidade
    • Grava trajeto
    • Reproduz trajeto
    • Ver estado da bateria
    • Caso a bateria esteja a menos de 20%, então é sinalizado essa informação ao começar a piscar a barra da bateria

  • Modo Automático
    • Ver estado dos sensores
    • Ver estado de bateria
    • Dar Start ou Stop
    • Alterar velocidade
    • Conta o numero de voltas
    • Conta o tempo que efectuou na volta
    • Apresenta o melhor tempo
    • Permite dar reset às estatisticas
    • Caso o robô esteja perdido é avisado na APP com a indicação de que está perdido e o dispositivo treme
    • Permite gravar trajeto
    • Permite reproduzir trajeto
    • Permite ativar modo de competição, em que aumenta mais a velocidade e desliga todas as conexões existentes
    • Caso a bateria esteja a menos de 20%, então é sinalizado essa informação ao começar a piscar a barra da bateria


Funcionalidades robô

  • Modo Manual

    • Permite ser controlado via bluetooth
    • Caso esteja conectado via bluetooth então é imprimido a mensagem "conectado", caso por algum motivo perca a comunicaçao, então é imprimido "desconectado", parando todos os motores e pisca o led azul a cada 0,5s
    • Grava o trajeto, piscando a cada 1s o led vermelho
    • Reproduz o trajeto efetuado, quando acaba a reprodução os motores são parados e imprime a mensagem no lcd "Reprodução acabada"









  • Modo Automático
    • Segue a linha preta
    • Imprime sensores ativos, estado de bateria, estado bluetooth via LCD
    • Caso o robô não encontre linha preta durante 2s, então fica no estado perdido, parando os motores e dando a respetiva sinalização
    • Conta numero de voltas, caso o sensor encontre a combinaçao de sensores 10101, que é a marca que definimos como sendo o ponto de partida

Video de apresentação:

Robot

line-follower-robot's People

Contributors

fabio-morais avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.