• Welcome to LusoRobótica - Robótica em Português.
 

o meu 1º test com arduino + lcd

Started by ruisilva, 11 de March de 2009, 15:24

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ruisilva

Boas companheiros.... como já tinha dito, num post anterior, aqui ando eu aos tombos com o arduino e quis experimentar coisas malucas, pelo menos para mim são.. sendo assim comecei por fazer algo que lê-se um ldr e mostra-se o seu valor num lcd. Fiquei muito impressionado com a facilidade na programação, tendo em conta que não percebo nada de programação de arduinos e/ou pic's, mas tenho algumas questões que gostaria que me ajudassem neste meu longo caminho de programação de arduinos. Sendo assim a minha questão neste momento é: Será que à uma forma de atravez de um botão eu ter varios valores de varios sensores, como por exemplo, ldr's, sensores de temperatura, e coisas no genero, do tipo, como se fosse uma tecla de uma consola tactil em que ao carregar nesse botão ele fizesse "next" dentro de um leque de "menus" pré-programados?!?! A ideia é pura e simplesmente aprender mais um pouco das capacidades do arduino, e claro, ter mais conhecimentos deste mundo que tanto me fascina, mas como já disse, não pesco nada disto, mas pelo menos esforço-me para aprender, e deixem que lhes diga, já apredi bastante com todos vós e só de ler os tópicos do forum.

Para o moderador, queira desculpar se este não é o local indicado, sendo assim esteja à vontade para mudar de local caso assim o entenda.

Agora, deixo aqui o meu primeiro teste com o lcd a 4 bits e um ldr, nunca se sabe quem poderá percisar de uma coisa destas....
... se existo é porque insisto...

ricardo-reis

é pois..

o que tu queres fazer é um mini-sistema operativo.. chame-se-lhe assim.. e não é tão complicado kt isso, basta fazeres com k o teu programa, sp k carregas no botão execute a função seguinte.. e divides em funções todas as aplicações que queres dar ao programa, numa fazes a leitura e escrita da temperatura, na outra do ldr, etc, etc..

tr3s

Se podes fazer? Claro que podes! :D

Olha este video que fiz em que além de ver as horas dum RTC num chip externo, peço a temperatura a outro chip e ainda vou sacar os gráficos a outro chip (uma EEPROM)!

http://www.youtube.com/watch?v=mdaxHiRkgGE
Tr3s
Daniel Gonçalves

metRo_

Que rtc usas-te? Eu mandei vir da maxim um ds1337+ mas ainda não testei, não tenho o cristal, aqui nas lojas da redondeza não encontrei :(

tr3s

Usei o ds1307, estou a preparar um tutorial que pretendo por ainda hoje aqui no fórum e que já devia estar cá há um mês pelo menos... :P

O cristal realmente não conseguia encontrar em nenhuma loja... mas já disse por aí algures num tópico onde encontrei o meu. Foi num daqueles relógios de brindes dos chineses, que fazem tudo menos funcionar. ;)
Tr3s
Daniel Gonçalves

TigPT

Vai na volta, sai mais barato comprar um relógio desses para tirar o cristal e a pilha do que comprar o cristal :P

ruisilva

Obrigado pelas vossas respostas... assim já dá para começar a queimar mais neurónios. Vamos lá a ver se me entendo com isto, não sei como fazer para dividir o programa em funções, mas vou tentar e depois digo-vos mais alguma coisa.

Muito obrigado pelo tempo dispendido a todos.
... se existo é porque insisto...

TigPT

Quote from: ruisilva on 11 de March de 2009, 19:08
Obrigado pelas vossas respostas... assim já dá para começar a queimar mais neurónios. Vamos lá a ver se me entendo com isto, não sei como fazer para dividir o programa em funções, mas vou tentar e depois digo-vos mais alguma coisa.

Muito obrigado pelo tempo dispendido a todos.
Posta que nós ajudamos-te, entretanto vou ver se consigo dedicar 1 horinha ao smalluino v2

ruisilva

Bem.... Após alguns testes, dos quais não obtive resultados, e ainda fiquei mais baralhado, porque sinceramente, não estou a ver como fazer isto das funções, sinto-me desmotivado, e sendo assim venho pedir o vosso auxilio, com um pequeno exemplo para que eu me possa guiar dentro deste assunto.
Desde já quero agradecer toda a ajuda que me possam prestar, muito sinceramente.
... se existo é porque insisto...

TigPT

void loop() {
  if (lerDistancia() < MAX_DIST){
    digitalWrite(led1,HIGH);
    digitalWrite(led2,HIGH);
    digitalWrite(led3,HIGH);
    frente(1);
  }else{
    parado(1);
    stopSound();
    procura();
  }
}

int lerDistancia(){
  return analogRead(sensor); 
}

void procura(){
  direita(2);
  if (lerDistancia() < MAX_DIST)
    return;
  else{
    parado(1);   
    stopSound();
    esquerda(4);
    if(lerDistancia() < MAX_DIST)
      return;
    else
      esquerda(1);
  }
}

Tenta-te inspirar ;)

É apenas um excerto.

ruisilva

ehheheh... é isso mesmo que tento fazer...
Normalmente, basta-me um empurram que as coisas funcionam, mas nem sempre é assim como devem calcular, pelo menos para quem não pesca mesmo nada de programação, como C, C++, assembler, e coisas assim do genero.
Só tenho conhecimento das coisas, por que tenho lido muito sobre muitos assuntos em que se fala disto, mas de resto não passo de um "hobbista", neste mundo da electronica e robotica, mesmo tendo um trabalho que exige muito destes conhecimentos, continuo em constante aprendizagem, dai  eu costumar dizer: ...se existo é porque insisto...

Muito obrigado pelo tempo dispençado e pela ajuda....

Depois de queimar mais alguns, mas poucos, neurónios, vos direi os meus resultados....
... se existo é porque insisto...

tr3s

Força nisso e nao fiques desmotivado! Ao minimo contratempo a comunidade estará sempre pronta para te ajudar! :D :D
Tr3s
Daniel Gonçalves

ruisilva

Bem... Nem sei como vos dizer isto mas, não consigo perceber como funciona esta coisa. Já dei voltas e voltas á minha massa cinzenta e não consigo mesmo perceber como fazer isto... que raio de coisa. Será que algum do vós me poderá dar mais informação ou até mesmo um simples exemplo a ver se eu precebo melhor como se faz isto?!?!?!  Digo-vos, se fosse para um autómato da Omron ou da Siemens, ui, ui, isso já estava mais do que feito, agora para o Arduino.....
que infelicidade não saber programar e não ter pudido estudar.... mas enfim. Nem sempre temos tudo o que queremos na vida.
... se existo é porque insisto...

ricardo-reis

diz o que é que queres fazer, sucintamente, pra ver o que se pode fazer..

ruisilva

ricardo-reis
A ideia era ter um lcd, varios sensores, como por exemplo, um ldr para a claridade, um lm35 para a temperatura, e outras coisas do genero que iriam mostrar os seus valores nesse lcd quando alguem carrega-se num botao, tipo a tecla de "next " de uma consola tactil. Futuramente tinha em ideia de desenvolver mais o sistema e poder-se alterar valores com botoes como por exemplo tecla (+) para aumentar, tecla (-) para diminuir e tecla (enter) para confirmar esses valores alterados, mas não sei como posso fazer com que, só com uma tecla se mostre varios "ecrãns" pré-programados.
... se existo é porque insisto...