Introdução ao arduino variáveis, condições e loops

7 Pages • 1,498 Words • PDF • 1.7 MB
Uploaded at 2021-09-24 11:28

This document was submitted by our user and they confirm that they have the consent to share it. Assuming that you are writer or own the copyright of this document, report to us by using this DMCA report button.


Introdução ao arduino: variáveis, condições e loops Curso de arduino e lógica de programação do Lab das Minas

1. Entendendo componentes do Arduino: botões O botão do Arduino (também chamado de chave push-button é utilizado como um interruptor para abrir ou fechar o circuito e, assim, permitir ou não a passagem de corrente. Nesse sentido, ele é um componente digital porque apresenta somente os estados LOW (botão pressionado) ou HIGH (não pressionado). Mas como devemos ligar o botão no circuito do Arduino se ele tem quatro perninhas? Nesse tipo de botão, as perninhas são conectadas em duplas e, entre as duplas existe uma quebra de conexão. Quando o botão não está pressionado, existe essa quebra e ela impede a corrente de passar. Já quando apertamos o botão, essa quebra se fecha e a corrente passa livremente. Por isso, devemos conectar o lado positivo e negativo do circuito em perninhas em lados opostos do botão, como + no A e - no D (ou o contrário), + no B e - no C (ou o contrário), + no A e - no C (ou ao contrário) e + no B e - no D (ou ao contrário)". Se ligássemos os lados positivo e negativo do circuito em perninhas do mesmo lado (A com B ou C com D) a corrente passaria sempre e o botão faria o papel de um fio condutor.

2. Exemplo de circuito com botão No circuito ao lado, podemos ver que o fio verde mais comprido sai da porta digital 9 do Arduino (esse seria o lado positivo do circuito) e se conecta na mesma coluna que uma perninha do botão. Na coluna de uma das perninhas opostas do botão conectamos o fio verde menor. O outro lado desse fio ligamos na linha onde está ligado o fio preto do ground (fio-terra), ou seja, o lado negativo do circuito. Assim, podemos imaginar que a corrente sai da porta 9 (positivo), se o botão estiver pressionado (circuito fechado), passa por ele e retorna pelo ground (negativo). Se o botão estiver solto, a corrente não passa.

3. Programação: verificando condições Às vezes nos nossos programas precisamos fazer alguma coisa ​se outra coisa estiver acontecendo/for verdade. Para isso, existe o comando if (em inglês, “if” significa “se”). A sintaxe (lembra desse termo na oficina passada? Significa o modo de escrever um comando) para o if é a seguinte:

Devemos escrever “if”, seguido da condição que estamos verificando e o código que deve rodar se a condição for atendida ficará entre os “{ }” (chamados de chaves). Note que colocamos dois sinais de igual dentro dos parênteses. Isso indica para o código que estamos fazendo uma comparação. Também podemos querer especificar o que acontece caso nossa condição não seja atendida colocando o comando else (em inglês, “else” significa “se não”). A sintaxe funciona da mesma maneira mas sem precisar colocar a condição entre parênteses. O código que deve rodar nesse caso ficará entre os “{ }” (chamados de chaves) escritos após o else.

4. Exemplo de código com verificação de condições Desafio: queremos fazer um led acender quando apertamos um botão ou apagar se apertamos novamente Antes de olhar o código do Arduino, vamos pensar no pseudocódigo para esse problema! Configuração das portas da placa: Na porta 9 teremos o botão → input Na porta 7, led → output O código que vai ficar rodando: Se o botão estiver pressionado Se o led estiver aceso: Apague Se o led estiver apagado (caso contrário): Acenda Os pseudocódigos vão nos ajudar cada vez mais à medida que fazemos programas mais complexos. Tente entender o código que fizemos a partir desse pseudocódigo e, se não conseguir, leia a explicação:

Como nos códigos da oficina passada, começamos determinando se as portas onde estão conectados os componentes são inputs ou outputs. A porta 9 é a do botão e a 7 é a do led. Note que para o botão, não escrevermos “INPUT” mas sim “INPUT_PULLUP”. Na parte do loop, usamos o comando if para verificar se o que lemos na porta 9, ou seja, no botão ( digitalRead(9) ) é LOW, indicando que ele está pressionado. Se o botão estiver pressionado, verificamos se a porta 7, ou seja, o led, está HIGH, aceso (digitalRead(7) ). Caso esteja, apagamos ele usando o comando digitalWrite(7, LOW) e caso contrário (se ele estiver LOW, apagado), acendemos ele com digitalWrite(7, HIGH). 5. Programação: trabalhando com loops Outra possível necessidade dos programas é fazer alguma coisa ​enquanto outra coisa estiver acontecendo/for verdade. Para isso, existe o comando while (em inglês, “while” significa “enquanto”). A sintaxe para o if é a seguinte:

Devemos escrever “while”, seguido da condição que estamos verificando e o código que deve rodar enquanto a condição estiver sendo atendida ficará entre os “{ }” (chamados de chaves). Note que colocamos dois sinais de igual dentro dos parênteses. Isso indica para o código que estamos fazendo uma comparação.

6. Exemplo de código com loops Desafio:​ queremos fazer um led acender enquanto estivermos apertando o botão Antes de olhar o código do Arduino, vamos pensar no pseudocódigo para esse problema!

Configuração das portas da placa: Na porta 9 teremos o botão → input Na porta 7, led → output O código que vai ficar rodando: Enquanto o botão estiver pressionado Acenda o led Depois que soltar o botão: apague o led Baseado nessa ideia e no que vimos sobre o while, tente entender o código que fizemos a partir desse pseudocódigo e, se não conseguir, leia a explicação:

Como sempre, começamos determinando se as portas onde estão conectados os componentes são inputs ou outputs. A porta 9 é a do botão e a 7 é a do led. Note que para o botão, não escrevermos “INPUT” mas sim “INPUT_PULLUP). Na parte do loop, usamos o comando while para verificar se o que lemos na porta 9, ou seja, no botão ( digitalRead(9) ) é LOW, indicando que ele está pressionado. Se o botão estiver pressionado, acendemos o led, definindo ele como HIGH. Por último, queremos que o led apague novamente quando soltamos o botão, então definimos a porta do led como LOW, apagando ele. 7. Programação: o que são variáveis? Se observarmos os códigos dos dois desafios desse resumo podemos perceber que os números das portas que estamos usando para o led e o botão se repetem várias vezes. Mas isso pode ser um problema… Imagine que queremos usar esse mesmo código de acender led com botão em outro Arduino mas as portas 7 e 9 dele já estão ocupadas. Nesse caso, teríamos que usar outras portas e mudar o número da porta em várias linhas! E se o código tivesse 500 linhas? Daria um trabalhão!

Outro problema é que às vezes podemos esquecer qual porta está ligada a qual componente enquanto estamos lendo nosso código, principalmente se ele estiver usando várias portas diferentes. Para resolver esses e vários outros problemas, temos as variáveis! Uma variável é um espaço na memória que utilizamos mas guardar alguma informação que queremos usar em nosso programa. Podemos imaginar a variável como uma caixinha. Ela serve para guardar o que quisermos. Para manter a organização, o código do Arduino exige que a gente fale o tipo da variável, ou seja, informe o que vamos guardar na nossa “caixinha” (se é um número, um texto, etc) e dar um nome para ela. Assim, para declarar uma variável (informar para o programa que ela existe) precisamos informar o tipo dela, dar um nome para ela e indicar o que será armazenado nela depois do sinal de igual, dessa forma:

Com isso, acabamos de declarar uma variável chamada botao e outra chamada led. Elas são do tipo int, o que significa que nelas serão guardados apenas números inteiros. Depois do sinal de igual, salvamos valores nelas. Na variável botao salvamos o valor 9 que será a porta do botão no arduino e na variável led salvamos o valor 7 que será sua porta. É importante manter em mente também que elas chamam variáveis porque elas podem variar. Isso significa que podemos mudar o valor que estamos salvando nelas. Basta escrevermos o nome dela, seguida de um sinal de igual e o novo valor que ela irá assumir. O valor antigo será apagado e o novo valor ocupará seu lugar.

8. Como ficariam nossos códigos usando variáveis? Em nossos códigos de exemplo desse resumo, poderíamos declarar variáveis que guardassem as portas do led e do botão (que vimos que são duas informações que se repetem bastante). Para isso começamos o código informando que as variáveis serão do tipo int (porque vão guardar números inteiros) e dando nome para elas. Depois guardamos as portas do led e do botão em cada uma das variáveis. Note que depois, durante o resto do programa, ao invés de escrever “7” e “9” para ler e escrever nos componentes, estamos escrevendo “led” e “botao” porque eles são iguais à esses números.

Referências https://guiarobotica.com/push-button-arduino/ https://www.filipeflop.com/universidade/kit-maker-arduino/projeto-5-interruptor-de-luz/ https://qastack.com.br/electronics/67007/whats-the-difference-between-input-and-input-pullu p#:~:text=Isso%20%C3%A9%20funcional%20​(e%20eletricamente,a%20execu%C3%A7%C 3%A3o%20do%20seu%20programa. https://www.linkedin.com/pulse/o-segredo-do-push-button-na-montagem-sandro-mesquita?a rticleId=6625014814089494528 https://www.people.com.br/noticias/informatica/o-que-sao-variaveis-e-para-que-elas-servemna-programacao
Introdução ao arduino variáveis, condições e loops

Related documents

7 Pages • 1,498 Words • PDF • 1.7 MB

12 Pages • 2,142 Words • PDF • 439.1 KB

90 Pages • 8,986 Words • PDF • 3.8 MB

3 Pages • 50 Words • PDF • 323.9 KB

52 Pages • 4,060 Words • PDF • 4 MB

3,634 Pages • 1,120,666 Words • PDF • 20.5 MB

8 Pages • 1,287 Words • PDF • 1.1 MB

7 Pages • 457 Words • PDF • 732.3 KB

158 Pages • 4,097 Words • PDF • 8.7 MB

387 Pages • 153,099 Words • PDF • 27.5 MB

9 Pages • 870 Words • PDF • 530.8 KB