AULA 11 - Microcontroladores - Eng: mudanças entre as edições
Ir para navegação
Ir para pesquisar
imported>Fargoud |
imported>Fargoud Sem resumo de edição |
||
| Linha 2: | Linha 2: | ||
[[MIC2| << Página do curso ]] | [[MIC2| << Página do curso ]] | ||
---------------- | ---------------- | ||
Edição das 16h58min de 26 de setembro de 2018
Trabalho Davi
Protótipo
Hardware/Eletrônica
Partes Mecânicas
[ Projeto 2 Alimentador de peixes Davi]
Firmware
Trabalho Júlia
Protótipo
Hardware/Eletrônica
Partes Mecânicas
Vídeos do dispositivo:
Firmware
#include <LiquidCrystal.h> //Inclui biblioteca do LCD
#include <Stepper.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int stepsPerRevolution = 500;
//Inicializa a biblioteca utilizando as portas de 8,9,10 e 13 para
//ligacao ao motor
Stepper myStepper(stepsPerRevolution, 8,10,9,13);
int segundo,minuto,hora,dia,mes,ano;
unsigned long UtlTime;
void setup(){
//Determina a velocidade inicial do motor
myStepper.setSpeed(60);
//Para o LCD
UtlTime=0;
minuto=0;
hora=0;
dia=0;
mes=0;
ano=0;
Serial.begin(9600);
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print(" Data e hora ");
lcd.setCursor(0,1);
lcd.print(" com Arduino");
delay (2000);
//Configura o minuto
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Minuto: ");
Serial.print("\nEntre Minuto:");
while(minuto==0){
if (Serial.available() > 0){
minuto= Serial.parseInt();
Serial.print(minuto);
}
}
lcd.print(minuto);
delay(1000);
//Configura a hora
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Hora: ");
Serial.print("\nEntre Hora:");
while(hora==0){
if (Serial.available() > 0){
hora= Serial.parseInt();
Serial.print(hora);
}
}
lcd.print(hora);
delay(1000);
//Configura o Dia
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Dia: ");
Serial.print("\nEntre Dia:");
while(dia==0)
{
if (Serial.available() > 0){
dia= Serial.parseInt();
Serial.print(dia);
}
}
lcd.print(dia);
delay(1000);
//Configura o mês
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Mes: ");
Serial.print("\nEntre Mes:");
while(mes==0)
{
if (Serial.available() > 0){
mes= Serial.parseInt();
Serial.print(mes);
}
}
lcd.print(mes);
delay(1000);
//Configura o Ano
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Ano: ");
Serial.print("\nEntre ano:");
while(ano==0){
if (Serial.available() > 0){
ano= Serial.parseInt();
Serial.print(ano);
}
}
lcd.print(ano);
delay(1000);
lcd.clear();
}
void EscreveDataHora(){
if(millis()-UtlTime<0){
UtlTime=millis();
}
else{
segundo=int((millis()-UtlTime)/1000);
}
if(segundo>59){
segundo=00;
lcd.clear();
minuto++;
UtlTime=millis();
if(minuto>59){
hora++;
lcd.clear();
minuto=00;
if(hora>23){
dia++;
hora=00;
if(mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12){
if(dia>31){
dia=1;
mes++;
if(mes>12){
ano++;
mes=1;
}
}
}
else if(mes==2){
if(ano%400==0){
if(dia>29){
dia=1;
mes++;
}
}
else if((ano%4==0)&&(ano%100!=0)){
if(dia>29){
dia=1;
mes++;
}
}
else{
if(dia>28){
dia=1;
mes++;
}
}
}
else{
if(dia>30){
dia=1;
mes++;
}
}
}
}
}
lcd.setCursor(0,0);
lcd.print("Data ");
lcd.print(dia);
lcd.print("/");
lcd.print(mes);
lcd.print("/");
lcd.print(ano);
lcd.setCursor(0,1);
lcd.print("Hora ");
lcd.print(hora);
lcd.print(":");
lcd.print(minuto);
lcd.print(":");
lcd.print(segundo);
}
void SelecionaHoraAlimentaPET(){
//Seleciona a hora da refeição
int h=15;
//Seleciona os minutos da refeição
int m=15;
//Mostra no DISPLAY
if(hora==h&&minuto==m&&segundo>=30){
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" Hora da racao ");
lcd.setCursor(0,1);
lcd.print(" Bom apetite! ");
//Liga o motor
LigaMotor();
}
else{
lcd.clear();
EscreveDataHora();
}
}
void LigaMotor(){
//O motor faz 2 giros completos
for (int i = 0; i<=2; i++)
{
myStepper.step(2048);
delay(2000);
}
delay(2000);
}
void loop(){
EscreveDataHora();
SelecionaHoraAlimentaPET();
}
Trabalho Nelson
Protótipo
Hardware/Eletrônica
Partes Mecânicas
[ Projeto 2 Alimentador de gatos Nelson]
Firmware
Trabalho Thiago
Protótipo
Hardware/Eletrônica
Vídeo Projeto 2 Alimentador de peixes Thiago
Partes Mecânicas
Firmware
#include <LiquidCrystal.h> //Inclui biblioteca do LCD
#include <Stepper.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int stepsPerRevolution = 500;
//Inicializa a biblioteca utilizando as portas de 8,9,10 e 13 para
//ligacao ao motor
Stepper myStepper(stepsPerRevolution, 8,10,9,13);
int segundo,minuto,hora,dia,mes,ano;
unsigned long UtlTime;
void setup(){
//Determina a velocidade inicial do motor
myStepper.setSpeed(60);
//Para o LCD
UtlTime=0;
minuto=0;
hora=0;
dia=0;
mes=0;
ano=0;
Serial.begin(9600);
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print(" Data e hora ");
lcd.setCursor(0,1);
lcd.print(" com Arduino");
delay (2000);
//Configura o minuto
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Minuto: ");
Serial.print("\nEntre Minuto:");
while(minuto==0){
if (Serial.available() > 0){
minuto= Serial.parseInt();
Serial.print(minuto);
}
}
lcd.print(minuto);
delay(1000);
//Configura a hora
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Hora: ");
Serial.print("\nEntre Hora:");
while(hora==0){
if (Serial.available() > 0){
hora= Serial.parseInt();
Serial.print(hora);
}
}
lcd.print(hora);
delay(1000);
//Configura o Dia
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Dia: ");
Serial.print("\nEntre Dia:");
while(dia==0)
{
if (Serial.available() > 0){
dia= Serial.parseInt();
Serial.print(dia);
}
}
lcd.print(dia);
delay(1000);
//Configura o mês
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Mes: ");
Serial.print("\nEntre Mes:");
while(mes==0)
{
if (Serial.available() > 0){
mes= Serial.parseInt();
Serial.print(mes);
}
}
lcd.print(mes);
delay(1000);
//Configura o Ano
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Ano: ");
Serial.print("\nEntre ano:");
while(ano==0){
if (Serial.available() > 0){
ano= Serial.parseInt();
Serial.print(ano);
}
}
lcd.print(ano);
delay(1000);
lcd.clear();
}
void EscreveDataHora(){
if(millis()-UtlTime<0){
UtlTime=millis();
}
else{
segundo=int((millis()-UtlTime)/1000);
}
if(segundo>59){
segundo=00;
lcd.clear();
minuto++;
UtlTime=millis();
if(minuto>59){
hora++;
lcd.clear();
minuto=00;
if(hora>23){
dia++;
hora=00;
if(mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12){
if(dia>31){
dia=1;
mes++;
if(mes>12){
ano++;
mes=1;
}
}
}
else if(mes==2){
if(ano%400==0){
if(dia>29){
dia=1;
mes++;
}
}
else if((ano%4==0)&&(ano%100!=0)){
if(dia>29){
dia=1;
mes++;
}
}
else{
if(dia>28){
dia=1;
mes++;
}
}
}
else{
if(dia>30){
dia=1;
mes++;
}
}
}
}
}
lcd.setCursor(0,0);
lcd.print("Data ");
lcd.print(dia);
lcd.print("/");
lcd.print(mes);
lcd.print("/");
lcd.print(ano);
lcd.setCursor(0,1);
lcd.print("Hora ");
lcd.print(hora);
lcd.print(":");
lcd.print(minuto);
lcd.print(":");
lcd.print(segundo);
}
void SelecionaHoraAlimentaPET(){
//Seleciona a hora da refeição
int h=15;
//Seleciona os minutos da refeição
int m=15;
//Mostra no DISPLAY
if(hora==h&&minuto==m&&segundo>=30){
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" Hora da racao ");
lcd.setCursor(0,1);
lcd.print(" Bom apetite! ");
//Liga o motor
LigaMotor();
}
else{
lcd.clear();
EscreveDataHora();
}
}
void LigaMotor(){
//O motor faz 2 giros completos
for (int i = 0; i<=2; i++)
{
myStepper.step(2048);
delay(2000);
}
delay(2000);
}
void loop(){
EscreveDataHora();
SelecionaHoraAlimentaPET();
}
Trabalho Vitor
Protótipo
Hardware/Eletrônica
Partes Mecânicas
Firmware
| < Projeto 2 - Alimentador automático de pets | AULA 11 - Projeto 2 - Protótipos dos Alunos - Apresentação | Projeto 3 - Sistema de segurança residencial > |
|---|


