Resultados 1 a 22 de 22

Tópico: Arduino for a 5-year old boy - H2O + Something

  1. #1
    Membro Identificado Avatar de Ricardo Pinto
    Data de Ingresso
    23-09-04
    Localização
    Porto - Matosinhos
    Idade
    37
    Posts
    1.515

    Arduino for a 5-year old boy - H2O + Something

    Viva ,

    O arduino é um fenómeno recente na comunidade de aquariofilia, mas tem dominado o "tempo de antena" da discussão de muitos tópicos neste e noutros fóruns.
    Pedi ao Hugo Figueiredo que escrevesse uma série de artigos sobre o Arduíno - como se fosse para uma criança de 5 anos entender (que é mais ou menos o equivalente aos meus conhecimentos de electrónica)

    Obrigado Hugo pelo excelente artigo. Fico ansiosamente à espera dos próximos.

    Texto e fotos: Hugo Figueiredo

    Um abraço,
    Ricardo Pinto





    Arduino for a 5-year old boy - Tudo o que sempre quis saber, mas teve vergonha de perguntar


    Por Hugo Figueiredo



    Nos últimos tempos a palavra Arduino tem-se vindo a massificar em fóruns de aquariofilia e será com certeza das palavras mais procuradas. Muitos deles criaram inclusive sub-fóruns próprios para o efeito. O que é afinal o Arduino e em que medida nos pode ajudar a manter e gerir aquários?!

    Num conjunto de artigos procuraremos responder a esta e outras questões relacionadas com o Arduino tentando sempre que possível apresentar casos práticos para comprovar a facilidade com que qualquer pessoa, mesmo uma criança de 5 anos, pode “trabalhar” com um Arduino.

    O que é o Arduino?

    O Arduino não é mais que um controlador/programador de baixo custo, programado através de uma linguagem universal C/C++ e com toneladas de informação e utilizadores em todo mundo. É baseado, como a maioria dos controladores em portas de entrada e saída que podem ser manipuladas consoante o projecto a realizar.

    A juntar a tudo isto temos ainda a sua real facilidade de comunicar com um vulgar computador via porta USB, que não só serve para a comunicação bidireccional entre PC e Arduino propriamente dita, mas também fornece a este corrente para realizar os mais diversos projectos sem necessidade de fontes de alimentação ou aparelhos mais sofisticados.

    Assim, um PC e uma Placa Arduino é tudo o que é necessário para começarmos o nosso projecto. Sem mais utensílios, sem mais aparelhos e sem soldaduras.

    O meu primeiro Arduino

    Muito bem, chegou a hora de adquirir um Arduino. Onde, como e o que comprar?
    Primeiro que tudo há que escolher que tipo de board (ver Fig. 2) se adequa melhor ao nosso projecto. Existem praticamente uma dezena de tipos de boards que podemos escolher, qual é então a diferença entre elas? Bem, a diferença é essencialmente no número de portas que se repercute depois no tamanho da board. Num exemplo prático podemos dizer que para controlar uma bóia de nível só precisamos de uma porta, pelo que uma board nano ou micro é suficiente.
    Já para um projecto de controlo de um aquário com iluminação, alimentação, bóias de nível, alertas SMS, etc possivelmente iremos precisar de uma board Mega. A principal diferença é mesmo a nível de portas e tamanho mas normalmente começa-se mesmo para original e maior, Arduino Mega!


    Fig.2 - Diferentes tipo de boards


    Escolhida a board, é preciso agora saber onde a comprar. O ebay é sempre um local acessível, rápido e fácil para “estas coisas”, há só que ter cuidado a quem/onde se compra porque há as boards originais e as imitações asiáticas. De referir apenas que as boards asiáticas são 100% compatíveis e em tudo iguais às originais, só que mais baratas…

    Normalmente e para quem quer começar a “brincar” com um Arduino existem os kits, que para lá da board em si, trazem um conjunto de componentes quer nos permitem interagir com o Arduino, tais como, leds de varias cores, resistências electrónicas, motores Step, infravermelhos, leitores de cartões, ecrãs, etc… É uma boa aposta para quem quer começar!

    Mas afinal em que é que um Arduino me pode ajudar na manutenção do meu aquário?

    A maneira mais fácil e simplista de responder a isto é: em tudo!!! E é verdade, porque as possibilidades são praticamente infinitas, mas vamos expor aqui alguns exemplos que serão depois aprofundados individualmente em artigos posteriores:

    Controlo da iluminação – Esqueçam os relógios temporizadores, o Arduino controla automaticamente a hora a que as luzes ligam/desligam. E sobretudo para quem use iluminação que possa ser “dimável” (permite regular a intensidade da luz) como T5/T8 ou leds, um Arduíno é de grande utilidade pois permite-nos escolher o horário em que queremos certa intensidade, podendo assim não só poupar energia como simular melhor as diversas intensidades do sol no habitat natural ao longo de um dia.

    Sistema de reposição de água – Com um conjunto de bóias de nível que custam meia dúzia de euros e uma bomba de baixo caudal, podemos montar um sistema de reposição de água totalmente automático.

    Sistema automático de trocas de água – Analogamente à reposição mas agora com uma bomba de mais caudal e, eventualmente, uma electroválvula.

    Arrefecimento/aquecimento – Com um simples termómetro digital, podemos por exemplo, fazer ligar/desligar ventoinhas para controlar a temperatura do aquário ou até mesmo da própria calha de iluminação. Com mais alguma tecnologia podemos registar a temperatura ao longo do dia para percebermos as flutuações existentes.

    PH/ORP/Salinidade – Com uma sonda de PH e/ou ORP e/ou Salinidade podemos não só monitorizar estes parâmetros, como registá-los numa base de dados para verificar flutuações.

    Controlo de bombas (ou 220V) – Ligar/desligar automaticamente bombas ou qualquer equipamento de 220V.

    Alertas - Bem aqui o limite é mesmo a nossa imaginação. Inundação, nível da água, temperatura, PH/ORP/salinidade, falta de electricidade no quadro, etc…

    Adição de elementos/comida – Controlo de bombas doseadoras, balling, adição de phytoplancton, etc..




    Esperamos com este artigo ter despertado a curiosidade e o interesse no mundo do Arduino, por isso não percam o próximo capítulo: Chegou o meu Arduino, e agora?



    Artigo original publicado em: Arduino for a 5 year old boy

    Não perca a continuação
    2ª Parte: Chegou o meu kit – E agora?
    Última edição por Ricardo Pinto; 24-10-11 às 21:22.

  2. #2
    Membro Veterano Avatar de Nuno Prazeres
    Data de Ingresso
    20-04-05
    Localização
    Lisboa
    Idade
    53
    Posts
    1.112

    Re: Arduino for a 5-year old boy - H2O + Something



    Excelente artigo!

    Parabéns ao autor e ao editor!!!

  3. #3
    Membro Identificado Avatar de Sérgio Jacinto
    Data de Ingresso
    21-11-10
    Localização
    Lisboa
    Idade
    42
    Posts
    332

    Re: Arduino for a 5-year old boy - H2O + Something

    Bom post!

    Vou seguir com interesse.

    Saudações
    Sérgio Magro Jacinto
    A experiência é obtida imediatamente depois de ter sido necessária.
    Family Aqua Fun

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

    Re: Arduino for a 5-year old boy - H2O + Something

    Hugo e Ricardo por acaso já tinha pensado num tópico deste género, mas ainda bem que começaste pois as tuas capacidades não só narrativas mas de escritor destas e quaisquer outras coisas estão a milhas das minhas ehhehe...



    Fico contente que o assunto demonstre realmente interesse em todos, pois vai ajudar muitos certamente e assim será tudo não só mais compreensível mas facilmente acessível a todos mesmo.

    Aguardo com expectativa o próximo episodio desta primeira "season" para esta bela saga.

    Para quando podemos descarregar o:

    Arduino.for.a.5-year.old.boy.S01E02.TXT ?
    Última edição por Baltasar Parreira; 12-09-11 às 00:05.
    ___________________________________________

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

  5. #5
    Membro Junior Avatar de Júlio San
    Data de Ingresso
    25-08-11
    Localização
    Alcobaça
    Idade
    50
    Posts
    16

    Re: Arduino for a 5-year old boy - H2O + Something

    Assim está bem, um paço a paço.
    Era mesmo o que eu pretendia saber, fico à espera dos próximos episódios.
    E se forem colocando as referências do material ainda fica melhor, estilo para fazer uma reposição de água, é preciso o artigo x, y e z.
    Fica muito grato por este artigo e em ânsias pelos próximos.
    "Uma jornada de duzentos quilómetros começa com um simples passo."

  6. #6
    Membro Identificado Avatar de Ricardo Pinto
    Data de Ingresso
    23-09-04
    Localização
    Porto - Matosinhos
    Idade
    37
    Posts
    1.515

    Re: Arduino for a 5-year old boy - H2O + Something

    Rui por acaso já tinha pensado num tópico deste género, mas ainda bem que começaste pois as tuas capacidades não só narrativas mas de escritor destas e quaisquer outras coisas estão a milhas das minhas ehhehe...
    Rui? Quem é o Rui?

    O autor deste texto é o Hugo Figueiredo. É para ele que devem endereçar todos os parabéns e elogios.

    Eu sou o puto de 5 anos

    Um abraço,

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

    Re: Arduino for a 5-year old boy - H2O + Something

    Citação Postado originalmente por Ricardo Pinto Ver Post
    Rui? Quem é o Rui?

    O autor deste texto é o Hugo Figueiredo. É para ele que devem endereçar todos os parabéns e elogios.

    Eu sou o puto de 5 anos

    Um abraço,

    Oppssss arghh copy pastes é o que dá ehehhe, mas já está corrigido... sorrryyyyy
    ___________________________________________

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

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

    Re: Arduino for a 5-year old boy - H2O + Something

    Excelente Hugo, continua!!

    Deixo já agora uma sugestão.

    Como foi dito pelo Ricardo e mt bem, este assunto gera mt interesse.

    Não seria altura de criar um espaço para o Arduino?

    Este podia mt bem ser o 1º post e até um sticky da secção!

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

    Re: Arduino for a 5-year old boy - H2O + Something

    Obrigado malta!

    confesso que fiquei um pouco surpreso pelo convite do Ricardo para escrever sobre o Arduino, afinal pessoas que percebem mais de arduino que eu há aos pontapés aqui mesmo no forum, mas depois de falar com ele percebi a ideia.

    E a ideia é começar das bases (como eu comecei há poucos meses) e não se cair no risco de ser "viciado" pelo domínio do assunto, saltando etapas que são tão simples que um verdadeiro entendido (que não é o meu caso)julgaria desnecessárias.

    Eu tive um professor de programação (Pascal ou C, já não me recordo) no 10º ano que me disse uma coisa que me ficou para o resto da vida:
    "Um manual deve servir para que uma pessoa que não percebe nada de programação, nem nunca abriu um computador, consiga trabalhar no programa!"

    E aqui é um pouco essa a ideia! No final, o objectivo é que com todos os artigos, alguém que nunca sequer ouviu falar em Arduino, consiga perceber como fazer, por isso aos verdadeiros entendidos nisto do Arduino, desculpem alguma linguagem mais banal, e simplista, mas no início também tive essa dificuldade de encontrar informação sobre as bases...

    Isto é mesmo para uma criança de 5 anos!!!

  10. #10
    Membro Identificado Avatar de Ricardo Pinto
    Data de Ingresso
    23-09-04
    Localização
    Porto - Matosinhos
    Idade
    37
    Posts
    1.515

    Re: Arduino for a 5-year old boy - H2O + Something

    E a ideia é começar das bases (como eu comecei há poucos meses) e não se cair no risco de ser "viciado" pelo domínio do assunto, saltando etapas que são tão simples que um verdadeiro entendido (que não é o meu caso)julgaria desnecessárias.
    Confirmo! Desafiei o Hugo a escrever sobre o Arduino porque reparei que provavelmente ele sentiu as mesmas dificuldades que qualquer um de nós sente a tentar acompanhar os tópicos sobre o Arduino. Portanto, pareceu-me a pessoa ideal para escrever sobre isto. Igualmente, o facto de ter conhecido o Hugo pessoalmente facilitou a minha escolha.

    Mas a ideia deste tópico é enriquecer este artigo com os conhecimentos e dúvidas de toda a gente.

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

    Re: Arduino for a 5-year old boy - H2O + Something

    E isso tem toda a lógica.

    Quem mexe já com o arduino à algum tempo vai ter tendencia em omitir factos que como tu dizes, para ele já são banais.

    Tu, embora percebas de programação, tás a começar agora a mexer no arduino e é a altura ideal para ires documentando as tuas descobertas e progressos.

    Da minha parte, se alguma vez precisares de ajuda em alguma coisa diz.

    Abraço

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

    Re: Arduino for a 5-year old boy - H2O + Something

    Da minha parte, se alguma vez precisares de ajuda em alguma coisa diz.
    Da tua e de todos!

    Obrigado!

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

    Re: Arduino for a 5-year old boy - H2O + Something

    Boa tarde



    Este tópico, NMHO deveria ser trancado a comentários...
    Já se viu que tem e terá participação.
    A participação de todos nós, penso que será parasitária, pois parece-me que a ideia base da criação deste tópico irá ficar desvirtuada...

    Eu sugeria, que de alguma forma, todos os comentários fossem colocados num sub-post (um post Filho) deste post... deixando o post Pai disponível e livre (limpo) para todos aqueles que o querem consultar.
    Assim sendo, sugeria que todos os posts já aqui colocados fosse de alguma forma transferidos.

    Caso contrário, toda e qualquer consulta será muito mais difícil.

    Espero que me tenha feito conseguir entender.

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

  14. #14
    Membro Identificado Avatar de Luis Santos
    Data de Ingresso
    06-03-06
    Localização
    rio de mouro
    Posts
    499

    Re: Arduino for a 5-year old boy - H2O + Something

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



    Este tópico, NMHO deveria ser trancado a comentários...
    Já se viu que tem e terá participação.
    A participação de todos nós, penso que será parasitária, pois parece-me que a ideia base da criação deste tópico irá ficar desvirtuada...

    Eu sugeria, que de alguma forma, todos os comentários fossem colocados num sub-post (um post Filho) deste post... deixando o post Pai disponível e livre (limpo) para todos aqueles que o querem consultar.
    Assim sendo, sugeria que todos os posts já aqui colocados fosse de alguma forma transferidos.

    Caso contrário, toda e qualquer consulta será muito mais difícil.

    Espero que me tenha feito conseguir entender.

    Abraço
    Pedro Ferrer
    Concordo,para o topico não ficar uma salganhada de grelos .
    Casoo um dia avance com o arduino irá ser mais facil .
    espero que seja bem ilustrado para facil compreenção de burros como eu .

  15. #15
    Membro Junior
    Data de Ingresso
    20-05-11
    Localização
    Odivelas
    Posts
    11

    Re: Arduino for a 5-year old boy - H2O + Something

    Boa tarde,

    Primeiro de tudo desculpem ser mais uma.

    Este topico é mesmo para mim
    Vou seguir com atenção, para ver se aprendo alguma coisa

    Concordo com o Pedro Ferrer.

    Cumprimentos

  16. #16
    Membro Identificado Avatar de Ricardo Pinto
    Data de Ingresso
    23-09-04
    Localização
    Porto - Matosinhos
    Idade
    37
    Posts
    1.515

    Re: Arduino for a 5-year old boy - H2O + Something

    Este tópico, NMHO deveria ser trancado a comentários...
    Já se viu que tem e terá participação.
    A participação de todos nós, penso que será parasitária, pois parece-me que a ideia base da criação deste tópico irá ficar desvirtuada...
    Concordo e não concordo. Percebo o teu ponto de vista. É de facto uma chatice quando tópicos bons ficam cheios de comentários estúpidos, em que nada têm a ver com o assunto principal - como este meu comentário agora

    E que tal esta ideia... Como tenho acesso ao 1º post, posso fazer tipo um índice. Quando se colocar o 2º artigo, eu coloco um link directo no 1º post. Facilitaria a consulta e quem tivesse dúvidas ou quiser acrescentar alguma coisa pode "parasitar" o tópico à vontade.

  17. #17
    Membro Junior
    Data de Ingresso
    20-05-11
    Localização
    Odivelas
    Posts
    11

    Re: Arduino for a 5-year old boy - H2O + Something

    Parasitando

    Grande Ricardo estas lá

    Aguardando aqui deste lado o puto pelo segundo artigo.

    Citação Postado originalmente por Ricardo Pinto Ver Post
    Concordo e não concordo. Percebo o teu ponto de vista. É de facto uma chatice quando tópicos bons ficam cheios de comentários estúpidos, em que nada têm a ver com o assunto principal - como este meu comentário agora

    E que tal esta ideia... Como tenho acesso ao 1º post, posso fazer tipo um índice. Quando se colocar o 2º artigo, eu coloco um link directo no 1º post. Facilitaria a consulta e quem tivesse dúvidas ou quiser acrescentar alguma coisa pode "parasitar" o tópico à vontade.

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

    Re: Arduino for a 5-year old boy - H2O + Something

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



    Este tópico, NMHO deveria ser trancado a comentários...
    Já se viu que tem e terá participação.
    A participação de todos nós, penso que será parasitária, pois parece-me que a ideia base da criação deste tópico irá ficar desvirtuada...

    Eu sugeria, que de alguma forma, todos os comentários fossem colocados num sub-post (um post Filho) deste post... deixando o post Pai disponível e livre (limpo) para todos aqueles que o querem consultar.
    Assim sendo, sugeria que todos os posts já aqui colocados fosse de alguma forma transferidos.

    Caso contrário, toda e qualquer consulta será muito mais difícil.

    Espero que me tenha feito conseguir entender.

    Abraço
    Pedro Ferrer
    Pois é um pau de 2 bicos, como se costuma dizer.

    Por um lado é importante que se mantenha a informação junta, indexada e de fácil procura e acesso, por outro é igualmente importante que haja discussão, ideias, projectos, etc...

    Acho que indexando os artigos se consegue um bom compromisso entre os 2 bicos

  19. #19
    Membro Identificado Avatar de Ricardo Pinto
    Data de Ingresso
    23-09-04
    Localização
    Porto - Matosinhos
    Idade
    37
    Posts
    1.515

    Re: Arduino for a 5-year old boy - H2O + Something

    Está disponível a 2ª parte do artigo "Arduino for a 5 year old", escrito pelo Hugo Figueiredo.

    Arduino for a 5 year old boy Part II - H2O + Something



    O Hugo tem escrito estes artigos de uma forma magistral e até eu (um ignorante nestas coisas) começo a ficar tentado em mandar vir um Kit para mim.

    Muito brevemente vou publicar a versão portuguesa aqui neste tópico e indexando ao 1º post. Só me falta descobrir como inserir o código num post. Como vocês fazem? Inserem o código dentro do (Quote)?

    Um abraço

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

    Re: Arduino for a 5-year old boy - H2O + Something

    Pois o vBulletin suporta uma tag para isso penso ser a "code" que dá muito jeito pois mantém o código identado e não o desformata.

    Já tentei procurar aqui mas parece estar desactivada, pois para alem de não aparecer nos icons do editor, mesmo metendo manualmente não surte qualquer efeito, talvez pedindo a administração se podem ligar isso?
    Agora com a versão nova até poderá ser mais simples ehehhe...
    ___________________________________________

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

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

    Re: Arduino for a 5-year old boy - H2O + Something

    Pois já tinha reparado que não temos a tag Code, mas usa a quote, que o efeito é idêntico, digo eu!

  22. #22
    Membro Identificado Avatar de Ricardo Pinto
    Data de Ingresso
    23-09-04
    Localização
    Porto - Matosinhos
    Idade
    37
    Posts
    1.515

    Re: Arduino for a 5-year old boy - H2O + Something

    PARTE II Chegou o meu kit – E agora?
    Por Hugo Figueiredo

    O meu primeiro Arduino
    Muito bem, mesmo não percebendo nada de electrónica, decidiste arriscar e compraste um “Arduino Starter KIT”. E agora?
    Bom, antes de mais há que referir que existem imensos kits, com mais ou menos funcionalidades, mais ou menos potencial e mais ou menos “gadgets” que podem interessar para o controlo e manutenção de um aquário. Vamos por isso abordar um kit básico onde não pode faltar, para lá da board Arduino, claro está, pelo menos mais estes 6 componentes:




    Estes são os componentes ideias e básicos para quem quer começar a “brincar” com um Arduino, sobretudo se não percebe muito de electrónica (como é o meu caso).

    Muito bem! Temos o Arduino, temos os componentes, vamos agora preparar o PC para poder comunicar com o “isto tudo”.

    No site do projecto (www.arduino.cc), para lá da imensidão de informação interessante e importante, podemos fazer o download do driver - http://arduino.cc/en/Main/Software - e instalá-lo no PC.

    Estando o driver instalado é necessário instalar igualmente o programa que nos irá permitir interagir com o Arduino via porta USB, que pode ser descarregado no mesmo link do driver referido em cima.

    O meu primeiro programa

    Driver instalado!!! IDE instalado!!! Vamos então começar a desenvolver o nosso primeiro programa…
    O interface do programa é muito simples e intuitivo (Fig.1) e com poucos minutos de manuseamento desaparecem grande parte das dúvidas.


    Fig.1

    Tudo o que precisamos está na barra de menus superior, onde os botões mais importantes são:




    Em todos estes tipos de aplicação, e quem está mais por dentro de programação sabe que isto acontece sempre independentemente da linguagem utilizada, há sempre aquele primeiro teste para vermos se o básico está a funcionar. O conhecido “Hello World”. Neste caso do Arduino o “Hello World” é fazer piscar um led. Há duas formas de o fazer, ou usando um dos leds que vem com o kit, ou mais facilmente usando um led que já vem embutido na placa, mais precisamente no pin13.

    O próprio IDE tem bastantes exemplos de código para diversas funções entre os quais um para este efeito, mas basicamente o código para fazer piscar o led embutido na placa é:


    /*
    Blink

    Este código faz piscar um led.
    Usando o pin13 do Arduino podemos usar o led que vem embutido
    na placa.

    */


    int ledPin = 13; // LED embutido no pin13

    void setup() // Exceuta uma única vez
    {
    pinMode(ledPin, OUTPUT); // Configura o pin para saída (OUTPUT)
    }


    void loop() // Executa continuamente
    {
    digitalWrite(ledPin, HIGH); // Liga o LED
    delay(1000); // Espera 1 segundo
    digitalWrite(ledPin, LOW); // desliga o LED
    delay(1000); // Espera 1 segundo
    }


    Tudo o que temos de fazer para testar o código é fazer o upload (clicando no botão descrito em cima) para o Arduino e ver o led a piscar.

    Funcionou?
    Perfeito, conseguiste fazer piscar um led, e o que parecia no início deste processo um “bicho de sete cabeças”, é agora encarado como “até simples” e abre portas para o futuro (e já agora para a imaginação também).

    Como está estruturado o código do Arduino

    Como se pode confirmar pelo código acima, fazer piscar um led pode parecer de início uma tarefa praticamente impossível, sobretudo para quem nunca lidou com programação, mas depressa percebemos que afinal não é assim tão complexo. Vamos então “descascar” o código e perceber como se estrutura um código para o Arduino.

    O(s) Comentário(s)


    O código começa por um comentário:

    /*
    Blink

    Este código faz piscar um led.
    Usando o pin13 do Arduino podemos usar o led que vem embutido
    na placa.

    */
    Basicamente a ideia é explicitar o que este código faz, bem como fazer referência a particularidades do próprio código. Quem não está muito habituado a programar pode não achar importante mas quem programa todos os dias como eu, sabe que muitas vezes um bom comentário poupa horas de trabalho e de chatices, pelo que na programação, e em relação aos comentários há sempre uma regra a ter em mente e aplicar:

    Comentários nunca são de mais


    Uma pessoa que nunca viu programação à frente, deve ler os comentários e conseguir perceber o que o programa faz, mesmo não percebendo o código.
    Para fazer um comentário temos duas formas - ou como aparece no exemplo em cima abrindo com “/*” e fechando com “*/” ou se for apenas para comentar numa linha podemos usar também “//”.

    NOTA: É importante referir que um comentário é isso mesmo, ou seja, comenta o código, pelo que nada do que é escrito em comentário é usado pelo código.


    Definição de Variáveis/Constantes

    int ledPin = 13; // LED embutido no pin13
    É nesta área que devemos definir todas as variáveis, constantes, atribuições, procedimentos, funções, etc, que precisamos para o nosso código. Podemos dizer que se trata da área de atribuição/definição. Aqui não vamos ainda usar nada, apenas definir para poder usar mais tarde!

    Setup()

    void setup() // Exceuta uma única vez
    {
    pinMode(ledPin, OUTPUT); // Configura o pin para saída (OUTPUT)
    }
    Tudo o que estiver dentro da função Setup() é executado uma única vez, mal o código entra em funcionamento, pelo que dependendo do que queremos fazer, podemos usar esta área em conformidade. No nosso exemplo do led, é aqui que dizemos que o pin13 irá funcionar como pin de saída. Devemos colocar nesta área tudo aquilo que queremos que só execute uma vez e/ou tudo aquilo que não sofrerá alteração ao longo do código.

    Loop()

    void loop() // Executa continuamente
    {
    digitalWrite(ledPin, HIGH); // Liga o LED
    delay(1000); // Espera 1 segundo
    digitalWrite(ledPin, LOW); // desliga o LED
    delay(1000); // Espera 1 segundo
    }
    Já a função loop() é executada ininterrupta e continuamente, o que significa que chegando ao fim, volta ao início e assim sucessivamente. No nosso exemplo é aqui de dizemos para o led ligar/desligar, e é pela forma como esta função funciona que só o precisamos de fazer uma vez. Dizemos primeiro para ligar e depois para desligar e como a função está sempre em loop, o led está sempre a ligar/desligar.

    Resumindo e de forma mais simplista temos em qualquer código Arduino o seguinte:
    • Comentário Inicial
    • Área de Definição
    • Setup()
    • Loop()




    Breadboard



    Fig.2

    Este componente que vem com o kit, é de extrema importância e é normalmente utilizado na fase de testes e da montagem de circuitos, pois facilita-nos imenso o trabalho. Esta “placa” serve para fazermos ligações de forma simples sem termos de andar a soldar (e dessoldar muitas vezes). Uma breadboard e um jogo de fios de ligação são essenciais para qualquer projecto Arduino.

    Estas placas estão configuradas da seguinte forma:
    As duas colunas das extremidades (representadas por “+” e “-“ na Fig. 2) estão ligadas individualmente entre si, ou seja, toda a coluna está interligada.
    Já na parte de dentro é ao contrário, ou seja, são as linhas que estão ligadas entre si. Linha 1 de “a” a “e”, linha 1 de “f” a “j”, etc…
    Normalmente usam-se as colunas das extremidades para ligar Ground (GND) e Power (5v) (Fig. 3) e assim sempre que precisamos de algum dos 2 (e tipicamente precisamos para praticamente tudo) temos muitos furos disponíveis.


    Fig.3

    Com uma breadboard podemos ligar/desligar, testar, alterar com a facilidade de puxar ou colocar um fio, sem soldaduras, ou instrumentos mais complicados.

    Resistências
    Ora bem, antes de mais convém referir que não sou um entendido em electrónica (longe disso) e que ainda me faltam muitos termos técnicos para poder dizer que percebo sequer o básico, pelo que peço desculpa por algum termo electrónico menos bem empregue ou alguma gralha. Este tema das resistências será por ventura o mais longe que esta série de artigos irá a nível de electrónica. Parte-se do princípio que os conceitos básicos de electrónica estão entendidos, assim como está entendido que trabalhar com electrónica pode sempre ser perigoso, mesmo estando nós a falar de 5V (normalmente o que usamos no Arduino).
    Assim, temos apenas este tópico sobre resistências para tentar perceber o que são, para que servem e sobretudo, porque é que em quase tudo o que ligamos ao Arduino tem de ter uma resitência.
    Basicamente uma resistência serve para limitar a corrente eléctrica num determinado circuito.



    Porque temos então de limitar a corrente quando trabalhamos com um Arduino?

    Temos de o fazer porque o Arduino só aceita ou fornece 40mA, pelo que é através das resistências que temos de limitar a corrente do que ligamos ao Arduino para não haver sobre-carga. Confuso? Vamos a um exemplo prático - Uma bóia de nível, por exemplo!

    Se queremos ligar uma bóia de nível ao Arduino, temos de usar uma resistência para não exceder os 40mA (uma bóia tem bem mais). Olhando para a “famosa” lei de ohm temos:

    R(esistência) = V(oltagem) / A(mperagem) (R = U/I)

    Ora neste caso, sabemos que o Arduino tem de máximo 40mA e 5V (se alimentado pela porta usb do PC), mas não vale a pena trabalhar no limite, pelo que podemos fazer as contas a 20mA:

    5V/20mA = 0,25, ou 250 ohms

    Podemos então usar uma resistência próxima deste valor porque muitas vezes as contas não dão certas para resistências normalizadas pelo que temos de usar uma normalizada próximo do valor de cálculo.

    Para percebermos qual é o impacto da alteração de uma resistência, usamos a mesma lei de ohm e temos:

    A = V / R, ou, A = 5V / 270ohm = 0,0185A que são 18mA.

    Vejamos, por exemplo, se podemos usar uma resistência de 220ohm.

    5V/220ohm = 22.7mA, como o limite são os tais 40mA, como vimos, podemos igualmente usar uma resistência de 220ohm.

    Estes cálculos podem e devem ser feitos para qualquer componente que quisermos ligar ao Arduino, sempre tendo presente o limite de 40mA que o Arduino suporta.


    E assim damos por terminado mais um artigo. A partir do próximo vamos começar a entrar mais dentro do código e de exemplos práticos. Aproveitando este exemplo das bóias de nível que usámos para as resistências, vamos ver como montar um sistema de reposição de água e um de troca de água automática.

    Texto & Fotos: Hugo Figueiredo


    Ricardo Pinto: O meu muito obrigado ao Hugo Figueiredo por mais um artigo desta "saga". Parabéns, está muito bom!

Informações de Tópico

Utilizadores Navegando neste Tópico

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

Tópicos Similares

  1. Arduino - o Desafio
    Por Nuno Prazeres no fórum DIY - Faça Você Mesmo
    Respostas: 796
    Último Post: 11-07-14, 13:53
  2. Sarilhos Reef - 200x100x65
    Por Hugo Figueiredo no fórum SETUP´S de Aquarios
    Respostas: 488
    Último Post: 30-06-13, 13:37
  3. Calha 8x80W T5 Dim - Controlada com Arduino
    Por JoaoCAlves no fórum DIY - Faça Você Mesmo
    Respostas: 319
    Último Post: 19-11-12, 12:58
  4. Arduino LED Controller (soft para Beta Testers)
    Por Baltasar Parreira no fórum DIY - Faça Você Mesmo
    Respostas: 8
    Último Post: 16-11-11, 16:26
  5. 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

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
  •