Você está na página 1de 5
ARDUINO ARDUINO - PROGRAMANDO | ESTRUTURADA OMMUNITY Ola Galera, Todos sabem que o arduino se basela em linguagem de C, logo, mesmo com a ajuda de uma IDE que dé um tremendo apoio, ainda se trata de um sistema de programacdo linha a linha, Ai que surge o problema, se voed programa um simples BLINK, uma tela simples esta otima, ‘mas digamos que vocé programe um sistema multi telas, com varios menus , opg8es, funcBes, configuragbes, etc. Levando vocé a centenas ou até milhares de linhas de codigo, E Al COMO ORGANIZAR ISSO ? COMO ACHAR ALGUMA COISA NESSA ENORME BAGUNGA ? Bem, esse tutorial vai ensinar duas coisas simples, que te ajudardo a programar em arduino de forma organizada e estruturada, principalmente se forem usadas conjuntamente, lessas duas coisas so: A criaco de funcSes e programar utilizando Abas na IDE. Sei que muita gente jé deve conhecer essas técnicas, mas muitas outras no, logo, esse tutorial é voltado pra elas, bom proveito: FUNGOES: Definigao: Criar fungdes é tornar 0 codigo em principio linear, em modules, tendo como foco principal tarefas que se repetem, dessa forma basta vocé chamar a funcio e nio digitar todo 0 codigo, e quando ele terminar, a ago prossegue de onde foram chamadas. Mao na mass: Criar uma fungdo € simples; Do lado de fora de uma das fungSes obrigatorias, setup & loop, digite comando VOID , seguida do nome da funcdo, que é qualquer nome criado por voeé, e finalizada por () e colocando os comando entre { }, Exemplo: void menuexemplot(}{ comando 1... comando2... comando3... } smenRDUINO depois é s6 chamar essa fungo dentro de outra como 0 void loop, © nome da funcio seguido de aspas(); COMMUNITY Exemplo: void loop(){ comando 1... menuexemplol(); comando 1... ? TRABALHANDO COM ABAS: Definigao: Trabalhar com Abas é dividir 0 codigo em partes, cada uma constante em um sketch, ‘mas que sSo vistos pela IDE como um codigo continuo, apesar de salvos em arquivo separados. Mao na mass: Na Ide do arduino vé até a setinha a direita da tela e clique nela, ira abrir um menu de opcées, clique em Nova Aba, se vocé estiver tentanto fazer isso em um exemplo pronto do arduino, ele pediré pare salvar antes, salve e refaca os passos. wosd sete) Uma barra amarela com uma caixa para vocé informar o nome da escreva o que desejar, mas lembre-se sem espacos, _é aceito Dé ok, @ veja que leg: uma nova aba aparecerd na IDE do arduino. Essa nova aba se comporta como uma continuacdo da tela anterior, porem, ela é salva em um arquivo diferente, wre ES Sah Fermi Aue ARDUINO COMMUNITY JUNTANDO AS DUAS TECNICAS: Definica Juntando a criagSo de fungdes com a abertura de abas, vocé poderd passar a ter um codigo muito mais organizado e até economizar espaco no limitado 32k do arduino, visto que ages que s8o repetidas em seu codigo, podem e devem virar fugdes e serem epenas chamadas quando preciso. Mao na mass ‘Como exemplo, irei criar um codigo BLINK especial, usarei isso pra no precisar utilizar nada externo e assim facilitar 0 aprendizado desse tutorial por quem quiser, obvio que da pra escrever 0 codigo abaixo de varias formas, mas a forma proposta é com fins educacionais. Nesse codigo BLINK especial teremos inicialmente 0 LED piscando com intervalo de 1 segundo, seguindo de 3 acende apagas de meio segundo, e voltando para o 1 segundo que piscaré uma vez no final e outra ne reinicio, para isso abrimos duas novas abas, em uma eu coloquei 0 codigo para 1 segundo, na outra aba o codigo para meio segundo, dai toda a operacdo do void loop ficou na aba principal, veja como ficou organizado: Observer como o void loop ficou extremamente organizado, caso vocé deseje fazer alteragdes, ¢ sé irno lugar certo, agora imagine um codigo com varios menus? Ja pensou como vai ficar melhor assim? ARDUINO COMMUNITY ee en ‘igvo Edtar Sletch Ferranentas Ajuda ‘ketch_augt 0 ‘swt Lea = 137 oad eet) ( panllode (Led, OUTPUT) ) oad 100p) eigzeallfeice(led, HICK); deiay (2000): eigivalvcice (led, L detay(1000): dugieanweice (ted, ety (S00) 5 aigivanileice(ted, etay (500) eigutallfesce(led, seedy (300) cagavanilesce (ed, eday($00) eagatanvesee(led, 1 seedy ($00): asgavalibcs seedy (300) 5 cia (2000); Gigavalrive(Led, sey (1000); é Pra finalisar observe um detalhe, apesar de ser um codigo curto e ndo muito otimizado, mesmo assim 0 codigo estruturado ficou em 1.152 enquanto o mesmo codigo sem estruturacdo ficou com 1.260. Logo, com grandes codigos, essa técnica facilitaré demais os trabalhos, ¢ garantiré bytes praciosos de economina. Espero que tenham gostado.

Você também pode gostar