Danilo Cicero alves da silva
Published © Apache-2.0

Maquina de lavar

Maquina de lavar que temos uma entrada de água e uma saída de água, temos também três níveis de água que deve ser indicado.

BeginnerFull instructions provided3 hours6
Maquina de lavar

Things used in this project

Hardware components

Resistor 10k ohm
Resistor 10k ohm
×3
Resistor 1k ohm
Resistor 1k ohm
×4
Lidar Bot AGV Mini Carkit
M5Stack Lidar Bot AGV Mini Carkit
×1
SG90 Micro-servo motor
SG90 Micro-servo motor
×1
RGB Backlight LCD - 16x2
Adafruit RGB Backlight LCD - 16x2
×1
9V battery (generic)
9V battery (generic)
×1
Rotary potentiometer (generic)
Rotary potentiometer (generic)
×1
LED (generic)
LED (generic)
×3
Arduino UNO
Arduino UNO
×1

Story

Read more

Schematics

capturar_danilo_K89k8MHUaD.JPG

Code

maquina de lavar

C#
#include <LiquidCrystal.h>
LiquidCrystal lcd( 9, 6, 1, 2, 4, A2 );

#include <Servo.h>
Servo sabao;
void setup()
{

  
   lcd.begin(16,2);
  lcd.print("Bem vindo");
  delay(2000);
  lcd.clear();
  lcd.print("Escolha o Nivel ");
  
  lcd.setCursor(0,1);
  lcd.print("precione o botao");
  delay(2000);
  
  
  
  sabao.attach (8);// Servo sabao
  sabao.write (0);
  pinMode(13, OUTPUT);//Valvula de entrada (agua)
  pinMode(12, OUTPUT);//Valvula de saida (agua)
  pinMode(5,  OUTPUT);//Motor

  pinMode(11, INPUT);// NIVEL ALTO
  pinMode(7, INPUT);// NIVEL MEDIO
  pinMode(10, INPUT);// NIVEL BAIXO
  pinMode(3,  INPUT);// LIGA MAQUINA
  analogRead(A0);//ESCOLHE O NIVEL DA AGUA
  
  
     
   }
  
 

void loop()
{
  
  
  int escolha_nivel_agua = analogRead(A0);
  
  Serial.print("valor da entrada analogica");
  Serial.println(escolha_nivel_agua);
  
  int entrada_agua = digitalRead(13);
  int saida_agua = digitalRead(12);
  int motor = digitalRead(5);
  int nivel_alto = digitalRead(11);
  int nivel_medio = digitalRead(7);
  int nivel_baixo = digitalRead(10);
  int liga_maquina = digitalRead(3);
  
  //Escollha de Nivel de água
  
  if (escolha_nivel_agua <=50){ 
        analogRead(A0);
      lcd.begin(16,2);
     lcd.print("Escolha o nivel"); 
    lcd.setCursor(0,1);
  lcd.print("precione o botao");
  delay(2000);
  }
  
    //Escollha de Nivel baixo

  if ((escolha_nivel_agua >=50)&&(escolha_nivel_agua <= 340)){
       analogRead(A0);
      lcd.begin(16,2);
     lcd.print("Nivel baixo");
    delay(1000);  
   
  
  }
    //Escollha de Nivel de medio
 
  if((escolha_nivel_agua >= 350)&&(escolha_nivel_agua <= 740)){ 
      analogRead(A0);
     lcd.begin(16,2);
    lcd.clear();
  lcd.print("Nivel medio");
  delay(1000);
  }
     //Escollha de Nivel de alto
   
  if((escolha_nivel_agua >= 750)&&(escolha_nivel_agua <= 1023)){ 
      analogRead(A0);
     lcd.begin(16,2);
    lcd.clear();
  lcd.print("Nivel alto");
  delay(1000);
  }
  
     //1º Progamação de Nivel baixo
  
  if (((liga_maquina == HIGH)&&(escolha_nivel_agua >50)
    &&(escolha_nivel_agua <340))){
     
    while(nivel_baixo == LOW){
    lcd.clear();
    digitalWrite(13, HIGH);// Entrada de agua
      lcd.print("Enxendo de Agua");
      delay(2000);
    nivel_baixo = digitalRead (10); // nivel baixo
  }
       lcd.clear();
       digitalWrite(13, LOW);// Para de entrar agua
       sabao.write (90);// Joga sabão
       delay(1000);
    lcd.print("SABAO");
      delay(2000);
       sabao.write (0); // volta a posição inicial
       delay(1000);
    lcd.clear();
      
    lcd.print("LAVANDO");
      delay(100);
      digitalWrite (5,HIGH);//Liga o motor
      delay(5000);
      digitalWrite (5,LOW);// Desliga o motor
      delay(5000);
    
    digitalWrite (5,HIGH);//Liga o motor
      delay(5000);
      digitalWrite (5,LOW);// Desliga o motor
      
      lcd.clear();
    do {
      lcd.print("SAIDA DE AGUA");
      delay(1000);
      digitalWrite (12,HIGH);// saida de agua
      nivel_baixo = digitalRead (10); //nivel baixo
      lcd.clear();
      }
    while (nivel_baixo == HIGH); 
        digitalWrite (12,LOW);
      delay(500);
    lcd.print("CENTRIFUGANDO");
      delay(1000);
      digitalWrite (5,HIGH);//Liga o motor CENTRIFUGA
      delay(10000);
      digitalWrite (5,LOW);// Desliga o motor
    lcd.clear();
    lcd.print("PRONTO");
    delay (2000);
     lcd.clear();
     lcd.print("PRONTO");
        delay (2000);  
                    
  }   
   //2º Progamação de Nivel medio


  
  if (((liga_maquina == HIGH)&&(escolha_nivel_agua >350)
    &&(escolha_nivel_agua <740))){
     
    while((nivel_medio == LOW)){
    lcd.clear();
    digitalWrite(13, HIGH);// Entrada de agua
      lcd.print("Enxendo de Agua");
      delay(2000);
      
       nivel_medio = digitalRead (7); // nivel medio
  }
       lcd.clear();
       digitalWrite(13, LOW);// Para de entrar agua
       sabao.write (90);// Joga sabão
       delay(1000);
    lcd.print("SABAO");
      delay(2000);
       sabao.write (0); // volta a posição inicial
       delay(1000);
    lcd.clear();
      
    lcd.print("LAVANDO");
      delay(100);
      digitalWrite (5,HIGH);//Liga o motor
      delay(5000);
      digitalWrite (5,LOW);// Desliga o motor
      delay(5000);
    
    digitalWrite (5,HIGH);//Liga o motor
      delay(5000);
      digitalWrite (5,LOW);// Desliga o motor
      
      lcd.clear();
    do {
      lcd.print("SAIDA DE AGUA");
      delay(1000);
      digitalWrite (12,HIGH);// saida de agua
      nivel_baixo = digitalRead (10); //nivel baixo
      lcd.clear();
      }
    while (nivel_baixo == HIGH && nivel_medio == HIGH); 
        digitalWrite (12,LOW);
      delay(500);
    lcd.print("CENTRIFUGANDO");
      delay(1000);
      digitalWrite (5,HIGH);//Liga o motor CENTRIFUGA
      delay(10000);
      digitalWrite (5,LOW);// Desliga o motor
    lcd.clear();
    lcd.print("PRONTO");
    delay (2000);
     lcd.clear();
     lcd.print("PRONTO");
        delay (2000);  
  }
  
     //3º Progamação de Nivel cheio

  
  if (((liga_maquina == HIGH)&&(escolha_nivel_agua >=750)
    &&(escolha_nivel_agua <=1023))){
     
    while(nivel_alto == LOW){
    lcd.clear();
    digitalWrite(13, HIGH);// Entrada de agua
      lcd.print("Enxendo de Agua");
      delay(2000);
       nivel_alto = digitalRead (11); // nivel alto
      
       }
       lcd.clear();
       digitalWrite(13, LOW);// Para de entrar agua
       sabao.write (90);// Joga sabão
       delay(1000);
    lcd.print("SABAO");
      delay(2000);
       sabao.write (0); // volta a posição inicial
       delay(1000);
    lcd.clear();
      
    lcd.print("LAVANDO");
      delay(100);
      digitalWrite (5,HIGH);//Liga o motor
      delay(5000);
      digitalWrite (5,LOW);// Desliga o motor
      delay(5000);
    
    digitalWrite (5,HIGH);//Liga o motor
      delay(5000);
      digitalWrite (5,LOW);// Desliga o motor
      
      lcd.clear();
    do {
      lcd.print("SAIDA DE AGUA");
      delay(1000);
      digitalWrite (12,HIGH);// saida de agua
      nivel_baixo = digitalRead (10); //nivel baixo
      lcd.clear();
      }
    while (nivel_baixo == HIGH && nivel_alto == HIGH); 
        digitalWrite (12,LOW);
      delay(500);
    lcd.print("CENTRIFUGANDO");
      delay(1000);
      digitalWrite (5,HIGH);//Liga o motor CENTRIFUGA
      delay(10000);
      digitalWrite (5,LOW);// Desliga o motor
    lcd.clear();
    lcd.print("PRONTO");
    delay (2000);
     lcd.clear();
     lcd.print("PRONTO");
        delay (2000);  
  
  } } 

Credits

Danilo Cicero alves da silva
1 project • 0 followers

Comments