PCB op een doos (8 / 8 stap)

Stap 8: Eindelijk... de code

Insoladora doble cara V.1.3
escrito y dirigido por Paxpan

#include #include
#include

iniciamos el LCD

LiquidCrystal_I2C lcd(0x27,16,2);

iniciamos las constantes

Const int botonInicio = 7; definimos la entrada digitale 7 para el pulsador de inicio
Const int botonCaras = 8; definimos la entrada digitale 8 para el pulsador de numero de caras
Const int botonMinUp = 12; definimos la entrada digitale 12 para el pulsador de mas minutos
Const int botonMinDown = 11; definimos la entrada digitale 11 para el pulsador de menos minutos
Const int botonSegUp = 10; definimos la entrada digitale 10 para el pulsador de mas segundos
Const int botonSegDown = 9; definimos la entrada digitale 9 para el pulsador de menos segundos
Const int cara1led = 4; definimos la placa de luz superior
Const int cara2led = 2; definimos la placa de luz inferior
Const int ledrojo = 6; definimos el leidde de controle "geen abrir"
Const int ledverde = 5; definimos el leidde de controle "podemos abrir"
Const int LDR = A6; definimos la fotorresistencia de la entrada

iniciamos las variabelen

int estadobotonCaras = 0; variabele para el estatus del pulsador caras
int estadobotonMinUp = 0; variabele para el estatus del pulsador mas minutos
int estadobotonMinDown = 0; variabele para el estatus del pulsador menos minutos
int estadobotonSegUp = 0; variabele para el estatus del pulsador mas segundos
int estadobotonSegDown = 0; variabele para el estatus del pulsador menos segundos
int estadobotonInicio = 0; variabele para el estatus del pulsador inicio
int cuentaatras = 30; variabele para la cuenta atras de inicio de insolación
int inicio = 0; variabele para el inicio
int caras = 1; variabele para el numero de caras
int minuto = 0; variabele para el contador de minutos
int segundo = 0; variabele para el contador de segundos
lange tiempototal = 0; variabele para la suma del tiempo
int valorLDR = 0; variabele para el estatus de la fotorresistencia
int LDRComp = 512; variabele para el convertidor de la fotorresistencia

VOID Setup
{

establecemos las salidas digitales

pinMode (cara1led, OUTPUT); Placa leidde arriba
pinMode (cara2led, OUTPUT); Placa LED abajo
pinMode (ledrojo, OUTPUT); chivato leidde rojo
pinMode (ledverde, OUTPUT); chivato leidde verde

establecemos los botones como Relacionadas

pinMode (botonCaras, INPUT);
pinMode (botonMinUp, INPUT);
pinMode (botonMinDown, INPUT);
pinMode (botonSegUp, INPUT);
pinMode (botonSegDown, INPUT);
pinMode (botonInicio, INPUT);

establecemos la fotoresistencia como chivato de apertura

pinMode (LDR, INPUT);

iniciamos el LCD

LCD.init();
LCD.backlight();

escribimos el mensaje de bienvenida

LCD.Print ("Bienvenido");
delay(1000);
lcd.setCursor (1, 0);
LCD.Print ("Insoladora");
lcd.setCursor (0, 1);
LCD.Print ("LunchBox");
delay(2000);
LCD.Clear();

}

void loop
{

Aquí ponemos el tiempo y el numero de caras que queremos insolar

estadobotonInicio = digitalRead(botonInicio);
Als (estadobotonInicio == HIGH)
{inicio = 1;
}
lcd.setCursor (0, 0);
LCD.Print ("Numero caras =");
estadobotonCaras = digitalRead(botonCaras);
Als (estadobotonCaras == HIGH)
Als (caras == 1)
{caras = 2;
digitalWrite (cara1led, hoge);
digitalWrite (cara2led, hoge);
delay(500);
digitalWrite (cara1led, laag);
digitalWrite (cara2led, laag);
}
anders
{caras = 1;
digitalWrite (cara1led, hoge);
delay(500);
digitalWrite (cara1led, laag);
}
LCD.Print(Caras);
lcd.setCursor (0, 1);
LCD.Print ("Tiempo =");
estadobotonMinUp = digitalRead(botonMinUp);
Als (estadobotonMinUp == HIGH)
{
minuto ++;
}
estadobotonMinDown = digitalRead(botonMinDown);
Als (estadobotonMinDown == HIGH)
{
minuto--;
Als (minuto < 0) / / evitamos que de números negativos
{
minuto = 0;
}
}
estadobotonSegUp = digitalRead(botonSegUp);
Als (estadobotonSegUp == HIGH)
{
Segundo = segundo + 10;
Als (segundo == 60)
Segundo = 0;
}
estadobotonSegDown = digitalRead(botonSegDown);
Als (estadobotonSegDown == HIGH)
{
Segundo = segundo - 10;
Als (segundo < 0)
Segundo = 0;
}

LCD.Print(Minuto);
LCD.Print(":");
LCD.Print(Segundo);
delay(300);

Ya hemos acabado de poner el tiempo y el numero de caras y pulsamos inicio
Een continuación tenemos 30 segundos para posicionar la placa y cerrar la tapa

Als (inicio == 1)
{
Inicio = 0;
LCD.Clear();
LCD.Print ("Tek la placa");
voor (cuentaatras = 30; cuentaatras! = 0; cuentaatras--)
{
lcd.setCursor (0, 1);
LCD.Print ("Inicio nl");
LCD.Print(cuentaatras);
LCD.Print ("seg");
delay(1000);
}

LCD.Clear();
minuto = minuto * 10000;
Segundo = segundo * 1000;
tiempototal = minuto + segundo;

Als (caras == 1)
{
lcd.noBacklight();
digitalWrite (cara1led, hoge);
digitalWrite (ledverde, laag);
digitalWrite (ledrojo, hoge);
delay(tiempototal);
digitalWrite (cara1led, laag);
digitalWrite (ledrojo, laag);
digitalWrite (ledverde, hoge);
terwijl (valorLDR < LDRComp)
{
valorLDR = analogRead(LDR);
}

}
Als (caras == 2)
{
lcd.noBacklight();
digitalWrite (cara1led, hoge);
digitalWrite (cara2led, hoge);
digitalWrite (ledverde, laag);
digitalWrite (ledrojo, hoge);

digitalWrite (cara1led, laag);
digitalWrite (cara2led, laag);
digitalWrite (ledrojo, laag);
digitalWrite (ledverde, hoge);
terwijl (valorLDR < LDRComp)
{
valorLDR = analogRead(LDR);
}
}

LCD.backlight();
LCD.Clear();
LCD.Print ("Retira la placa");
lcd.setCursor (0, 1);
LCD.Print ("y-revelala");
delay(10000);

REiniciamos las variabelen

Caras = 1;
tiempototal = 0;
minuto = minuto / 10000;
Segundo = segundo / 1000;
valorLDR = 0;
digitalWrite (ledrojo, laag);
digitalWrite (ledverde, laag);

}

}

Gerelateerde Artikelen

Hoe maak je een doos

Hoe maak je een doos

Woorden en foto's: Leo SadlekDe uitdaging voor het ontwerpen van een stuk uit een enkele boord van hout is, op het eerste gezicht heel anders dan de gebruikelijke ontwerpopgave. Het is zeldzaam voor een client te geven mij een stuk hout met een verzo
Chroma - licht in een doos

Chroma - licht in een doos

Chroma.licht in een doos.Chroma is een eenvoudige doos. Het brandt als je wilt. Welke kleur u wilt, wanneer jij wilt.Chroma is een app gecontroleerd dubbele rand verlicht doos; mogelijk gemaakt door de rand verlichting capaciteiten van acryl.Chroma o
Houten steekpuzzel: Zes blokken in een doos

Houten steekpuzzel: Zes blokken in een doos

dit is een ongelooflijk gemakkelijk te maken houten puzzel die kan worden voltooid met minimale houtbewerking gereedschappen. Geen 3D-printer, laser cutter of CNC machine nodig!De puzzel bestaat uit zes even middelgrote half-kubus blokken die in een
Oceaan genot in een doos

Oceaan genot in een doos

De reden voor waarom ik maakte van dit vak en kreeg het idee, is dat mijn moeder houdt voor een bezoek aan de Oceaan in Noord-Carolina. We leven in Virginia en we konden niet maken naar het strand dit jaar, dus ik wilde haar iets maken dat zou wijzen
DIY met bloemen: Bloemen spons in een doos

DIY met bloemen: Bloemen spons in een doos

In FloraQueen de recentste reeks, doen het zelf met bloemen, we gonna u tonen hoe te maken van alle soorten items en decoratie voor het huis en de tuin met bloemen en andere goedkope materialen. Eerst omhoog, een spons-in-a-box decoratie kun je binne
Fablab maken-een doos Dota 2

Fablab maken-een doos Dota 2

Welkom op mijn instructable.Hier ga ik je laten zien hoe u een doos met het logo van de dota 2 bovenop.Hier is een lijst van Moskou:Moet beschikken over:Het moet enkel een systeembalk en een deksel voor het vak, zodat u het kunt sluitenMoet hebben:IT
De eenvoudigste manier om het bouwen van een doos!

De eenvoudigste manier om het bouwen van een doos!

Als u wilt maken een vak dat eruit als een professionele vakman hand gemaakt ziet, maar niet wilt besteden uren meten en hand passen, volg deze instructies en u zult niet alleen indruk op je vrienden, je zult zelfs imponeren jezelf!Ons aller hebben v
Pikachu ingeslikt een doos

Pikachu ingeslikt een doos

Dit is een zeer eenvoudige en snelle project te doen met uw kinderen.Hier is wat je nodig hebt voor dit project:Een kleine doos, ik gebruikte een 3X3.5 inch doosBouw papier. Aangezien we Pikachu kómen, we gele, rode, blauwe en zwarte bouw papier gebr
Automatisch openen / sluiten van een doos met een lineaire servomotor en Arduino

Automatisch openen / sluiten van een doos met een lineaire servomotor en Arduino

Er is een eenvoudige vreugde in het indrukken van een knop die een doos voor u opent. Zeker er zijn snellere en efficiëntere manieren om te openen van een doos, maar niets vergeleken met de magie van een geregelde deksel. Voor deze tutorial zullen we
Sit-ups Kit in een doos

Sit-ups Kit in een doos

Als je ooit hebt gevoeld slecht over het weg te gooien een paar oude schoenen... lijstwerk niet meer! Ik wilde om te beginnen opnieuw sit-ups doen, maar ik altijd lijken te starten, dan stop cyclus herhalen. Ik had een paar oude sportschoenen en dach
Film in een doos

Film in een doos

heb je ooit wilde een film maken, maar had niet de uitrusting of de bemanning, Nou nu je kunt. Met behulp van zeer weinig onderdelen en niet een heleboel tijd kun je deze film in een vak dat nog past in uw zak. Met dit kan u film en nemen bij een wil
Rotomatic, de partij in een doos

Rotomatic, de partij in een doos

als je wilt om een doos van lasers, eerst moet u een vak of schat kist. Dit één maakte van teruggewonnen hout mijn getalenteerde timmerman vriend Hudson. Lijn de doos met sommige rode fluwelen voor bonus pizzazz.Stap 1: Mount lasers op een statief Mo
Hoe maak je een doos van de gift van papier zonder lijm of tape

Hoe maak je een doos van de gift van papier zonder lijm of tape

dit Instructable zal u tonen hoe te maken van een doos van de gift van twee stukken van de bouw papier.Benodigde materialen:2 stuks 8.5 "x 11" papierVereiste hulpmiddelen:LiniaalPen/potloodSchaarStap 1: Snij de pleinen Vouw elk stuk papier langs
Hoe maak je een doos van de gift van Kerstmis uit een doos

Hoe maak je een doos van de gift van Kerstmis uit een doos

dit instructable is zal je laten zien hoe maak je een geschenk vak (of Kerstmis), echt cool te maken, ook goed om te geven aan vriendenStap 1: Benodigdheden Zal u een vak, ik ben met behulp van een doos van herbalife. En een witte correctie flud, of