terça-feira, 11 de julho de 2017

Definindo destino de caixas a partir de seu tamanho

Grupo Algoolatras

Nesse projeto decidimos criar um sistema que seria de grande utilidade em agencias do correio e em grandes transportadoras. Se trata de um sistema que identifica e separa caixas a partir de seu tamanho.

Para Montar utilizamos:
● 3 led’s de cores diferentes
● 1 Protoboard
● 1 Arduino Uno
● 1 Sensor ultrassônico HC-SR04
● Fios jumpers
● Caixas de diferentes tamanhos

Em resumo no nosso projeto os Leds representam o destino que cada caixa deve ter, o Led Vermelho acenderá caso a caixa tenha mais de 20 cm, o amarelo caso a caixa tenha entre 10 e 20 cm e o Led verde será acionado se a caixa tiver tamanho inferior a 10 cm.

Abaixo o codigo que utilizamos no arduino.

#include <Ultrasonic.h>

//Trigger no pino 6 - e Echo no pino 7
Ultrasonic ultrasonic(6,7);

//Declarando as constantes referentes aos pinos digitais.
const int ledVerde = 13;
const int ledAmarelo = 12;
const int ledVermelho = 11;

long microsec = 0;
float distanciaCM = 0;

void setup() {
  Serial.begin(9600);
   
  //Definindo pinos digitais
  pinMode(ledVerde,OUTPUT); //13 como de saída.
  pinMode(ledAmarelo,OUTPUT); //12 como de saída.
  pinMode(ledVermelho,OUTPUT); //11 como de saída.
}

void loop() { 

  microsec = ultrasonic.timing();

  /*Convertendo a distância em CM*/
  distanciaCM = ultrasonic.convert(microsec, Ultrasonic::CM);

  ledDistancia();

  Serial.print(distanciaCM);
  Serial.println(" cm");
  delay(1000);
}

void ledDistancia() {
   
  //Apagando todos os leds
  digitalWrite(ledVerde,LOW); 
  digitalWrite(ledAmarelo,LOW);
  digitalWrite(ledVermelho,LOW);
   
  //Acendendo o led correspondente ao tamanho da caixa
  if (distanciaCM > 20 and distanciaCM < 30) {
    digitalWrite(ledVerde,HIGH); 
  }
   
  if (distanciaCM <=20 and distanciaCM >= 10) {
    digitalWrite(ledAmarelo,HIGH);
  }
   
  if (distanciaCM < 10) {
    digitalWrite(ledVermelho,HIGH);
  }
}

Vídeo da execução do projeto:



Nenhum comentário:

Postar um comentário