Ir ao conteúdo
  • Cadastre-se

Boladoloko

Membros Juniores
  • Total de itens

    13
  • Registro em

  • Última visita

  • Qualificações

    N/D

Reputação

6

Sobre Boladoloko

  • Data de Nascimento 24-09-1998 (20 anos)

Informações gerais

  • Cidade e Estado
    Goiana/PE
  • Sexo
    Masculino

Meu Notebook

  • Marca
    Acer
  • Modelo
    Acer Aspire E1 572 6 Br691
  • Tamanho da tela
    14
  • Processador
    I5 4200U
  • Chip gráfico
    Intel graphics
  • Memória
    8GB
  • HD
    500GB
  • Sistema Operacional
    WINDOWS 7

Meu Smartphone

  • Marca e modelo
    Samsung galaxy J5 Pro

Outros

  • Ocupação
    Eletrotécnico
  • Interesses
    Gosto de animes, livros/mangas, tecnologia, musica,Jogos.
  1. @Boladoloko olha só não funcionou o monitor serial que tu colocou mas o resto perfeitamente obrigado mano.
  2. @Mateus2 obrigado vou testar e ver se funciona
  3. olá alguém pode me dizer 'como, quando e onde' usar a função "millis" nesse programa ? criei esse programa e descobri que o "delay" esta deixando meu programa com mal funcionamento (esta atrapalhando o giro do meu motor de passo), e como sou iniciante não sei usar o "millis", por favor ajudem esse jovem aprendiz. Necessito de ajuda rápido . programa: /*livrarias usadas*/ #include "DHT.h" /*pinos usados sensores*/ #define pinSensorA0 A0 #define pinSensorChuva A1 #define DHTPIN A3 #define ldr_pin_sensor_light A4 /*pinos usados Atuadores*/ #define pinSolenoide 4 #define COOLER 3 #define pinMotor 5 /*PINOS FIM DE CURSO */ #define sunroof_open_switch 11 #define sunroof_closed_switch 12 /*Declaração do Dht e do tipo*/ #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); /*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 = 700; int sunroof_open_switch_value; int sunroof_closed_switch_value; void setup() { pinMode(COOLER, OUTPUT); pinMode(pinSolenoide, OUTPUT); pinMode(pino_passo, OUTPUT); pinMode(pino_direcao, OUTPUT); pinMode(sunroof_open_switch, INPUT_PULLUP); pinMode(sunroof_closed_switch, INPUT_PULLUP); Serial.begin(9600); dht.begin(); } void loop() { /*declaraçao de variavel*/ float t = dht.readTemperature(); float ht = analogRead(pinSensorA0); /*monitoramento Serial*/ Serial.println(" "); Serial.print("TempDHT: "); Serial.print(t); Serial.println(" *C"); Serial.print(" Atuador1:"); Serial.println(" "); Serial.print(ht); Serial.print(" umidade:"); Serial.print(" "); delay(500);// delay de 1 seg para atualizaçao de dados /*Monitoramento da´parte do motor e sensores do motor*/ Serial.print(" SensorChuva:"); Serial.print(analogRead(pinSensorChuva)); Serial.print(" sensor chegada: "); Serial.print(analogRead(ldr_pin_sensor_light)); Serial.print(" "); Serial.print(" Atuador:"); Serial.println(" "); /*Controle do teto*/ void Controle_teto(); if (analogRead(ldr_pin_sensor_light) >= 500 || 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 FECHADO"); direcao = 0; 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); millis(1000); digitalWrite(pino_passo, 0); millis(1000); } } } 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 ABERTO"); direcao = 1; 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); millis(1000); digitalWrite(pino_passo, 0); millis(1000); } /*configuração do cooler*/ void controle_Atuadores(); if (t >= 25.00) { Serial.println("Cooler ON"); digitalWrite(COOLER, LOW); } else { (t <= 24.00); Serial.println("Cooler OFF"); digitalWrite(COOLER, HIGH); } /*configuração da solenoide*/ if (ht > 600) { Serial.println ("Aberta solenoide"); digitalWrite (pinSolenoide, HIGH); } else { Serial.println ("Fechadao solenoide"); digitalWrite (pinSolenoide, LOW); } } } }
  4. olá montei esse programa pra uma estufa automática com as funções: controle de temperatura, controle de umidade da terra e teto solar (que abre de acordo se esta dia ou noite, com suporte um sensor de chuva para caso chova ele feche e quando pare abra) . Eu montei cada programa num arquivo separado para não me confundir, organizei os programas em um só porém em funções "void();" e vi que quando fazia ações no teto solar o motor estava com um tipo de delay que rodava e parava e continuava nesse loop até chegar no fim de curso, não sei o que pode ter causado isso, pois quando testei o código do motor separado o próprio funcionou perfeitamente, já chequei se havia interferência nos cabos, tensão ou até no próprio motor mas nada havia. gostaria que vocês me ajudassem com esse problema programa abaixo: /*livrarias usadas*/ #include "DHT.h" /*pinos usados sensores*/ #define pinSensorA0 A0 #define pinSensorChuva A1 #define DHTPIN A3 #define ldr_pin_sensor_light A4 /*pinos usados Atuadores*/ #define pinSolenoide 4 #define COOLER 3 #define pinMotor 5 /*PINOS FIM DE CURSO */ #define sunroof_open_switch 11 #define sunroof_closed_switch 12 /*Declaração do Dht e do tipo*/ #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); /*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 = 370; int sunroof_open_switch_value; int sunroof_closed_switch_value; void setup() { pinMode(COOLER, OUTPUT); pinMode(pinSolenoide, OUTPUT); pinMode(pino_passo, OUTPUT); pinMode(pino_direcao, OUTPUT); pinMode(sunroof_open_switch, INPUT_PULLUP); pinMode(sunroof_closed_switch, INPUT_PULLUP); Serial.begin(9600); dht.begin(); } void loop() { /*declaraçao de variavel*/ float t = dht.readTemperature(); float ht = analogRead(pinSensorA0); /*monitoramento Serial*/ Serial.println(" "); Serial.print("TempDHT: "); Serial.print(t); Serial.println(" *C"); Serial.print(" Atuador1:"); Serial.println(" "); Serial.print(ht); Serial.print(" umidade:"); Serial.print(" "); delay(500);// delay de 1 seg para atualizaçao de dados /*Monitoramento da´parte do motor e sensores do motor*/ Serial.print(" SensorChuva:"); Serial.print(analogRead(pinSensorChuva)); Serial.print(" sensor chegada: "); Serial.print(analogRead(ldr_pin_sensor_light)); Serial.print(" "); Serial.print(" Atuador:"); Serial.println(" "); /*Controle do teto*/ void Controle_teto(); if (analogRead(ldr_pin_sensor_light) >= 500 || 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 FECHADO"); direcao = 0; 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 ABERTO"); direcao = 1; 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); } /*configuração do cooler*/ void controle_Atuadores(); if (t >= 25.00) { Serial.println("Cooler ON"); digitalWrite(COOLER, LOW); } else { (t <= 24.00); Serial.println("Cooler OFF"); digitalWrite(COOLER, HIGH); } /*configuração da solenoide*/ if (ht > 600) { Serial.println ("Aberta solenoide"); digitalWrite (pinSolenoide, HIGH); } else { Serial.println ("Fechadao solenoide"); digitalWrite (pinSolenoide, LOW); } } } }
  5. @aphawk Verdade, desculpe. Mas segui o conselho. eu testei (o programa do motor sem os outros complementares) e funcionou hehe, deu ate orgulho kkk, o único problema que deu foi... Quando juntei os outros programas (complementares) que tinha feito, O motor ficou rodando e parando como se tivesse com um delay quando trocava as funções pelo loop. alguma ideia do que seja ? não sei se preciso postar o programa mais ta aqui! /*livrarias usadas*/ #include "DHT.h" /*pinos usados sensores*/ #define pinSensorA0 A0 #define pinSensorChuva A1 #define DHTPIN A3 #define ldr_pin_sensor_light A4 /*pinos usados Atuadores*/ #define pinSolenoide 4 #define COOLER 3 #define pinMotor 5 /*PINOS FIM DE CURSO */ #define sunroof_open_switch 11 #define sunroof_closed_switch 12 /*Declaração do Dht e do tipo*/ #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); /*Variaveis globais*/ int pino_passo = 5; int pino_direcao = 4; int direcao = 1; //direção do giro int passos_motor = 700; // Ajuste de acordo com o seu motor int sunroof_open_switch_value; //fim de curso teto aberto int sunroof_closed_switch_value; //fim de curso teto fechado void setup() { pinMode(COOLER, OUTPUT); pinMode(pinSolenoide, OUTPUT); pinMode(pino_passo, OUTPUT); pinMode(pino_direcao, OUTPUT); pinMode(sunroof_open_switch, INPUT_PULLUP); pinMode(sunroof_closed_switch, INPUT_PULLUP); Serial.begin(9600); dht.begin(); } void loop() { /*declaraçao de variavel*/ float t = dht.readTemperature(); float ht = analogRead(pinSensorA0); /*monitoramento temperatura*/ Serial.println(" "); Serial.print("TempDHT: "); Serial.print(t); Serial.println(" *C"); Serial.print(" Atuador1:"); Serial.println(" "); Serial.print(ht); Serial.print(" umidade:"); Serial.print(" "); delay(500);// delay de 1 seg para atualizaçao de dados /*Monitoramento da parte do motor e sensores do motor*/ Serial.print(" SensorChuva:"); Serial.print(analogRead(pinSensorChuva)); Serial.print(" sensor chegada: "); Serial.print(analogRead(ldr_pin_sensor_light)); Serial.print(" "); Serial.print(" Atuador:"); Serial.println(" "); /*Controle do teto*/ void Controle_teto(); if (analogRead(ldr_pin_sensor_light) >= 500 || 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 FECHADO"); direcao = 0; 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 ABERTO"); direcao = 1; 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); } /*configuração do cooler*/ void controle_Atuadores(); if (t >= 25.00) { Serial.println("Cooler ON"); digitalWrite(COOLER, LOW); } else { (t <= 24.00); Serial.println("Cooler OFF"); digitalWrite(COOLER, HIGH); } /*configuração da solenoide*/ if (ht > 600) { Serial.println ("Aberta solenoide"); digitalWrite (pinSolenoide, HIGH); } else { Serial.println ("Fechadao solenoide"); digitalWrite (pinSolenoide, LOW); } } } }
  6. Oi pessoal fiz esse programa para um teto solar, que vai utilizar um sensor LDR e um sensor de Chuva Sou iniciante nesse mundo estou aprendendo por causa do meu tcc,(não manjo muito mesmo,aprendi esse pouco de algumas aulas do YT e ajuda em fórum). Por favor analisem ele e digam se vai funcionar de acordo com o planejado. Bom, quando o LDR captar a luz envia sinal pro Arduíno abrir o teto, quando estiver escuro o teto fecha, o sensor de chuva vai ser como suporte quando ele captar os pingos, fecha o teto, quando não tiver sinal de chuva abre o teto.(também tem a questão dos fim de cursos que vão dizer se o teto estar aberto ou fechado, quero saber se eles não vão bugar e não fechar ou abrir quando acionados). /*pinos usados*/ #define pinSensorChuva A1 #define pinMotor 5 #define ldr_pin_sensor_light A4 //************************************************************************************ // correct these so they use valid Arduino pin numbers #define sunroof_open_switch 7 //pinos sensor fim de curso as portas nn foram definidas #define sunroof_closed_switch 8 // pinos sensor fim de curso as portas nn foram definidas //************************************************************************************ /*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(" sensor chegada: "); Serial.print(digitalRead(ldr_pin_sensor_light)); Serial.print(" "); Serial.print(" Atuador:"); Serial.println(" "); /* Programa */ if (analogRead(pinSensorChuva) > 700 || analogRead(ldr_pin_sensor_light) >= 100 ) { // 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); } } } }
  7. kkkkkkkkk eu ainda nn tinha soldado no fim de curso, mas eu tinha um ldr cm o cabo soldado do jeito que achei que seria e enviei pra mostrar o exemplo dos cabos kkkk, o ler era só o "brinde kkkkk
  8. @aphawk valeu mano, mas só estou no momento com resistor de 1k e 10k, funcionaria se eu colocasse 4 de 1k em serie ? ou colocasse 1 de 10k?
  9. olá galera estou com um projeto que utiliza 2 fins de curso um para dizer que o teto esta fechado e outro para dizer que esta aberto encontrei 2 fins de cursos que eu tinha e quero utilizar eles no Arduíno é necessário ter o modulo/drive dele ou posso fazer uma ligação direta para os 3 pinos do fim de curso para o Arduíno ? se possível e como seria a pinagem quem seria GND, Dados e VCC ? Os pinos são: NO, NA e o C (comum).
  10. valeu ajudou pakas obrigado, e a parte do: #define sunroof_open_switch 55 #define sunroof_closed_switch 56 entendeu para o que serviria ?
  11. 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); } } } }

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

×