PCB sur une boîte de (8 / 8 étapes)

Étape 8: Enfin... le code

Insoladora doble cara V.1.3
escrito y dirigido por Paxpan

#include #include
#include

el Iniciamos LCD

LiquidCrystal_I2C lcd(0x27,16,2) ;

Iniciamos las constantes

const int botonInicio = 7 ; Definimos la entrada numérique 7 para el funzionamento de inicio
const int botonCaras = 8 ; Definimos la entrada numérique 8 para el funzionamento de numero de caras
const int botonMinUp = 12 ; Definimos la entrada numérique 12 para el funzionamento de mas minutos
const int botonMinDown = 11 ; Definimos la entrada numérique 11 para el funzionamento de menos minutos
const int botonSegUp = 10 ; Definimos la entrada numérique 10 para el funzionamento de mas segundos
const int botonSegDown = 9 ; Definimos la entrada numérique 9 para el funzionamento de menos segundos
const int cara1led = 4 ; Definimos la placa supérieure de luz
const int cara2led = 2 ; Definimos la placa inférieure de luz
const int ledrojo = 6 ; Definimos el ne conduit de contrôle « aucun abrir »
const int ledverde = 5 ; Definimos el conduit de contrôle « podemos abrir »
const int LDR = A6 ; Definimos la entrada de la fotorresistencia

variables de las Iniciamos

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

void setup()
{

establecemos las salidas digitales

pinMode (cara1led, sortie) ; Placa a conduit arriba
pinMode (cara2led, sortie) ; abajo Placa LED
pinMode (ledrojo, sortie) ; chivato conduit rojo
pinMode (ledverde, sortie) ; chivato conduit verde

establecemos los botones como entradas

pinMode (botonCaras, entrée) ;
pinMode (botonMinUp, entrée) ;
pinMode (botonMinDown, entrée) ;
pinMode (botonSegUp, entrée) ;
pinMode (botonSegDown, entrée) ;
pinMode (botonInicio, entrée) ;

establecemos la fotoresistencia como chivato de apertura

pinMode (entrée, LDR) ;

el Iniciamos 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) ;
Si (estadobotonInicio == HIGH)
{inicio = 1 ;
}
lcd.setCursor (0, 0) ;
LCD.Print ("Numero caras =") ;
estadobotonCaras = digitalRead(botonCaras) ;
Si (estadobotonCaras == HIGH)
Si (caras == 1)
{caras = 2 ;
digitalWrite (cara1led, HIGH) ;
digitalWrite (cara2led, HIGH) ;
Delay(500) ;
digitalWrite (cara1led, basse) ;
digitalWrite (cara2led, basse) ;
}
d’autre
{caras = 1 ;
digitalWrite (cara1led, HIGH) ;
Delay(500) ;
digitalWrite (cara1led, basse) ;
}
LCD.Print(CARAS) ;
lcd.setCursor (0, 1) ;
LCD.Print ("Tiempo =") ;
estadobotonMinUp = digitalRead(botonMinUp) ;
Si (estadobotonMinUp == HIGH)
{
MINUTO ++ ;
}
estadobotonMinDown = digitalRead(botonMinDown) ;
Si (estadobotonMinDown == HIGH)
{
MINUTO--;
Si (minuto < 0) / / evitamos que de números negativos
{
MINUTO = 0 ;
}
}
estadobotonSegUp = digitalRead(botonSegUp) ;
Si (estadobotonSegUp == HIGH)
{
Segundo = segundo + 10 ;
Si (segundo == 60)
Segundo = 0 ;
}
estadobotonSegDown = digitalRead(botonSegDown) ;
Si (estadobotonSegDown == HIGH)
{
Segundo = segundo - 10 ;
Si (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
A continuación tenemos 30 segundos para posicionar la placa y cerrar la tapa

Si (inicio == 1)
{
Inicio = 0 ;
LCD.Clear() ;
LCD.Print (« élaboration de la placa ») ;
pour (cuentaatras = 30 ; cuentaatras! = 0; cuentaatras--)
{
lcd.setCursor (0, 1) ;
LCD.Print ("Inicio fr") ;
LCD.Print(cuentaatras) ;
LCD.Print ("seg") ;
Delay(1000) ;
}

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

Si (caras == 1)
{
lcd.noBacklight() ;
digitalWrite (cara1led, HIGH) ;
digitalWrite (ledverde, basse) ;
digitalWrite (ledrojo, HIGH) ;
Delay(tiempototal) ;
digitalWrite (cara1led, basse) ;
digitalWrite (ledrojo, basse) ;
digitalWrite (ledverde, HIGH) ;
tandis que (valorLDR < LDRComp)
{
valorLDR = analogRead(LDR) ;
}

}
Si (caras == 2)
{
lcd.noBacklight() ;
digitalWrite (cara1led, HIGH) ;
digitalWrite (cara2led, HIGH) ;
digitalWrite (ledverde, basse) ;
digitalWrite (ledrojo, HIGH) ;

digitalWrite (cara1led, basse) ;
digitalWrite (cara2led, basse) ;
digitalWrite (ledrojo, basse) ;
digitalWrite (ledverde, HIGH) ;
tandis que (valorLDR < LDRComp)
{
valorLDR = analogRead(LDR) ;
}
}

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

Variables de las REiniciamos

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

}

}

Articles Liés

Ampli Op LM741 sur une maquette

Ampli Op LM741 sur une maquette

Il s'agit d'un amplificateur opérationnel LM741 construit sur une maquette. L'amplificateur opérationnel LM741 est une puce de 8 broches, mais j'ai pensé qu'il serait amusant de construire mon propre sur une maquette. Il y a quatre sections à la puce
Comment convertir le 220V en 110V sur une chinoise CO2 Laser Power Supply

Comment convertir le 220V en 110V sur une chinoise CO2 Laser Power Supply

Cette instructable propose une approche étape par étape pour changer une alimentation de laser CO2 chinois d'une tension d'entrée AC 220V à 110V AC. J'ai effectuer cette opération régulièrement comme mon changement de clients, leurs besoins, ou bien
Faire votre propre PCB sur un moulin de commande numérique par ordinateur Bureau bon marché

Faire votre propre PCB sur un moulin de commande numérique par ordinateur Bureau bon marché

traditionnellement, il y a deux façons d'amateurs faisant PCB personnalisé :1. à l'aide de transfert de l'encre et gel de mordançage chimique--peut être difficile d'obtenir les bons matériaux et les produits chimiques sont méchant et salissant2. paye
Faire un bon Exposeur de PCB sur un ongle UV pas cher, lampe de polymérisation

Faire un bon Exposeur de PCB sur un ongle UV pas cher, lampe de polymérisation

Que faire de la production de PCB et de fausses ongles ont en commun ? Ils utilisent tous deux sources de lumière UV de forte intensité et, comme le hasard aurait-il, ces sources lumineuses ont exactement la même longueur d'onde. Que ceux de la produ
Mesurer les distances sur une photo à l’aide de Google Sketchup

Mesurer les distances sur une photo à l’aide de Google Sketchup

il y a quelque temps un ami m'a envoyé quelques photos d'une carte d'extension imprimante pour un brésilien ZX Spectrum. Afin de produire une présentation de PCB pour un clone de ce Conseil, j'avais besoin de quelques outils pour effectuer des mesure
BaW-Bot-partie 1: Construire un Arduino sur une planche de

BaW-Bot-partie 1: Construire un Arduino sur une planche de

Il s'agit de la première partie de notre génération de BaW-Bot (Bot de cloches et de sifflets) – 5 séparés instructables qui ressemblent dans différentes technologies axées sur l'Arduino, combinant pour créer un Bot avec toutes les cloches-et-sifflet
Comment faire grand PCB avec une Machine de Sublimation

Comment faire grand PCB avec une Machine de Sublimation

dans ce Instructable je vais vous montrer comment utiliser une Machine de Sublimation pour imprimer et etch grand PCB ou carte multiples.Étape 1: Ce qui est une Machine de Sublimation! ? Tout d'abord, 99 % des gens demanderons « ce qui est une Machin
Recycle Bin bateau sur une chaîne

Recycle Bin bateau sur une chaîne

Enfants aiment lancer des choses dans l'eau et regardez-les s'envoler.J'ai dit à mon fils qu'il ne pouvait pas faire avec corbeille, comme polystyrène papier tasses et sacs en plastique même si ils flotter très bien.Prochaine chose que je sais qu'il
Comment faire une bague sur une pièce de monnaie - Tutorial

Comment faire une bague sur une pièce de monnaie - Tutorial

https://www.youtube.com/watch?v=rZ23K9MUAYQ&feature=youtu.beÉtape 1: Faire un anneau sur une pièce de monnaie vous devez !Étape 2: Assis la pièce sur un bord. -Frapper sur le bord avec la cuillère enveloppant la pièce autour sans interruption.-La cui
Actualiser le sceau sur une vanne Schrader.

Actualiser le sceau sur une vanne Schrader.

Pendant 17 ans que ma voiture air conditionné a travaillé très bien, mais sur chaque valve quand j'ai enlevé le bouchon à vis, j'entendrais un bref sifflement (plus comme une « pffft'). Il n'y a évidemment quelques fuites fugitives passait mais je ne
Comment installer un chargeur USB sur une moto

Comment installer un chargeur USB sur une moto

Il y a beaucoup d'éléments qui pourraient bénéficier d' alimentation des accessoires sur une moto. Des unités spécialisées de GPS, systèmes audio et téléphones sont peu. J'ai installé une monture de téléphone de RAM sur mon vélo tout à l'heure donc j
PyPrintPi sur une facture pro forma framboise

PyPrintPi sur une facture pro forma framboise

Ce projet vise d'abord à vous apprendre à calculer π à grande précision dans un court laps de temps à l'aide de différents algorithmes. Et puis en utilisant Python, un Pi de framboise et une une imprimante thermique, je vais vous expliquer comment cr
Exécution d’un routeur DSL sur une batterie de 12v (Anti-Loadshedding LIS)

Exécution d’un routeur DSL sur une batterie de 12v (Anti-Loadshedding LIS)

Bienvenue sur mon premier instructable.En raison de la "loadshedding" en Afrique du Sud, qui n'est rien d'autre qu'un terme de fantaisie prévu contrôlée laminage des pannes d'électricité du fournisseur électrique nationale Eskom (page d'état de
Comment demander une fille sur une date

Comment demander une fille sur une date

avez-vous déjà repéré une fille partir à travers la pièce et je me demandais ce que vous aviez à faire pour lui faire sortir avec vous ? Peut-être que vous vous asseyez par une grande fille dans une de vos classes et juste ne savez pas comment faire