Estou iniciando um projeto para abrir portões eletrônico através do android.
Sendo que a comunicação entre um celular com Sistema android e o Portão eletrônico será feita por Bluetooth acoplado ao Arduino.
Por gentileza se alguém tiver alguma ideia ou quiser acrescentar algo fique a disposição.
Meu objetivo é finalizar o projeto e compartilhar como foi feito para outros garagista que pretendem implementar algo parecido ou igual.
Agradeço toda a ajuda.
Agradeço desde já.
Tags:
Apesar de ser meio "gambiarra", acho mais facil você usar o proprio controle do portão e com o arduino você simula o botão sendo precionado, seja com transistores, optoacopladores, reles, tanto faz.
A comunicação entre o arduino e o android não tem muito segredo, na internet ou até mesmo aqui no LdG você encontra muita informação sobre isso.
Mas minha intenção é justamente controlar o portão pelo Smartphone com sistema android.
Você deve ter me entendido errado, minha sugestão foi a seguinte
Você envia o comando do smartphone, o arduino recebe esse comando via bluetooth, processa os dados e atua no controle do portão que será responsável por abrir o portão.
Desse modo você consegue controle o portão pelo smartphone facilmente sem precisar mexer na placa controladora do portão, nem decodificar o controle remoto.
Iria ser necessario apenas um arduino, modulo bluetooth, fonte de alimentação, um resistor e um transistor.
É Isso ai que estou desenvolvendo.
mas por enquanto estou tentando saber eque maneira o arduino irá controlar o portão.
Ainda não sei como é o funcionamento do motor do portão.
Tens alguma ideia?
Pelo que eu entendi você só quer aproveitar o motor do portão e fazer uma outra placa controladora? Tens algum motivo em especifico para não utilizar a placa já pronto e apenas manipular ela com o arduino?
Caso realmente queira fazer toda a placa controladora, tenta descobrir qual o motor utilizado para que eu possa te ajudar melhor.
Então o motor já tem a placa controladora, é como você falou só quero manipular a placa controladora do portão com o arduino.
Eu vou pegar o modelo da placa controladora e posto aqui.
Felipe nao estou te entendo hahahahha
se voce vai manipular a placa, usa o arduino fechando curto do botao do controle remoto quando receber o comando do android.
Fiz um projeto no qual o objetivo era acender as luzes da residência e monitorar a temperatura e iluminação também, utilizando um módulo bluetooth para fazer a comunicação entre o celular e o arduíno não conheço nada de programação então é possível que contenha alguns erros mas espero que meu código possa te ajudar.
#include <LiquidCrystal.h> // declara a utilização da biblioteca LiquidCrystal
#define Luz_Fundo 6
#include <Servo.h>
int x = 0;
Servo servo1;
//cria um objeto tipo LiquidCrystal que chamei de "lcd" nos pinos citados:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int sensor = 3;
int valor = 0;
const float CELSIUS_BASE = 0.4887585532746823069403714565; //Base de conversão para Graus Celsius ((5/1023) * 100)
void setup()
{
lcd.begin(16, 2); // Iniciando o objeto "lcd" de 2 linhas e 16 colunas
pinMode(Luz_Fundo,OUTPUT); //define o pino como saída
digitalWrite(Luz_Fundo,HIGH); // Liga a luz do display.
Serial.begin(9600);
lcd.setCursor(0,0); // seta o cursor para: (coluna = 0, linha = 0)
lcd.print (" TCC 4");
lcd.write(B11011111); //Simbolo de graus celsius
lcd.print ("ELO");
lcd.setCursor(0,1); // seta o cursor para: (coluna = 0, linha = 1)
lcd.print("Casa Inteligente");
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
servo1.attach(13); // Porta onde ira ser ligado o servo
Serial.begin(9600);
}
void loop()
{ char c = Serial. read();
if (c == '1') digitalWrite (7, HIGH);
if (c == '2') digitalWrite (8, HIGH);
if (c == '3') digitalWrite (9, HIGH);
if(c == '4') digitalWrite(10, HIGH);
if (c == 'a') digitalWrite (7, LOW);
if (c == 'b') digitalWrite (8, LOW);
if (c == 'c') digitalWrite (9, LOW);
if (c == 'd') digitalWrite (10, LOW);
if (c == 'e') servo1.write (90);
if (c == '5') servo1.write (0);
digitalWrite (6, HIGH);
if( c =='f') {
int valor = analogRead(A1);
int valorModificado = map(valor,0, 1000, 0, 100);
lcd.setCursor(0,0); // seta o cursor para: (coluna = 0, linha = 0)
lcd.print("- LUMINOSIDADE -");
lcd.setCursor(0,1); // seta para linha 1, ou seja, a linha de baixo
{
lcd. print (valorModificado);
lcd. print ("% ");
if (valorModificado < 50)
lcd.print("Pouca Luz ");
if (valorModificado > 50)
lcd.print("Muita Luz ");
}
}
if (c== '6' ) {
{
int temperatura = (analogRead (A0) * CELSIUS_BASE); /* PINO A0 arduino entrada do LM 35 */
lcd.setCursor(0,0);
lcd.print("- TEMPERATURA - "); //imprime a string no display do LCD.
lcd.setCursor(0,1);
lcd.print(" ");
lcd.print( temperatura);
lcd.write(B11011111); //Simbolo de graus celsius
lcd.print("C .");
}
}
}
#include <LiquidCrystal.h> // declara a utilização da biblioteca LiquidCrystal
#define Luz_Fundo 6
#include <Servo.h>
int x = 0;
Servo servo1;
//cria um objeto tipo LiquidCrystal que chamei de "lcd" nos pinos citados:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int sensor = 3;
int valor = 0;
const float CELSIUS_BASE = 0.4887585532746823069403714565; //Base de conversão para Graus Celsius ((5/1023) * 100)
void setup()
{
lcd.begin(16, 2); // Iniciando o objeto "lcd" de 2 linhas e 16 colunas
pinMode(Luz_Fundo,OUTPUT); //define o pino como saída
digitalWrite(Luz_Fundo,HIGH); // Liga a luz do display.
Serial.begin(9600);
lcd.setCursor(0,0); // seta o cursor para: (coluna = 0, linha = 0)
lcd.print (" TCC 4");
lcd.write(B11011111); //Simbolo de graus celsius
lcd.print ("ELO");
lcd.setCursor(0,1); // seta o cursor para: (coluna = 0, linha = 1)
lcd.print("Casa Inteligente");
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
servo1.attach(13); // Porta onde ira ser ligado o servo
Serial.begin(9600);
}
void loop()
{ char c = Serial. read();
if (c == '1') digitalWrite (7, HIGH);
if (c == '2') digitalWrite (8, HIGH);
if (c == '3') digitalWrite (9, HIGH);
if(c == '4') digitalWrite(10, HIGH);
if (c == 'a') digitalWrite (7, LOW);
if (c == 'b') digitalWrite (8, LOW);
if (c == 'c') digitalWrite (9, LOW);
if (c == 'd') digitalWrite (10, LOW);
if (c == 'e') servo1.write (90);
if (c == '5') servo1.write (0);
digitalWrite (6, HIGH);
if( c =='f') {
int valor = analogRead(A1);
int valorModificado = map(valor,0, 1000, 0, 100);
lcd.setCursor(0,0); // seta o cursor para: (coluna = 0, linha = 0)
lcd.print("- LUMINOSIDADE -");
lcd.setCursor(0,1); // seta para linha 1, ou seja, a linha de baixo
{
lcd. print (valorModificado);
lcd. print ("% ");
if (valorModificado < 50)
lcd.print("Pouca Luz ");
if (valorModificado > 50)
lcd.print("Muita Luz ");
}
}
if (c== '6' ) {
{
int temperatura = (analogRead (A0) * CELSIUS_BASE); /* PINO A0 arduino entrada do LM 35 */
lcd.setCursor(0,0);
lcd.print("- TEMPERATURA - "); //imprime a string no display do LCD.
lcd.setCursor(0,1);
lcd.print(" ");
lcd.print( temperatura);
lcd.write(B11011111); //Simbolo de graus celsius
lcd.print("C .");
}
}
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por