Abaixo, para fechar o projeto do 7º semestre de Engenharia Elétrica da USF, "SmarCar", segue um vídeo explicativo do protótipo. Aproveitamos para agradecer à todos que nos acompanharam nessa jornada, aos muitos autores de tópicos e artigos da internet, que nos ajudaram muito, e aos professores do curso que nos orientaram: Débora, Adriano, Eduardo, João Hermes e Renato. Muito obrigado à todos!!!!
SMARTCAR
Projeto do 7º semestre de Engenharia Elétrica, da Universidade São Francisco, USF. Realizado na plataforma Arduino, com conceitos em eletrônica. Os integrantes são Bruno Artur Arantes de Almeida, Eric Alexandre Dias, Guilherme Figueiredo Tavares e Guilherme Pereira Gonçalves.
quinta-feira, 4 de junho de 2015
Apresentação de mídia
Essa foi a apresentação de slides que apresentamos no dia projeto. Segue o link:
https://www.sendspace.com/file/v6ju0a
https://www.sendspace.com/file/v6ju0a
Linha de programação utilizada no projeto - transcrição
Segue abaixo toda a transcrição da linha de programação utilizada no projeto:
/* Todo programa esta na ordem: 1° presença 2º Corrente 5A 3º Corrente 20A 4° Vidro */ // presença int led_presenca = 3; //Declara Led que indica presenca no pino 3 int pinopir = 2; // Declara entrada sensor de presenca no pino 1 int acionamento; // Declara variavel auxiliar do sensor de presenca // Corrente 5A int sensorPin =A0; int alimentacao = 11; int led=12; int sensorValue_aux = 0; float sensorValue = 0; float currentValue = 0; float voltsporUnidade = 0.004887586;// 5%1023 // Corrente 20A int sensorPin_1 =A1; int alimentacao_1 = 10; int led_1=13; int sensorValue_1_aux_1 = 4; float sensorValue_1 = 4; float currentValue_1 = 4; float voltsporUnidade_1 = 0.004887586;// 5%1023 //Vidro int vidro=5; int motor=6; void setup() { //presença pinMode(led_presenca, OUTPUT); //Define led_presenca como saida pinMode(pinopir, INPUT); // Defini pinopir como entrada digitalWrite(led_presenca, LOW); digitalWrite(pinopir,LOW); digitalWrite(acionamento,LOW); //Corrente 5A Serial.begin(9600); pinMode(sensorPin, INPUT); pinMode(led,OUTPUT); pinMode(alimentacao,OUTPUT); digitalWrite(led,HIGH); digitalWrite(alimentacao,HIGH); //Corrente 20A pinMode(sensorPin_1, INPUT); pinMode(led_1,OUTPUT); pinMode(alimentacao_1,OUTPUT); digitalWrite(led_1,HIGH); digitalWrite(alimentacao_1,HIGH); //Vidro pinMode(vidro,OUTPUT); pinMode(motor,OUTPUT); digitalWrite(vidro,HIGH); digitalWrite(motor,LOW); } void loop() { // put your main code here, to run repeatedly: acionamento=digitalRead(pinopir); // Define acionamento como leitura do sensor de presenca if (acionamento==HIGH) // Se sensor nao indica presenca, executa a sequencia abaixo { digitalWrite(vidro,HIGH); digitalWrite(motor,LOW); digitalWrite(led_1,HIGH); digitalWrite(led,HIGH); digitalWrite(led_presenca, HIGH); delay(5000); } else{ acs(); acs_1(); reset(); vidros(); digitalWrite(led_presenca, LOW); } } /* Ligar o Acs712 Sempre no final do circuito (delisgar o terra e colocar o ACS) */ void acs() { for(int i=100; i>0; i--){ sensorValue_aux = (analogRead(sensorPin) -511); // le o sensor na pino analogico A0 e ajusta o valor lido ja que a saída do sensor é (1023)vcc/2 para corrente =0 sensorValue += pow(sensorValue_aux,2); // somam os quadrados das leituras. } sensorValue = (sqrt(sensorValue/ 100)) * voltsporUnidade; // finaliza o calculo da méida quadratica e ajusta o valor lido para volts currentValue = (sensorValue/.5); // calcula a corrente considerando a sensibilidade do sernsor (185 mV por amper) // mostra o resultado no terminal Serial.print(currentValue,3); Serial.print(" A \n" ); sensorValue =0; delay(1000); // Delay necessario para leitura da corrente (não se pode tirar este delay) if (currentValue > .26 ) { digitalWrite(led,LOW); delay(100); } else { digitalWrite(led,LOW); delay(100); } } void acs_1() { for(int i=100; i>0; i--){ sensorValue_1_aux_1 = (analogRead(sensorPin_1) -511); // le o sensor na pino analogico A0 e ajusta o valor lido ja que a saída do sensor é (1023)vcc/2 para corrente =0 sensorValue_1 += pow(sensorValue_1_aux_1,2); // somam os quadrados das leituras. } sensorValue_1 = (sqrt(sensorValue_1/ 100)) * voltsporUnidade_1; // finaliza o calculo da méida quadratica e ajusta o valor lido para volts currentValue_1 = (sensorValue_1/.125); // mostra o resultado no terminal Serial.print(currentValue_1,3); Serial.print(" A \n" ); sensorValue_1 =4; delay(1000); // Delay necessario para leitura da corrente (não se pode tirar este delay) if (currentValue_1 > 1 ) { digitalWrite(led_1,LOW); delay(100); } else { digitalWrite(led_1,LOW); delay(100); } } void vidros() { if(digitalRead(vidro)==HIGH && digitalRead(motor) == LOW) { digitalWrite(vidro,LOW); digitalWrite(motor,HIGH); delay(3000); digitalWrite(motor,LOW); } } void reset() { digitalWrite(acionamento,LOW); digitalWrite(led_presenca,LOW); digitalWrite(led,LOW); digitalWrite(led_1,LOW); }
sábado, 23 de maio de 2015
Assinar:
Postagens (Atom)