Resultados da busca - %E6%81%92%E8%BE%BE%E7%99%BB%E5%BD%95%E7%94%A8%E6%88%B7%E5%90%8D%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%E3%80%90%E2%94%83%E5%A5%BD%E8%AE%A1%E5%88%922%E2%92%8F7%E2%92%8F01705%7B%EF%BC%B1%E3%80%91%E3%80%91
ai ta lendo. Por ex.:
Passo 1: Sensor1 na saída analógica e nas saídas digitais o valor 000.
Passo 2: Sensor2 na saída analógica e nas saídas digitais o valor 001.
Passo3: Sensor3 na saída analógica e nas saídas digitais o valor 010.
Passo4: Sensor4 na saída analógica, e nas saídas digitais o valor 011.
Passo5: Sensor5 na saída analógica, e nas saídas digitais o valor 100.
Passo6: Sensor6 na saída analógica, e nas saídas digitais o valor 101.
Passo7: voltar para o passo1
No Arduino:
void setup()
{
pinMode(2, INPUT); pinMode(3, INPUT); pinMode(4, INPUT); //digs
pinMode(A0, INPUT); //A0 analog
}
int an1, an2, an3, an4, an5, an6; //variaveis para ler as analogicas
bool di0, di1, di2; //variaiveis par aler as digitais
void loop()
{
e0 = digitalRead(2);
e1 = digitalRead(3);
e2 = digitalRead(4);
if(!e0 and !e1 and !e3) an1 = analogRead(A0); //se di = 000 ler an1
if(!e0 and !e1 and e3) an2 = analogRead(A0); //se di = 001 ler an2
if(!e0 and e1 and !e3) an3 = analogRead(A0); //se di = 010 ler an3
if(!e0 and e1 and e3) an4 = analogRead(A0); //se di = 011 ler an4
if( e0 and !e1 and !e3) an5 = analogRead(A0); //se di = 100 ler an5
if( e0 and !e1 and e3) an6 = analogRead(A0); //se di = 101 ler an6
}
O código é basicamente isso, existem maneiras mais sofisticadas de fazer isso, mas coloquei o mais simplificado possível…
ino vai ser local. Quem sabe realmente seu ip de internet e provavelmente tem função propria pra isso é o roteador. Lá também vc mapeia a porta de entrada para que seja direcionada ao seu arduino. Use 88, 888, 8888, 8080 ou algo assim. a 80 costuma ser bloqueada pelo provedor.
O Arduino UNO tem 14 I/Os digitais. Se vc usar todos para acionar cargas são 14. Mas vc pode expandir.
…
Adicionado por Eduardo ao 21:02 em 11 novembro 2012
eve ir pra frente.
Ir pra frente entendo que são os 2 motores na mesma velocidade.
Mas na primeira e terceira rotina de ir pra frente a definição de velocidade para cada motor está diferente,
então ele vai girar.
Versão " carrinho_4.0.ino "
linha 69 analogWrite(ENA, 80); e linha 72 analogWrite(ENB, 120);
linha 127 analogWrite(ENA, 80); e linha 130 analogWrite(ENB, 120);.
Existe também um erro que não afeta om funcionamento mas dá informações erradas,
a linha 92 está trocada com a 121.
Fiz uma nova versão do seu code corrigindo os erros e resumindo o processo com uma função a mais.
RV
carrinho_5.0.ino
…
Adicionado por mineirin RV ao 16:40 em 1 outubro 2020
ial, e também saber se está passando corrente ou não no circuito, caso esteja envia para serial se L1 está ou não Ligado, até aqui tudo bem!
2- Problema, quando vou ligar a Lampada acionando S1 por exemplo, preciso persistir várias vezes pressionando o Pushbutton para conseguir ligar ou desligar, acredito que esse problema está relacionado ao comando de delay ou DEBOUNCE_DELAY que está na programação, estive verificando também que é melhor utilizar o Millis ou uma biblioteca TimerOne, porem já quebrei a cabeça tentando implementar uma das duas funções e não estou conseguindo, seria ótimo se tiverem uma dica para eu conseguir acertar esse problema, Agradeço desde-já!
segue o Código:
//Saídasint E0 = 2;int E1 = 3;int E2 = 4;int E3 = 5;int E4 = 6;int E5 = 7;int E6 = 8;int E7 = 9;int E8 = 10;int E9 = 11;int E10 = 12;int E11 = 13;int E12 = 14;int E13 = 15;int E14 = 16;int E15 = 17;
//Entradasconst int S1 = 20;const int S2 = 21;const int S3 = 22;const int S4 = 23;const int S5 = 24;const int S6 = 25;const int S7 = 26;const int S8 = 27;const int S9 = 28;const int S10 = 29;const int S11 = 30;const int S12 = 31;const int S13 = 32;const int S14 = 33;const int S15 = 34;const int S16 = 35;
//Sensoresint pinoSensor = A0;
//Variaveis que recebe os dadosint sensorValue_aux = 0;//receberá os dados do sensorfloat valorSensor = 0;float valorCorrente = 0;float voltsporUnidade = 0.004887586; //5 dividido por 1023float sensibilidade = 0.066;int tensao = 127;int dado; //variável que receberá os dados da porta serial
//Ajuste de Debounce "S1"const long DEBOUNCE_DELAY0 = 100;int leitura_anterior0 = 1; int leitura_anterior_db0 = 1;long time_ultimo_debounce0 = 0;int debounce_0 = 1;
//Ajuste de Debounce "S2"const long DEBOUNCE_DELAY1 = 100;int leitura_anterior1 = 1; int leitura_anterior_db1 = 1;long time_ultimo_debounce1 = 0;int debounce_1 = 1;
void setup(){ Serial.begin(9600);//frequência da porta serial //Saídas pinMode(E0,OUTPUT); pinMode(E1,OUTPUT); pinMode(E2,OUTPUT); pinMode(E3,OUTPUT); pinMode(E4,OUTPUT); pinMode(E5,OUTPUT); pinMode(E6,OUTPUT); pinMode(E7,OUTPUT); pinMode(E8,OUTPUT); pinMode(E9,OUTPUT); pinMode(E10,OUTPUT); pinMode(E11,OUTPUT); //Entradas pinMode(S1,INPUT); pinMode(S2,INPUT); pinMode(S3,INPUT); pinMode(S4,INPUT); pinMode(S5,INPUT); pinMode(S6,INPUT); pinMode(S7,INPUT); pinMode(S8,INPUT); pinMode(S9,INPUT); pinMode(S10,INPUT); pinMode(S11,INPUT); pinMode(S12,INPUT); pinMode(S13,INPUT); pinMode(S14,INPUT); pinMode(S15,INPUT); pinMode(S16,INPUT); //Sensores pinMode(pinoSensor, INPUT);
} void loop(){ botao_0();}void botao_0(){ int leitura_atual0 = digitalRead(S1); if (leitura_atual0 != leitura_anterior0 ) { time_ultimo_debounce0 = millis(); debounce_0 = 0; } if ( (millis() - time_ultimo_debounce0) > DEBOUNCE_DELAY0 ) { debounce_0 = 0; } if (debounce_0 = 1){ if (leitura_atual0 == 0 && leitura_anterior_db0 == 1){ digitalWrite(E1, !digitalRead(E1)); } leitura_anterior_db0 = leitura_atual0; } leitura_anterior0 = leitura_atual0;
for(int i=10000; i>0; i--){ sensorValue_aux=(analogRead(pinoSensor) -511); valorSensor += pow(sensorValue_aux,2);}valorSensor = (sqrt(valorSensor/ 10000)) * voltsporUnidade;valorCorrente = (valorSensor/sensibilidade);
if(valorCorrente <= 0.095){ valorCorrente = 0; } valorSensor = 0; //Serial.println(valorCorrente); if(valorCorrente > 0.00){ Serial.println("L1: Ligado"); }else { Serial.println("L1: Desligado"); }
botao_1();}void botao_1(){int leitura_atual1 = digitalRead(S2); if (leitura_atual1 != leitura_anterior1 ) { time_ultimo_debounce1 = millis(); debounce_1 = 0; } if ( (millis() - time_ultimo_debounce1) > DEBOUNCE_DELAY1 ) { debounce_1 = 0; } if (debounce_1 = 1){ if (leitura_atual1 == 0 && leitura_anterior_db1 == 1){ digitalWrite(E2, !digitalRead(E2)); } leitura_anterior_db1 = leitura_atual1; } leitura_anterior1 = leitura_atual1;
delay(10); if(Serial.available() > 0){ //verifica se existe comunicação com a porta serial dado = Serial.read();//lê os dados da porta serial switch(dado){ case 1: digitalWrite(E0,HIGH); break; case 2: digitalWrite(E0,LOW); break; case 3: digitalWrite(E1,HIGH); break; case 4: digitalWrite(E1,LOW); break;
case 5: digitalWrite(E2,HIGH); break; case 6: digitalWrite(E2,LOW); break;
case 7: digitalWrite(E3,HIGH); break; case 8: digitalWrite(E3,LOW); break;
case 9: digitalWrite(E4,HIGH); break; case 10: digitalWrite(E4,LOW); break;
case 11: digitalWrite(E5,HIGH); break; case 12: digitalWrite(E5,LOW); break;
case 13: digitalWrite(E6,HIGH); break; case 14: digitalWrite(E6,LOW); break;
case 15: digitalWrite(E7,HIGH); break; case 16: digitalWrite(E7,LOW); break;
case 17: digitalWrite(E8,HIGH); break; case 18: digitalWrite(E8,LOW); break;
case 19: digitalWrite(E9,HIGH); break; case 20: digitalWrite(E9,LOW); break;
case 21: digitalWrite(E10,HIGH); break; case 22: digitalWrite(E10,LOW); break;
case 23: digitalWrite(E11,HIGH); break; case 24: digitalWrite(E11,LOW); break;
case 25: digitalWrite(E0,HIGH); digitalWrite(E1,HIGH); digitalWrite(E2,HIGH); digitalWrite(E3,HIGH); digitalWrite(E4,HIGH); digitalWrite(E5,HIGH); digitalWrite(E6,HIGH); digitalWrite(E7,HIGH); digitalWrite(E8,HIGH); digitalWrite(E9,HIGH); digitalWrite(E10,HIGH); digitalWrite(E11,HIGH); break; case 26: digitalWrite(E0,LOW); digitalWrite(E1,LOW); digitalWrite(E2,LOW); digitalWrite(E3,LOW); digitalWrite(E4,LOW); digitalWrite(E5,LOW); digitalWrite(E6,LOW); digitalWrite(E7,LOW); digitalWrite(E8,LOW); digitalWrite(E9,LOW); digitalWrite(E10,LOW); digitalWrite(E11,LOW); break;
} }}
…
odino de 4 válvulas,
http://forum.clubedohardware.com.br/topic/1041217-d%C3%BAvida-refer...
achei bem legal seu tópico.
Porem em 7/11/2013, a presidência do Brasil assinou um decreto autorizando as rádios AM
a migrarem pra FM.
Prevê-se em 5 anos não teremos mais rádios AM. É uma pena.
Rui…
Adicionado por mineirin RV ao 12:07 em 30 janeiro 2016
aumentar pra 81, 82 ... pra baixo faz o inverso.. isso eu já fiz... só nao coloquei a programção pq ta mt grande... OBJETIVO: VOU SETAR O SETPOINT E QUERO QUE QUANDO FOR DESLIGADO DA ENERGIA O ARDUINO GUARDA PRA QUANDO RESTABELECER O MESMO VOLTE NA PROGRAMACAO SALVADA....
#include <EEPROM.h>
float Setpoint
Setpoint = 80
voide setup
void loop {
switch (lcd_key)
case botao-alto:{
Setpoint = Setpoint +1;
break;
}
case botao-baixo:{
Setpoint = Setpoint -1;
break;
}
SetpointState[80] = 1;
EEPROM.write(0, SetpointState[80]);}…