Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Boladoloko

C me deem um suporte nesse projeto pfv!

Recommended Posts

Olá pessoal, sou iniciante na programação e estou montando um projeto de um teto solar em uma estufa (tudo controlado pelo Arduino UNO),

eu e um amigo estrangeiro do "reddit" montamos esse código. Eu fiz o código base que trabalha com um sensor de chuva para abrir ou fechar quando o tempo mudasse, e ele melhorou bastante mas nessa melhora que ele fez ele adicionou dois #defines, que acho que seriam para sensores de parada do teto na abertura e no fechamento, se puderem me ajudar identificando o que ele quis fazer agradeço.

 

Mas o problema maior não é esse, preciso que esse teto trabalhe tanbem com um sensor LDR para quando estiver de dia o teto abrir e a noite fechar mas como sou muito iniciante, não tenho noção de como fazer isso. É nessa parte que peço a ajuda de vocês, se podem implementar esse meu código colocando tal função. por favor!

 

/*pinos usados*/
#define pinSensorChuva A1
#define pinMotor 5

//************************************************************************************
#define sunroof_open_switch 55        // these pin numbers need to be corrected
#define sunroof_closed_switch 56    // these pin numbers need to be corrected
//************************************************************************************


/*variaveis globais*/
int pino_passo = 5;
int pino_direcao = 4;

/*direção do giro*/
int direcao = 1;

// Volta completa pra formar 1 giro
// Ajuste de acordo com o seu motor
int passos_motor = 360;

int sunroof_open_switch_value;        
int sunroof_closed_switch_value; 

void setup()
{

  Serial.begin(9600);
  pinMode(pino_passo, OUTPUT);
  pinMode(pino_direcao, OUTPUT);

  pinMode(sunroof_open_switch, INPUT_PULLUP); 
  pinMode(sunroof_closed_switch, INPUT_PULLUP);
}

void loop()
{
  /*monitoramento*/
  Serial.print("  SensorChuva:");
  Serial.print(analogRead(pinSensorChuva));
  Serial.print("  ");
  Serial.print("  Atuador:");

  /* Programa */

    if (analogRead(pinSensorChuva) > 700)
    {               
        // if the sunroof is not full open
        sunroof_open_switch_value = digitalRead(sunroof_open_switch); 
        if (sunroof_open_switch_value == 1)    // switch not closed, prepare to run motor  
        {
            Serial.println("TETO ABERTO");
            direcao = 1;
            digitalWrite(pino_direcao, direcao);
            for (int p = 0 ; p < passos_motor; p++)
            {
                sunroof_open_switch_value = digitalRead(sunroof_open_switch);
                if (sunroof_open_switch_value == 0)   // switch is closed, DO NOT make motor run  
                    break;
                digitalWrite(pino_passo, 1);
                delay(1);
                digitalWrite(pino_passo, 0);
                delay(1);
            }
        }
  }
  else
  {
        // if the sunroof is not full closed
        sunroof_closed_switch_value = digitalRead(sunroof_closed_switch);
        if (sunroof_closed_switch_value == 1)     // switch not closed, prepare to run motor 
        {
            Serial.println("TETO FECHADO");
            direcao = 0;
            digitalWrite(pino_direcao, direcao);
            for (int p = 0 ; p < passos_motor; p++)
            {
                sunroof_closed_switch_value = digitalRead(sunroof_closed_switch);
                if (sunroof_closed_switch_value == 0)   // switch is closed, DO NOT make motor run
                    break;
                digitalWrite(pino_passo, 1);
                delay(1);
                digitalWrite(pino_passo, 0);
                delay(1);
            }
        }
    }
}

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, tudo bem?

pinSensorChuva A1: Observou que foi posto A1 para o pino analógico? Isso sei que é o mesmo que 1 na sequência de conexões analógicas, vale também em alguns casos colocar penas valor 1. Para o sensor LDR  ponha 0 ou o disponível. Agora no mesmo local em que se encontra a proposição do Sensor de Chuva coloque também o Sendo de Luz. Bem aqui:

if (analogRead(pinSensorChuva)  >  700 || analogRead(ldr_pin_sensor_light)  >=  xxx )
/* ..."resto do código" ... */

*observe que o sensor de luz no exemplo acima também e analógico.

 

Ok tchau!

.

Editado por AnsiC
Correção
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu ajudou pakas obrigado, e a parte do:

#define sunroof_open_switch 55
#define sunroof_closed_switch 56 

entendeu para o que serviria ?

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×