Pessoal estou precisando de ajuda, pois estou em um projeto de automação mais estou enrolado em algumas coisas. Estou querendo controlar pinos de acordo com a temperatura e umidade, agora eu estou só com o sensor de temperatura LM35. Com relação à temperatura os pinos estão funcionando de acordo com a temperatura conforme o código postado. Estou colocando o cristal liquido (16x2) com isso um respectivo menu. Ai é que esta a parte que estou mais enrolado. Estou postando também o código do menu que peguei na net.

 

Esse é o código da temperatura:

 

int ledPin = 13; 

int analogPin = 5; 

int valAnalog ; 

int temperatura ; 

int ventilador = 12;

int cortinna = 11;

 

void setup(){ 

pinMode(ledPin, OUTPUT);  

pinMode(ventilador, OUTPUT); 

pinMode(cortinna, OUTPUT); 

Serial.begin(9600); }

 

void loop(){   

valAnalog = analogRead(analogPin);   

temperatura= ( 5 * valAnalog * 100) / 1024 ; 

if (temperatura >= 29){ 

digitalWrite(ventilador, HIGH);

}

else{ 

digitalWrite(ventilador, LOW);}

if (temperatura < 29)

digitalWrite(cortinna, HIGH);

}

else{  digitalWrite(cortinna, LOW);

}   

Serial.println(temperatura) ;

   delay(5000) ;  
   piscaLed() ;   

}

 

void piscaLed() {   

digitalWrite(ledPin, HIGH);    

delay(50) ;     

digitalWrite(ledPin, LOW); }

Exibições: 361

Responder esta

Respostas a este tópico

E esse é o menu que peguei a biblioteca no site Arduino.cc.

 

 

/*

||

|| @description

|| | This is a simple menu system, that uses input from the serial to change and use menuitems.

|| #

||

*/

 

#include <SubMenuItem.h>

#include <SubMenu.h>

#include <MenuItem.h>

#include <Menu.h>

//initialize menu

Menu menu = Menu(menuUsed,menuChanged);

//initialize menuitems

  MenuItem menuItem1 = MenuItem();

  MenuItem menuItemWithSubmenu = MenuItem();

    SubMenu subMenu = SubMenu(menuChanged);

      SubMenuItem subMenuItem1 = SubMenuItem();

      SubMenuItem subMenuItem2 = SubMenuItem();

      SubMenuItem subMenuItem3 = SubMenuItem();

  MenuItem menuItem3 = MenuItem();

 

void setup(){

  Serial.begin(9600);

 

  //configure menu

  menu.addMenuItem(menuItem1);

  menu.addMenuItem(menuItemWithSubmenu);

    menuItemWithSubmenu.addSubMenu(subMenu);

      subMenu.addSubMenuItem(subMenuItem1);

      subMenu.addSubMenuItem(subMenuItem2);

      subMenu.addSubMenuItem(subMenuItem3);

  menu.addMenuItem(menuItem3);

 

  menu.select(0);

  subMenu.select(0);

}

void loop(){

  if (Serial.available()){

    switch (Serial.read()){ 

      case 'w':

        if (menu.isCurrentSubMenu()){

          subMenu.down(); //set index closer to 0

        }

        break;

      case 's':

        if (menu.isCurrentSubMenu()){

          subMenu.up(); //set index closer to maximum

        }

        break;

      case 'a':

        menu.down();

        break;

      case 'd':

        menu.up();

        break;

      case ' ':

        menu.use();

        break;

      case '0':

        menu.select(0);

        break;

      case '1':

        menu.select(1);

        break;

      case '2':

        menu.select(2);

        break;

    }

  }

}

 

void menuChanged(ItemChangeEvent event){

  Serial.println("menuChanged");

  if( event == &menuItem1 ){

    Serial.println("\tmenuItem1 selected"); //user feedback

  }else if( event == &menuItemWithSubmenu ){

    Serial.println("\tmenuItemWithSubmenu selected"); //user feedback

  }else if( event == &subMenuItem1 ){

    Serial.println("\tsubMenuItem1 selected"); //user feedback

  }else if( event == &subMenuItem2 ){

    Serial.println("\tsubMenuItem2 selected"); //user feedback

  }else if( event == &subMenuItem3 ){

    Serial.println("\tsubMenuItem3 selected"); //user feedback

  }else if( event == &menuItem3 ){

    Serial.println("\tmenuItem3 selected"); //user feedback

  }

}

 

void menuUsed(ItemUseEvent event){

  Serial.println("menuUsed");

  if( event == &menuItem1 ){

    Serial.println("\tmenuItem1 used"); //user feedback

  }else if( event == &subMenuItem1 ){

    Serial.println("\tsubMenuItem1 used"); //user feedback

  }else if( event == &subMenuItem2 ){

    Serial.println("\tsubMenuItem2 used"); //user feedback

  }else if( event == &subMenuItem3 ){

    Serial.println("\tsubMenuItem3 used"); //user feedback

  }else if( event == &menuItem3 ){

    Serial.println("\tmenuItem3 used"); //user feedback

  }

}

Estou trabalhando na criação de uma classe para trabalhar com maior facilidade com menus.

Eu ja vi esta biblioteca que você mostrou nos comentário. Achei bastante confuso o modo de trabalho dela. Pois é necessário linkar os itens do menu bem certinho e isto da bastante trabalho e um pouco de dor de cabeça até acertar.

Mas se você tem pouca experiência é interessante usar esta biblioteca, ou lê-la para ver como autor construiu. Basicamente você tem que criar os itens dos menus e depois configural-los, adicionado os menus anteriores e posterios e os itens de subemenus.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço