-----SCL
6------------------12
7------------------13--------------------SDA
8------------------+5V-----------------+5V
A gravaçao foi completa e ainda sobrou espaço. quanto a fotos e o sketch te envio logo que puder, pois esta no outro computador que esta com o Linux.
William…
ado então activa o pino 12, espera 1 segundo e activa o pino 11, espera 2 segundos e desactiva o pino 11, espera 1 segundo e desactiva o pino 10, espera 2 segundos e activa o pino 13, espera 2 segundos e desactiva o pino 13.se o pino 0 estiver ligado, dá sinais de 15 em 15 segundos ao pino 13se o pino 0 desligar, espera 1 segundo e desliga o pino 13.e recomeça de novo...se o pino 1 ligar antes do pino 0, desliga o pino 12 e fica a espera que o pino 0 ligue para fazer todo o processo.
este sinal --> SIGNIFICA vá para número ...
1. inicio
2. se pino 0 ligado? --> 4 ?? dá sinais de 15 em 15 segundos ao pino 13 ???????
3. ativa pino 10 --> 5
4. desativa pino 10
5. se pino 1 ligado? --> 7
6. se pino 1 desligado? --> ??
7. ativa pino 12
8. passou 1 segundo --> 9
9. ativa pino 11
10. passou + 2 segundos --> 11
11. desativa pino 11
12. passou + 1 segundo --> 13
13. desativa pino 10
14. passou + 2 segundos --> 15
15. ativa pino 13
16. passou + 2 segundos --> 17
17. desativa pino 13
18. se pino 0 ligado? --> 19
19. ?? dá sinais de 15 em 15 segundos ao pino 13 ???????
20. pino 0 está ligado --> 22
21. se não --> 25
22. pino 0 foi desligado --> 23
23. passou 1 segundo --> 24
24. desliga pino 13
25. se pino 0 desligado e pino 1 ligado? --> 26
26. desliga pino 12
27. --> inicio (fica a espera que o pino 0 ligue para fazer todo o processo.)
Como você pode ver, sua descrição está um pouco confusa.
Qual a diferença de ligado/desligado e ativa/desativa?
RV…
Adicionado por mineirin RV ao 12:21 em 27 novembro 2019
resultado:
Hora 1: 01Hora 2: 0Hora 3: 2:Hora 4: 2:Hora 5: 2:Hora 6: 2:Hora 7: 2:Hora 8: 2:Hora 9: 2:Hora 10: 2:Hora 11: 2:Hora 12: 2:Hora 13: 2:Hora 14: 2:Hora 15: 2:Hora 16: 2:Hora 17: 2:Hora 18: 2:Hora 19: 2:Hora 20: 2:Hora 21: 2:Hora 22: 2:Hora 23: 2:Hora 24: 2:
Repare que a partir da 2º linha começa os problemas, ele lista apenas o primeiro ZERO e dai por diante, repete o segundo registro de hora em todas as linhas até o fim.…
irar em 2 direções) e uma bomba que pode ser ligada junto ou não. Todas ligadas em um único botão de desligar(segurança).
Bom a questão é que montei o código e tudo funcionou, mas não achei que ficou bom... ficou grande.
Existe algum jeito de otimizar esse código?
Errei alguma coisa no if? (na verdade usei a mesma lógica do excel...se > se não > se...
PS. sou iniciante em arduino.
void setup(){//S1 = 9; S1 é a chave que desliga//S2 = 10; S2 é a chave que liga contatora KM1//S3 = 11; S3 é a chave que liga a contatora KM2//S4 = 12; S4 é a chave que liga a bomba//KM1 = 7; Contatora 1//KM2 = 6; Contatora 2//KM3 = 5; Bomba
pinMode(9, INPUT);pinMode(10, INPUT);pinMode(11, INPUT);pinMode(12, INPUT);pinMode(13, OUTPUT);digitalWrite(9, 1);digitalWrite(10, 1);digitalWrite(11, 1);digitalWrite(12, 1);digitalWrite(13,0);pinMode (7, OUTPUT);pinMode (6, OUTPUT);pinMode (5, OUTPUT);pinMode (4, OUTPUT);pinMode (3, OUTPUT);pinMode (2, OUTPUT);}
void loop(){int desliga = digitalRead(9);int ligaKM1 = digitalRead(10);int ligaKM2 = digitalRead(11);int ligaBomba = digitalRead(12);
if (desliga == 0){ digitalWrite(7, 0); digitalWrite(6, 0); digitalWrite(5, 0); digitalWrite(13,0); digitalWrite(4,1); digitalWrite(3,0); digitalWrite(2,0);} else{ if (ligaKM1 == 0) { digitalWrite(7,1); digitalWrite(6,0); digitalWrite(3,1); digitalWrite(2,0); digitalWrite(4,0); } else{ if (ligaKM2 == 0) { digitalWrite(7,0); digitalWrite(6,1); digitalWrite(3,0); digitalWrite(2,1); digitalWrite(4,0); } else{ if (ligaBomba == 0) { digitalWrite(5,1); digitalWrite(13,1); digitalWrite(4,0); } } }}}…
rente.
void loop(){ String entrada; while (ESP.available()){ char ent = ESP.read(); // Salva o sinal do ESP em um char (ent) entrada += String(ent); //Converte este char para uma String (entrada)
String recebido = entrada.substring(11); //Salva em uma String (recebido) somente
Agora sim posso declarar as condições.
if (recebido == "7ON"){ // se receber 7ON digitalWrite(7, HIGH); // liga o pino 7 } if (recebido == "7OFF"){ // se receber 7OFF digitalWrite(7, LOW); desliga o pino 7 }
Vou anexar o código completo no tópico.…
a de 16 displays, sendo catodo comum.
Essa é a configuração de minha placa:
Seg A ----- CI 3 porta 1 Seg B ----- CI 3 porta 4 Seg C ----- CI 3 porta 5 Seg D ----- CI 3 porta 15 Seg E ----- CI 3 porta 7 Seg F ----- CI 3 porta 2 Seg G ----- CI 3 porta 3 Seg d ----- CI 3 porta 6
Display linha 1 da coluna 1 -- CI 1 porta 4(display 1) Display linha 1 da coluna 2 -- CI 1 porta 3(display 2) Display linha 1 da coluna 3 -- CI 1 porta 2(display 3) Display linha 1 da coluna 4 -- CI 1 porta 1(display 4) Display linha 2 da coluna 1 -- CI 1 porta 8(display 5) Display linha 2 da coluna 2 -- CI 1 porta 7(display 6) Display linha 2 da coluna 3 -- CI 1 porta 6(display 7) Display linha 2 da coluna 4 -- CI 1 porta 5(display 8) Display linha 3 da coluna 1 -- CI 2 porta 4(display 9) Display linha 3 da coluna 2 -- CI 2 porta 3(display 10) Display linha 3 da coluna 3 -- CI 2 porta 2(display 11) Display linha 3 da coluna 4 -- CI 2 porta 1(display 12) Display linha 4 da coluna 1 -- CI 2 porta 8(display 13) Display linha 4 da coluna 2 -- CI 2 porta 7(display 14) Display linha 4 da coluna 3 -- CI 2 porta 6(display 15) Display linha 4 da coluna 4 -- CI 2 porta 5(display 16)
Acontece que não funcionou e venho a qui pedi ajuda.
A unica coisa que mexi foi na mascara e ficou assim:
byte digits[] = // DEdCBGFA - segmentos {B11111011, // 0 // DEdCBGFA - segmentos B00011000, // 1 // DEdCBGFA - segmentos B01011101, // 2 // DEdCBGFA - segmentos B00011101, // 3 // DEdCBGFA - segmentos B00011110, // 4 // DEdCBGFA - segmentos B10011111, // 5 // DEdCBGFA - segmentos B11010110, // 6 // DEdCBGFA - segmentos B00011001, // 7 // DEdCBGFA - segmentos B11011011, // 8 // DEdCBGFA - segmentos B10011111, // 9 // DEdCBGFA - segmentos B00100000, // Ponto // DEdCBGFA - segmentos B00000000}; // blank
Alguém poderia me ajudar?…
Adicionado por jose merces ao 22:43 em 20 outubro 2014
rystal lcd2(15, 14, 9, 8, 7, 6);
Isso para um Uno, onde vc usaria as portas 1 e 0 analógicas como digitais (indicadas como 15 e 14, respectivamente).
[],
Mauro…
Adicionado por Mauro Assis ao 18:46 em 11 novembro 2012