segunda-feira, 8 de junho de 2015

Vídeo ilustrativo do projeto



Parte física do projeto

Como já foi dito, no nosso projeto utilizamos o CI-L293D, então primeiramente é necessário compreender  o seu funcionamento. Este funcionamento está detalhado no seguinte site: http://www.arduinoecia.com.br/2014/04/controle-de-motor-cc-com-o-l293d-ponte-h.html

Observe o datasheet abaixo que foi retirado do site acima:

Pinagem L293D

Após compreender o funcionamento do CI, definimos que no nosso projeto serão feitas as devidas ligações:

  • input 1 será ligado no output 2 do Severino; 
  • input 7 será ligado no output 4 do Severino; 
  • enable 1 será ligado no output 2 do Severino;
  • output 1 será ligado no motor;
  • output 2 será ligado no motor;
  • gnd será ligado no gnd do Severino;

A ligação do nosso Vcc merece ser detalhada. Como utilizamos um fonte de 12V, a tensão que irá para o motor foi ligada na saída de 9V do Severino e o módulo bluetooth juntamente com o CI foram ligados na saída de 5V.

Obs. utilizando sempre as saídas digitais do Severino.

(Se surgir algum dúvida, é necessário observar que de acordo com a lógica, as saídas digitais 3 e 4 do Severino foram escolhidas para serem ligadas nos pinos 2 e 7 do CI, e a saída 2 foi escolhida para ser ligada no enable)

Veja abaixo algumas fotos do projeto finalizado:









Até o próximo post!

Lógica de programação do projeto.

Nosso projeto, como já foi dito, consiste em simular um portão eletrônico e o controle do portão será realizado por um aplicativo de celular.

A lógica de programação é a seguinte:

int Pino1Motor = 3; // pino 2 no L293D IC
int Pino2Motor = 4; // pino 7 no L293D IC
int enable = 2; // pino 1 no L293D IC
char situacao; //0 desligar o motor, 'f' (fechar), 'a' (abrir)

void setup() {
    Serial.begin(9600);
    pinMode(Pino1Motor, OUTPUT);
    pinMode(Pino2Motor, OUTPUT);
    pinMode(enable, OUTPUT);
    digitalWrite(enable, HIGH);
}

void loop() {
   if (Serial.available() > 0){
      situacao = Serial.read();
      if (situacao == 'a') {
         abrir();
      }
      else if (situacao == 'f'){
         fechar();
      }
      else if (situacao == 'p'){
         parar();
      }
   }
}

void abrir(){
  digitalWrite(Pino1Motor, HIGH); 
  digitalWrite(Pino2Motor, LOW); 
  delay(500);
  digitalWrite(Pino1Motor, LOW);
}

void fechar(){
    digitalWrite(Pino1Motor, LOW); 
    digitalWrite(Pino2Motor, HIGH); 
    delay(500);
    digitalWrite(Pino2Motor, LOW);
}
       
void parar() {
    digitalWrite(Pino1Motor, LOW);
    digitalWrite(Pino2Motor, LOW);
}   

Para transferir a lógica de programação para o Severino, utilizamos também o AVR (conectado da maneira correta como já foi explicado no post Bootloader). Para isso, com a lógica já no Software Arduíno 1.0.5 siga os passos da imagem abaixo:


_________________________________________________________________________________
O aplicativo de celular foi desenvolvido a partir do "App inventor" segue link do site: http://appinventor.mit.edu/explore/
Tal plataforma é de fácil utilização e existem vários tutoriais espalhados pela Internet a respeito de sua utilização, aqui no blog deixaremos somente a lógica que utilizamos, não detalharemos como utilizar o "App Inventor".
A lógica de programação do nosso aplicativo é bastante simples, assim como também sua interface é bastante simples.

Observe a lógica:
Observe a interface:



No próximo post detalharemos a parte física do projeto. Até mais!

quarta-feira, 3 de junho de 2015

Construindo a maquete

Para desenvolver o projeto, precisaríamos de uma maquete, que foi construída de madeira inutilizada, (as medidas foram dos blocos de madeira foram feitas de acordo com o tamanho do drive de DVD que simulará o portão).


Material necessário para desenvolver o projeto

Segue abaixo lista de materiais necessários para plena realização do projeto:
  1. Placa Severino (ou qualquer Arduíno)
  2. Fonte para energizar a placa Severino;
  3. Protoboard;
  4. Fios para conexão (utilizamos fios internos do cabo de rede);
  5. Circuito integrado L293D
  6. Drive de DVD;
  7. Módulo Bluetooth;
  8. Smartphone;
  9. Madeira.
Obs.: As placas de madeira são para montar a maquete.

Projeto

Desde o começo das aulas de Projetos Integrados I, simultaneamente a montagem da placa, também era necessário que já começássemos a pensar qual aplicação iríamos realizar. Depois de muitas ideias, estávamos decididos, vamos simular um portão eletrônico com controle via celular.

Nos próximos posts detalharemos a realização do nosso projeto. 

Bootloader

Para realização do bootloader é necessário:
  • Cabo de conexão serial-USB ou AVR (nós utilizamos o AVR);
  • Download do Software do Arduino 1.0.5 http://www.arduino.cc/en/Main/OldSoftwareReleases#1.0.x
Com a placa conectada no computador através do AVR, e após ter realizado o download do software; siga os passos das imagens abaixo:

Obs. Para realizar a conexão do AVR com o Severino, o AVR deverá ser conectado nos pinos programáveis do Arduíno que está na posição ICSP do layout abaixo:


Também é necessário a instalação de alguns drivers, que podem ser encontrado no site abaixo:
http://mightyohm.com/blog/2010/09/avrisp-mkii-libusb-drivers-for-windows-7-vista-x64/
Caso haja alguma dúvida, observe o fórum a seguir:
http://forum.arduino.cc/index.php?topic=118089.0
Dispositivo AVR para bootloader e também para upload de lógica
Após seguir os passos acima já com o Arduino 1.0.5 instalado em seu computador, realize os procedimentos abaixo: