queiram), fica na imaginação de como ficaria a mesma acabada e montada com os componentes.
Dando uma pesquisada na Net, achei um artigo interessante, e resolvi testar.
Trata-se de uma ULP no Eagle que transforma o circuito em uma imagem 3D e que pode ser visualizada através do SketchUp.
Quando iniciei as pesquisas, vi que a maioria dos tutoriais utilizam o Eagle com versões antigas, embora a minha sendo paga, funciona nas demais (pelo que vi até a versão 7.7) a partir daí a Autodesk (comprou os direitos da CadSoft), já não tem a ULP ou se tem é diferente.
Aí vai um link onde a pessoa ensina como instalar os softwares,
https://www.youtube.com/watch?v=-fhQ8i1FSMU&index=31&list=PL80257E3FC49EC457
Como disse a vocês meu Eagle é o 7.7
Baixei a versão do ImageMagick 7.0.7 Q8 - 64bits, outras versões mais recentes não tem os arquivos convert e comtposite.
A versão da ULP (eagleUPfoi a 4.5 master) que você encontra facilmente no tio Google.
A versão do ScketchUp é a última disponível.
A partir deste vídeo e alguns outros e algumas páginas da net comecei a montar o quebra cabeça.
O Eagle reconheceu a ULP (primeira vitória).
A ULP foi configurada como descrito (segunda vitória),
O Eagle diz que não reconhece o arquivo (lascou-se).
O Scketchup reconheceu a extensão (outra vitória).
Estou mesmo parado na geração deste arquivo.
Bom termino aqui senão vira livro.
Abraços e espero que alguém já tenha enfrentado esta dificuldade e possa me dar uma luz.
Só para lembrar, realmente tem outros métodos e programas, mais para quem utiliza o Eagle e que tenha uma simples extensão no scktcUp fica muito mais divertido
Valeu
JA
…
alization by 1200 bps mySerial.setTimeout(10000); // Set time out 10 sec mySerial.flush();
}
void loop(){
if(mySerial.available()) // If Software Serial detect any data in it's buffer Serial.print(mySerial.read());}
Ao ligar ele printa no Serial Monitor caracteres aleatórios de 0 a 9, mesmo sem enviar nenhum RF (o que já me faz achar estranho, imaginei que apareceriam caracteres qualquer da tabela ASCII, deve ser alguma peculiaridade do print do Arduino).
Ao pressionar o botão do RF, percebi que existia um padrão de 31 números (3122841675801434216558141020817) que se repetiam, mas algumas vezes quando eu repetia o teste não conseguia mais achar esse padrão. Esse é o problema, será que estou usando o baudrate certo? O problema é como eu vou achar o baudrate do meu controle?Estou em posse de dois receivers, o RXTCH10 de 433,9 (do teste citado) e o RR3 de 433,9.…
Adicionado por Julio Garcia ao 10:48 em 19 julho 2013
ar um TIP31 tbm sem problemas a carga que o BC547 controla é baixa no caso do TIP31 pode ser de até 5A e é o mais indicado.
O que acontece é o seguinte quando o transistor recebe o sinal de 5v do arduino em sua base o trasistor sai do corte e começa a conduzir entre o coletor e o emissor.
O resistor de 1K que vc vê deve ser calculado de acordo com a carga que vc vai controlar no caso o rele.
pode ser calculado da seguinte forma:
Potência do rele / Tensão de alimentação = Corrente de alimentação
Corrente na base = Corrente de alimentação / Ganho(hfe) "TIP 31 =50"
Resistor de base = Tensão na base (considerando a saida 5v do arduino) / Corrente de base.
eu fiz esse mesmo esquema para fazer um pic tocar uma buzzer 127v em uma maquina.
Espero ter ajudado.…
rém essa ultima versão ao contrario da primeira fica só desligada para mim...kkkk
como já disse, estou testando alterando a hora nesse campo abaixo, e colocando horário dentro e fora do período cadastrado para funcionar as bombas, + em uma versão não desliga fora horário (fica sempre ligada em qualquer horário é na outra não liga....kkk :
byte segundos = 01; // Valores de 0 a 59 byte minutos = 44; // Valores de 0 a 59 byte horas = 06; // Valores de 0 a 23 byte diadasemana = 4; // Valores de 0 a 6 (0=Domingo, 1 = Segunda...) byte diadomes = 20; // Valores de 1 a 31 byte mes = 8; // Valores de 1 a 12 byte ano = 15; // Valores de 0 a 99
Vou ver teu video novamente e ver onde devo mudar, pelo que entendi as alterações de hora não são onde estou efetuando...…
:33: error: 'OSCMessage::OSCMessage' is not a type int16_t encode( OSCMessage::OSCMessage *mes ,uint8_t *_binData ); ^C:\Program Files (x86)\Arduino\libraries\ArdOSC-master/OSCCommon/OSCClient.h:36:5: error: 'OSCEncoder::OSCEncoder' names the constructor, not the type OSCEncoder::OSCEncoder encoder; ^C:\Program Files (x86)\Arduino\libraries\ArdOSC-master/OSCCommon/OSCDecoder.h:26:30: error: 'OSCMessage::OSCMessage' is not a type int16_t decode( OSCMessage::OSCMessage *_mes ,const uint8_t *_binData ); ^C:\Program Files (x86)\Arduino\libraries\ArdOSC-master/OSCCommon/OSCServer.h:31:5: error: 'OSCDecoder::OSCDecoder' names the constructor, not the type OSCDecoder::OSCDecoder _decoder; ^C:\Program Files (x86)\Arduino\libraries\ArdOSC-master/OSCCommon/OSCServer.h:32:5: error: 'Pattern::Pattern' names the constructor, not the type Pattern::Pattern _adrMatch; ^exit status 1Error compiling for board Arduino/Genuino Mega or Mega 2560.
O que pode ser? Vou deixar a biblioteca anexada…
Adicionado por Victor Mateus ao 21:03 em 28 maio 2016
amente.
Agora montei um outro sistema idêntico para um outro aquário, só mais simples pq são apenas 2 acionamentos, mas estou tendo problemas com o RTC, não consigo fazer a leitura correta da variável hora.
Nesse projeto estou usando um arduino nano e um RTC DS1307 a variável hora não consigo ler, fica sem assim: Hora: 0:46:31
O RTC parece estar funcionando corretamente pq ajustei na semana passada e os minutos estão batendo certinho hoje, mas a hora fica sempre 0.
Se alguém puder me dar uma ideia do que pode ser eu agradeço muito.
Esse é o código (Por favor peguem leve, sei q o código é bem zoado mas só sei o básico de arduino):
Automa__o_Aqu_rio2.ino…
am ser a 12v ?????
Resposta ás duvidas:
Quais os tempos iniciais possíveis? (5min, 8min, etc)
Os tempos não são fixos, pois os jogos dos mais novos podem ser de 2 (tempos)x4(min), 3x8, 4x5, etc, é sempre uma decisão de quem organiza os jogos.
Ex: Se for um torneio com 3 equipas, os tempos e períodos podem ser mais alargados, se forem 8 equipas os tempos e períodos são encurtados de modo a que os jogos sejam mais rápidos...
Aqui penso que seria mais funcional ter a possibilidade de incrementar 1 min de cada vez, até ao tempo que se quer.
- Quando o tempo for menor que 10 minutos, e maior que 1 minuto, deve-se mostrar o 0 da esquerda? (ex: 04:31 ou 4:31)
Para melhor percepção dos intervenientes no jogo, é preferível que o 0 da esquerda não seja visível.
- A questão anterior, mas para menor que 10 segundos, e maior que 0 segundos (09:75 ou 9:75)
A mesma situação para a duvida anterior
- A questão anterior, mas quando chega a 0 segundos (0:00 ou 00:00)
Neste caso deverá mostrar 00:00 e se possivel piscar entre 3 a 5 segundos juntamente com o buzina...
Uma vez que o placard principal não vai ter a contagem dos 24 segundos, estes terão de ficar fisicamente fora do principal. Possivelmente terei de fazer um projecto paralelo a este só para os 24 seg. ( caso não seja possivel fazer a comunicação entre a consola controladora e os placard dos 24 seg.
Entretanto mandei vir estes Arduinos Micro para os 24 seg, são os mais adequados ou é preferivel usar um Nano ou Uno??
Outra duvida, é aconselhável colocar ventoinhas no placard, para que a temperatura não aumente, uma vez que será uma caixa fechada ??
Abraços…
ile( i> 0 && i<8) { lcd.setCursor(0,0); LerTecla(); if(i==1){lcd.print(" Entre com Ano ");} if(i==2){lcd.print(" Entre com Mes ");} if(i==3){lcd.print(" Entre com Dia ");} if(i==4){lcd.print(" Entre cm Semana");} if(i==5){lcd.print(" Entre com Hora ");} if(i==6){lcd.print(" Entre com Minut");} if(i==7){lcd.print(" Entre com Segun");} if(UP){acertahora[i]++;estouro = 0;UP = 0;} //alteração custela if (DOWN && acertahora[i] >= 0){acertahora[i]--;estouro = 0; DOWN = 0;} //alteração custela
if (SELECT){i ++;estouro = 0; SELECT = 0;
delay(200);} //alteração custela
if(acertahora[1] < 1 ){acertahora[1] = 13;} if(acertahora[2] > 12){acertahora[2] = 1;}
if(acertahora[2] == 0){acertahora[2] = 12;}
if(acertahora[3] > 31){acertahora[3] = 1;}
if(acertahora[3] == 0){acertahora[3] = 31;}
if(acertahora[4] > 6){acertahora[4] = 0;}
if(acertahora[4] == -1){acertahora[4] = 6;}
if(acertahora[5] > 23){acertahora[5] = 0;}
if(acertahora[5] == -1){acertahora[5] = 23;}
if(acertahora[6] > 59){acertahora[6] = 0;}
if(acertahora[6] == -1){acertahora[6] = 59;}
if(acertahora[7] > 59){acertahora[7] = 0;}
if(acertahora[7] == -1){acertahora[7] = 59;}
lcd.setCursor(9, 1);
lcd.print(acertahora[i], DEC);lcd.print(" ");
if(estouro == 90){ i = 0 ; estouro = 0;}
}
DS1307.setDate(acertahora[1], acertahora[2], acertahora[3], acertahora[4], acertahora[5], acertahora[6], acertahora[7]); // AQUI ENVIAMOS OS DADOS DEFINIDOS PARA O REAL TIME CLOK lcd.clear();
}
Gostaria de implementar essa logica do switch(case) no if(acertahora[4] para ao invés de aparecer os números aparecer os dias da semana conforme case abaixo. Qualquer ajuda sera bem vinda.
//valores case RTC int semana ; // Valores recolhidos
String d_semana; // Para texto LCD
semana == acertahora[4]; //Traduzir valor de dia de semana para texto
switch(semana){
case 1:
d_semana = "DOMINGO";
break;
case 2:
d_semana = "SEGUNDA";
break;
case 3:
d_semana = "TERCA";
break;
case 4:
d_semana = "QUARTA";
break;
case 5:
d_semana = "QUINTA";
break;
case 6:
d_semana = "SEXTA";
break;
case 7:
d_semana = "SABADO";
break;
}…