Página 22 de 32 PrimeiroPrimeiro ... 12181920212223242526 ... ÚltimoÚltimo
Resultados 526 a 550 de 797

Tópico: Arduino - o Desafio

  1. #526
    Membro Conselheiro Avatar de JoaoCAlves
    Data de Ingresso
    11-06-07
    Localização
    Montijo
    Idade
    42
    Posts
    1.247

    Re: Arduino - o Desafio

    Sim, isso é só definir o type, tem um código, para identificar o ecran.

    Tb estou á espera ds meus 2 3.2WC. Qd os tiver, vou migrar o controlador de testes e o do aqua para eta versão e começar a desenvolver o meu código neles.

  2. #527
    Lojista Avatar de Baltasar Parreira
    Data de Ingresso
    28-09-05
    Localização
    Quinta da Beloura
    Idade
    50
    Posts
    706

    Re: Arduino - o Desafio

    João essa parte é fácil... eheheh.

    É só ir a linha 92 e mudar para isto:

    ITDB02 myGLCD(38,39,40,41,ITDB32WC); //May need to add "ITDB32S" depending on LCD controller


    Agora o que se devem estar a referir é que mesmo mudando isso o software não usa o ecrã todo, vais ter sempre um mini rectângulo encostado a esquerda pois as coordenadas e todos os prints feitos para o LCD estão limitados a resolução dos LCD mais pequenos.
    ___________________________________________

    :: O meu nano reef (Balta's Piece of Paradise ) ::

  3. #528
    Membro Conselheiro Avatar de JoaoCAlves
    Data de Ingresso
    11-06-07
    Localização
    Montijo
    Idade
    42
    Posts
    1.247

    Re: Arduino - o Desafio

    ??

    Epa, pensei que ele ajustasse logo a resolução em função do ecrãn escolhido!

  4. #529
    Lojista Avatar de Baltasar Parreira
    Data de Ingresso
    28-09-05
    Localização
    Quinta da Beloura
    Idade
    50
    Posts
    706

    Re: Arduino - o Desafio

    Pois não o comando de print no LCD é por coordenadas de pixel, logo ao passar para um LCD com mais pixéis tens de recalcular tudo se quiseres usar a área total que tens disponível.
    ___________________________________________

    :: O meu nano reef (Balta's Piece of Paradise ) ::

  5. #530
    Membro Senior
    Data de Ingresso
    31-03-11
    Localização
    São Paulo
    Idade
    35
    Posts
    359

    Re: Arduino - o Desafio

    Olá!
    O código do Jamie está muito bem explicado.
    O único problema que vejo é a quantidade de cores diferentes que ele usou nos leds.
    Normalmente nos fóruns o pessoal usa o blue, royal blue e white sendo os 2 tipos de azuis controlados pelo mesmo canal.

    O que é mais fácil ?

    ( ) Excluir os trechos que não se pretende usar no código.
    ( ) Retirar as partes que se pretende usar e colocar em outro código.
    ( ) Tanto faz.

    Abraço.
    Fernando Garcia

  6. #531
    Membro Senior
    Data de Ingresso
    31-03-11
    Localização
    São Paulo
    Idade
    35
    Posts
    359

    Re: Arduino - o Desafio

    Olá!

    Vos informo que o programa Jarduino sofreu atualizações, mais informações aqui http://www.reefcentral.co.uk/showthr...l=1#post250739.

    A nova versão já está disponível aqui:
    http://code.google.com/p/jarduino-aq...a.rar&can=2&q=

    Abraço.
    Fernando Garcia

  7. #532
    Membro Identificado Avatar de Pedro Ferrer
    Data de Ingresso
    30-10-04
    Localização
    Paiã - Pontinha
    Idade
    43
    Posts
    3.191

    Re: Arduino - o Desafio

    Boa noite

    Espreitei o tópico no reefcentral e o grafismo está com excelente aspecto!
    Muito bom mesmo!

    Abraço
    Pedro Ferrer
    Eu posso!
    Eu quero!
    Eu consigo!

  8. #533
    Membro Conselheiro Avatar de JoaoCAlves
    Data de Ingresso
    11-06-07
    Localização
    Montijo
    Idade
    42
    Posts
    1.247

    Re: Arduino - o Desafio

    Muito giro mesmo.

    Tb quero ver se arranjo umas pics da lua para por no meu.

    Para já vou portanto o meu código

  9. #534
    Membro Identificado Avatar de Sérgio Paulo
    Data de Ingresso
    17-01-06
    Localização
    Agualva (Cacém)
    Idade
    52
    Posts
    119

    Re: Arduino - o Desafio

    Obrigado Fernando Garcia, estive a ver e realmente está um espetáculo.

    O meu ainda está em standby, o nascimento do meu filhote veio alterar algumas prioridades.



    A Mente que se abre a uma nova ideia, jamais voltará ao seu tamanho original.

  10. #535
    Membro Senior
    Data de Ingresso
    31-03-11
    Localização
    São Paulo
    Idade
    35
    Posts
    359

    Re: Arduino - o Desafio

    Olá!
    Adicionei uma nova função ao meu controlador.
    Agora tenho os parâmetros online em tempo real.
    Veja aqui: https://cosm.com/feeds/69337

    Os interessados podem ver o código de exemplo aqui: http://pastebin.com/Fp52NUNk

    Abraço.
    Fernando Garcia

  11. #536
    Membro Identificado Avatar de Hugo Figueiredo
    Data de Ingresso
    13-10-05
    Localização
    Alcochete
    Idade
    40
    Posts
    1.488

    Re: Arduino - o Desafio

    O grafismo está realmente muito bom tendo em conta as potecialidades do monitor!

    Essa interligação com o patchube também é um must have!!!

    Mais um para os meus favoritos!

  12. #537
    Membro Senior
    Data de Ingresso
    31-03-11
    Localização
    São Paulo
    Idade
    35
    Posts
    359

    Re: Arduino - o Desafio

    Olá!
    Recentemente adicionei ao meu controlador 4 "stamps" da Atlas ligados a um multiplexador.
    Gostaria que me dessem sugestões de alternativas aos "delays" necessários para comunicação entre os "stamps" e o arduino.
    Isso está me incomodando pois, tenho o arduino "parado" por 4 segundos a cada minuto.
    Desde já agradeço.
    Segue o código:


    void check_parametros()
    {
    int i;
    unsigned long millis_agora = millis();

    if (millis_agora - millis_antes > 60000)
    {
    millis_antes = millis_agora;

    do{
    Open_channel(ph1);
    Serial3.print(tempC);
    Serial3.print('\r');
    delay (1100);

    if(Serial3.available() > 3)
    {
    holding = Serial3.available();
    for(i=1; i <= holding; i++)
    {
    sensorstring[i]= Serial3.read();
    }
    if(holding ==5)
    {
    PHT = ((sensorstring[1]-48)*100 + (sensorstring[3]-48)*10 + (sensorstring[4]-48));
    PHA = PHT/100;
    }
    else
    {
    PHT = ((sensorstring[1]-48)*1000 + (sensorstring[2]-48)*100 + (sensorstring[4]-48)*10 + (sensorstring[5]-48));
    PHA = PHT/100;
    }
    PHT=0;
    Serial3.flush();
    break;
    }
    } while (done==1);
    done=0;

    do{
    Open_channel(ph2);
    Serial3.print(tempC);
    Serial3.print('\r');
    delay (1100);

    if(Serial3.available() > 3)
    {
    holding = Serial3.available();
    for(i=1; i <= holding; i++)
    {
    sensorstring[i]= Serial3.read();
    }
    if(holding ==5)
    {
    PHT = ((sensorstring[1]-48)*100 + (sensorstring[3]-48)*10 + (sensorstring[4]-48));
    PHR = PHT/100;
    }
    else
    {
    PHT = ((sensorstring[1]-48)*1000 + (sensorstring[2]-48)*100 + (sensorstring[4]-48)*10 + (sensorstring[5]-48));
    PHR = PHT/100;
    }
    PHT=0;
    Serial3.flush();
    break;
    }

    } while (done==1);
    done=0;

    do{
    Open_channel(orp);
    Serial3.print("r"),
    Serial3.print('\r');
    delay (1100);

    if(Serial3.available() > 3)
    {
    holding = Serial3.available();
    for(i=1; i <= holding; i++)
    {
    sensorstring[i]= Serial3.read();
    }
    ORPT = ((sensorstring[1]-48)*100 + (sensorstring[2]-48)*10 + (sensorstring[3]-48));
    ORP = ORPT;
    ORPT=0;
    Serial3.flush();
    break;
    }
    } while (done==1);
    done=0;


    }
    }


    Abraço.
    Fernando Garcia

  13. #538
    Membro Identificado Avatar de Pedro Ferrer
    Data de Ingresso
    30-10-04
    Localização
    Paiã - Pontinha
    Idade
    43
    Posts
    3.191

    Re: Arduino - o Desafio

    Boa noite

    Os 'delays' são sempre má escolha... ainda para mais num Loop... visto que não existe algo 'DoEvents'... onde o que acontece fora do Loop, no Arduino não está a ser tido em conta....
    Porque não optas por ler à vez... ou seja... em vez de leres a totalidade dos resultados no mesmo ciclo de varrimento do PLC (CLP em português do Brasil), poderias ler de forma incremental...

    Assim...
    Reset Arduino
    Inicialização
    Setup()
    Loop()

    varrimento 1 (ciclo do cristal 16Mhz)
    -> leitura sensor 1
    (...)
    varrimento 2
    -> leitura sensor 2
    (...)
    varrimento 3
    -> leitura sensor 3
    (...)
    varrimento 4
    -> leitura sensor 4
    (...)
    varrimento 5
    -> leitura sensor 1
    (...)
    varrimento 6
    -> leitura sensor 2
    (...)

    Abraço
    Pedro Ferrer
    Eu posso!
    Eu quero!
    Eu consigo!

  14. #539
    Lojista Avatar de Baltasar Parreira
    Data de Ingresso
    28-09-05
    Localização
    Quinta da Beloura
    Idade
    50
    Posts
    706

    Re: Arduino - o Desafio

    Para não se usar delay, basta alterar os timers, normalmente o timer usado é o 2, depois por interrupts a cada ciclo de interrupt ler os valores, assim o loop normal corre sempre sem problemas e qualquer delay.
    ___________________________________________

    :: O meu nano reef (Balta's Piece of Paradise ) ::

  15. #540
    Membro Senior
    Data de Ingresso
    31-03-11
    Localização
    São Paulo
    Idade
    35
    Posts
    359

    Re: Arduino - o Desafio

    Citação Postado originalmente por Pedro Ferrer Ver Post
    Boa noite

    Os 'delays' são sempre má escolha... ainda para mais num Loop... visto que não existe algo 'DoEvents'... onde o que acontece fora do Loop, no Arduino não está a ser tido em conta....
    Porque não optas por ler à vez... ou seja... em vez de leres a totalidade dos resultados no mesmo ciclo de varrimento do PLC (CLP em português do Brasil), poderias ler de forma incremental...

    Assim...
    Reset Arduino
    Inicialização
    Setup()
    Loop()

    varrimento 1 (ciclo do cristal 16Mhz)
    -> leitura sensor 1
    (...)
    varrimento 2
    -> leitura sensor 2
    (...)
    varrimento 3
    -> leitura sensor 3
    (...)
    varrimento 4
    -> leitura sensor 4
    (...)
    varrimento 5
    -> leitura sensor 1
    (...)
    varrimento 6
    -> leitura sensor 2
    (...)

    Abraço
    Pedro Ferrer
    Pedro, bom dia!
    Obrigado pela resposta.
    Pensei em fazer isto pois, desta forma teria atraso de 1 segundo a cada minuto.
    Ainda estou pensando numa maneira de fazer isto.
    Abraço.

  16. #541
    Membro Senior
    Data de Ingresso
    31-03-11
    Localização
    São Paulo
    Idade
    35
    Posts
    359

    Re: Arduino - o Desafio

    Citação Postado originalmente por Baltasar Parreira Ver Post
    Para não se usar delay, basta alterar os timers, normalmente o timer usado é o 2, depois por interrupts a cada ciclo de interrupt ler os valores, assim o loop normal corre sempre sem problemas e qualquer delay.
    Baltasar, bom dia!

    Não entendo como essa função pode me ajudar.

    Penso que o arduino após enviar o comando de leitura voltará para o loop normal e quando a resposta estiver disponível na porta serial ele verificará e depois retornará ao loop de onde parou. É isso?

    Grato.
    Fernando Garcia

  17. #542
    Lojista Avatar de Baltasar Parreira
    Data de Ingresso
    28-09-05
    Localização
    Quinta da Beloura
    Idade
    50
    Posts
    706

    Re: Arduino - o Desafio

    Nope nao funciona assim.

    Tens aqui um exemplo

    (dentro do void setup)

    //-------------------- Set timer -------------------------------------
    /* Frame buffer interrupt */
    TCNT2 = 0x00; /* Initial counter value 0 */
    TIMSK2 |= (1 << OCIE1A); /* Enable CTC interrupt */
    /* Every 1024th cpu cycle, a counter is incremented.
    * Every time that counter reaches 5, it is reset to 0
    * and the interrupt routine is executed.
    * 1000000/1024/5 = 195 hz refresh
    * There are 5 layers to update..
    * 195 hz / 5 layers = 39 FPS
    */
    OCR2A = 5; /* Interrupt if counter hold value 5 */
    TCCR2A = 0x05; /* Prescaler set to 1024 */
    TCCR2A |= (1 << WGM01); /* Clear Timer on Compare Match (CTC) mode */

    //--------------------------------------------------------------------


    como vês com isso ficas com um counter a cada X s, depois só tens de ir vendo quando esse counter está no ponto e fazeres as tuas leituras assim ()nota isto fica fora quer do void setup quer do loop:

    // Timer A2 interrupt service routine, Refreshes the Video Zone
    ISR(TIMER2_COMPA_vect){

    /* fazes aqui o que queres ler ou fazer etc... */

    /* Enable interrupts */
    sei();

    }

    Com este código a cada X segundos o que estiver aqui dentro é executado independente do loop normal e se tens comandos de delay lá ou não.
    ___________________________________________

    :: O meu nano reef (Balta's Piece of Paradise ) ::

  18. #543
    Membro Senior
    Data de Ingresso
    31-03-11
    Localização
    São Paulo
    Idade
    35
    Posts
    359

    Re: Arduino - o Desafio

    Baltasar, boa tarde!

    Não consigo usar o exemplo que você me deu.

    Encontrei um exemplo dado pelo usuário "davekw7x" neste tópicohttp://www.arduino.cc/cgi-bin/yabb2/...num=1278539360 que funciona.

    Fiz uma adaptação para que a ação seja executada a cada 60 s.

    [code]

    // This ISR is run when Timer/Counter2 reaches OCR2A
    ISR(TIMER2_COMPA_vect)
    {
    ++int_count;

    if (int_count >= max_count) {
    int_count = 0;
    counter++;
    }

    if(counter == 60)
    {
    counter = 0;
    Serial.println(millis());
    digitalWrite(ledPin, led_state);
    led_state = 1 - led_state;
    }
    }

    [/code]

    Quando juntei ao meu código ele até funciona mas, o processamento do touch é extremamente lento.

    Obrigado pela atenção.

    Abraço.
    Fernando Garcia

  19. #544
    Lojista Avatar de Baltasar Parreira
    Data de Ingresso
    28-09-05
    Localização
    Quinta da Beloura
    Idade
    50
    Posts
    706

    Re: Arduino - o Desafio

    Pois não sei eu uso aquele código as vezes, posso ter copiado alguma coisa mal pois tinha comentários desnecessários que apaguei e posso ter apagado parte boa do código, no entanto a lentidão pode ter a ver com o touch estar a usar algum ou todos os pinos que o timer2 mexe, nomeadamente esta info:

    Timer2 (PWM 3 and 11)Used to drive PWM outputs for digital pins 3 and 11.

    Se mudares os 60s para outro valor mais alto certamente o touch fica mais responsivo pois não salta tanto as leituras de valores a cada interrupt e deixa de fazer a parte do código do touch.

    Talvez lendo isto percebas melhor o que são interrupts, timers etc em microcontroladores.


    Aqui fica um link bem descritivo, sorry mas é em inglês: http://www.funnyrobotics.com/2011/06...nd-timers.html
    ___________________________________________

    :: O meu nano reef (Balta's Piece of Paradise ) ::

  20. #545
    Membro Senior
    Data de Ingresso
    31-03-11
    Localização
    São Paulo
    Idade
    35
    Posts
    359

    Re: Arduino - o Desafio

    Olá!

    Não tem problema de ser em inglês.
    O Google ajuda.

    No texto do link que você que você forneceu tem uma obervação que faz com que essa função não sirva para o meu propósito.

    "Note also that due to the fact that interrupts are blocked and timers are stopped during the ISR processing, inside the attached function, delay() won't work and the value returned by millis() will not increment. Serial data received while in the function may be lost. You should declare as volatile any variables that you modify within the attached function. "

    O problema da lentidão estava na frequência das interrupções que era de apenas 10 micro segundos.

    Fazendo algumas alterações consegui ter a interrupção em 64 segundos.

    TCCR2B |= (60 << CS20);

    if (int_count >= max_count)
    {
    int_count = 0;
    counter++;
    }

    if(counter == 1)
    {
    counter = 0;
    Serial.println(millis());

    }


    Mas, o programa trava por conta dos delays e se eu removê-los não consigo ter as respostas dos "stamps" em tempo.

    Grato.
    Fernando Garcia

  21. #546
    Lojista Avatar de Baltasar Parreira
    Data de Ingresso
    28-09-05
    Localização
    Quinta da Beloura
    Idade
    50
    Posts
    706

    Re: Arduino - o Desafio

    Nao isso é se usares o timer0, esse é que é responsavel pelo mills e etc...
    ___________________________________________

    :: O meu nano reef (Balta's Piece of Paradise ) ::

  22. #547
    Membro Senior
    Data de Ingresso
    31-03-11
    Localização
    São Paulo
    Idade
    35
    Posts
    359

    Re: Arduino - o Desafio

    Olá!

    Ainda não consegui encontrar uma alternativa aos "delays" irritantes.

    Isso fica para outra hora.

    Gostaria de saber dos amigos que compraram a placa de reles da Iteadstudio se tiveram problema com ela.
    Um amigo que estou ajudando a montar o controlador instalou um chiller de cerca de 750 W e segundo ele a trilha inferior da placa derreteu.
    Isso é muito estranho pois, a especificação da placa diz que ela suporta até 2500 W em 250 V.
    Uma imagem da placa que me refiro.



    Abraço.
    Fernando Garcia

  23. #548
    Membro Conselheiro Avatar de JoaoCAlves
    Data de Ingresso
    11-06-07
    Localização
    Montijo
    Idade
    42
    Posts
    1.247

    Re: Arduino - o Desafio

    Boas.

    Pois, esse é sempre o perigo, ou o pcb tá bem dimensionado, ou caput...

    Eu tenho um de 2 relés, mas nem é da itead, e duvido que suporte 10A nas pistas!!!

  24. #549
    Membro Senior
    Data de Ingresso
    31-03-11
    Localização
    São Paulo
    Idade
    35
    Posts
    359

    Re: Arduino - o Desafio

    Olá!

    Boas notícias....?

    Vem por aí Arduino Due!

    http://www.forkrobotics.com/wp-conte...ArdunioDUE.pdf

    http://www.forkrobotics.com/2012/10/...-announcement/

    Abraço.
    Fernando Garcia

  25. #550
    Membro Identificado Avatar de Pedro Ferrer
    Data de Ingresso
    30-10-04
    Localização
    Paiã - Pontinha
    Idade
    43
    Posts
    3.191

    Re: Arduino - o Desafio

    Óptimas notícias!!!
    Era só uma questão de tempo.
    A mim, permite a continuação de partes do projecto já programadas, mas que tive que abdicar da forma que pretendia por falta de precisão aritmética.

    Pedro Ferrer
    Eu posso!
    Eu quero!
    Eu consigo!

Página 22 de 32 PrimeiroPrimeiro ... 12181920212223242526 ... ÚltimoÚltimo

Informações de Tópico

Utilizadores Navegando neste Tópico

Há 4 Membros navegando neste tópico. (0 registrados e 4 visitantes)

Tópicos Similares

  1. Controlador digital DIY com LCD para calhas de LEDs
    Por Baltasar Parreira no fórum DIY - Faça Você Mesmo
    Respostas: 45
    Último Post: 15-03-11, 23:24
  2. Um grande desafio ambientalista
    Por Pedro Ferrer no fórum Discussão Geral, Técnica e Equipamento
    Respostas: 1
    Último Post: 02-09-09, 00:02
  3. Desafio: ligação de ventoinhas ...
    Por Edimar Oliveira no fórum Discussão Geral, Técnica e Equipamento
    Respostas: 0
    Último Post: 07-03-09, 17:26
  4. Desafio para a margem sul
    Por Joaquim Galinhas no fórum Discussão Geral, Técnica e Equipamento
    Respostas: 31
    Último Post: 21-09-07, 20:01

Tags para este Tópico

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •