Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Fundamentos de Programação: Introdução à Linguagem Arduino, Exercícios de Metodologia de Programação

exercicio usando arduino na plataforma do tinkercard

Tipologia: Exercícios

2022

Compartilhado em 02/10/2023

valeria-moraes-3
valeria-moraes-3 🇧🇷

2 documentos

1 / 20

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Fundamentos de Programação
Programação pode ser definida como o processo de projetar,
escrever, verificar e manter um código ou programa que comande
as ações de uma máquina, como computador, celular,
microcontrolador, entre outras.
Um código, programa ou sketch como são denominados os
códigos em Arduino, são compostos por um conjunto de
instruções sequenciais definido pelo programador que descrevem
as tarefas que a máquina deve realizar. Em outras palavras, para
que a máquina execute comandos específicos é necessário
elaborar um programa escrito contendo todas as instruções,
ordenadas sequencialmente, em uma linguagem de programação.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14

Pré-visualização parcial do texto

Baixe Fundamentos de Programação: Introdução à Linguagem Arduino e outras Exercícios em PDF para Metodologia de Programação, somente na Docsity!

Fundamentos de Programação

• Programação pode ser definida como o processo de projetar,

escrever, verificar e manter um código ou programa que comande

as ações de uma máquina, como computador, celular,

microcontrolador, entre outras.

• Um código, programa ou sketch – como são denominados os

códigos em Arduino, são compostos por um conjunto de

instruções sequenciais definido pelo programador que descrevem

as tarefas que a máquina deve realizar. Em outras palavras, para

que a máquina execute comandos específicos é necessário

elaborar um programa escrito contendo todas as instruções,

ordenadas sequencialmente, em uma linguagem de programação.

Estrutura básica de um Sketch

  • Todos os Sketch Arduino devem ter a estrutura composta pelas funções setup() e loop(), conforme ilustra o exemplo a seguir. 1 void setup() 2 { 3 Comando 1; 4 Comando 2; 5 ... 6 } 7 void loop() 8 { 9 Comando 3; 10 Comando 4; 11 ... 12 } A função setup() é executada apenas uma vez na inicialização do programa, e é nela que você deverá descrever as configurações e instruções gerais para preparar o programa antes que o loop principal seja executado. Em outras palavras, a função setup() é responsável pelas configurações iniciais da placa microcontroladora, tais como definições de pinos de entrada e saída, inicialização da comunicação serial, entre outras. A função loop() é a função principal do programa e é executada continuamente enquanto a placa microcontroladora estiver ligada. É nesta função que todos os comandos e operações deverão ser escritos.

A declaração de uma variável pode ser melhor entendida com o exemplo a seguir. Neste caso, declaramos uma variável com nome a do tipo int, uma variável com nome b do tipo float e uma variável de nome C do tipo char. Quando as variáveis são declaradas antes da função setup(), significa que elas são variáveis globais, que podem ser usada em todas ao longo de todo o programa. Por sua vez, as variáveis declaradas em funções específicas, como no loop(), são variáveis locais e só podem ser usadas dentro da sua função de origem. Para definir um valor inicial a variável utilizamos o comando de atribuição, representado pelo símbolo =. Desta forma, quando escrevemos int a = 10 ; estamos atribuindo o valor 10 a variável de nome a do tipo int. OBSERVAÇÕES:

  • O nome das variáveis deve seguir algumas regras: Devem iniciar com letras ou sublinhado _ e não podem ter nome idêntico a alguma das palavras reservadas pelo programa ou biblioteca;
  • Letras maiúsculas e minúsculas fazem diferença! Se o nome da variável definida for algo como, por exemplo, ledPin, não será a mesma coisa que LedPin ou LEDPIN;
  • O símbolo = tem o papel exclusivo de atribuição.
  • A igualdade matemática é representada pela dupla igualdade ==.

Funções

Funções são blocos de instruções que podem ser chamados em qualquer parte do seu Sketch. A principal motivação para o uso de funções em um programa é quando necessitamos executar a mesma ação várias vezes. Desta forma, a segmentação do código em funções permite a criação de trechos de código modulares que executam uma tarefa definida e retornam à área do código a partir da qual a função foi chamada. O uso de funções possui várias vantagens, entre elas:

  • As funções ajudam o programador a manter o sketch organizado;
  • As funções codificam uma ação em um só lugar, de forma que o trecho do código precise ser pensado e escrito apenas uma vez;
  • Reduz as chances de erros na modificação quando o código precisa ser alterado; Facilitam a reutilização de código em outros programas;
  • Tornam o código mais legível.
  • As duas funções principais na criação de um sketch no Arduino são void setup() e void loop(), mas existem algumas outras funções predefinidas para controlar uma placa microcontroladora, conforme mostra a Tabela
  • Além destas funções, você também pode transcrever suas próprias funções, que devem ser

escritas froa das funções setup() e loop(). A criação de uma função deve seguir a sintaxe

descrita abaixo:

Há dois tipos de função: As que não retornam nenhum valor e as que retornam algum valor

para a função onde está inserida. A função que não retornam nenhum valor são do tipo void.

As funções do tipo void não retorna nenhum valor para a função que a chamou, ou seja, as

ações executadas nessa função não retornam números, variáveis ou caracteres para a função

principal.

Por sua vez, as funções que retornam valor podem ser do tipo int, float, string, etc. Uma função do tipo int, por exemplo, retorna um valor inteiro para a função que a chamou. Existem duas formas de retorno de uma função, uma delas é quando o finalizador de função (}) é encontrado e a outra é usando a declaração return. A declaração return termina uma função e retorna um valor desejado. OBSERVAÇÕES:

  • Se a função retorna um valor é obrigatório que seja determinado o tipo de retorno, que pode ser um número inteiro, um caractere ou um número real;
  • As variáveis declaradas no parâmetro são variáveis de entrada, cujos tipos também devem ser especificados;
  • Barra dupla (//) pode ser utilizada para fazer um breve comentário em alguma linha do código. A função do comentário é deixar o código claro tanto para o programador quanto para outras pessoas. Os comentários são ignorados pelo compilador do código;
  • Também é possível comentar várias linhas do código, para isso você deve incluir os comandos /* na linha de início e */ ao final da linha que finaliza o trecho a ser comentado.

Observações

  • Usamos a diretiva #include quando desejamos incluir uma biblioteca externa ao nosso Sketch. Com isso, teremos acesso a um grande número de bibliotecas escritas especialmente para a linguagem Arduino;
  • Outra diretiva que será utilizada em nossos projetos é a #define, que permite dar um nome a um valor constate antes de o programa ser compilado.
  • Uma vantagem da utilização desta diretiva é que as variáveis definidas a partir dela não ocupam espaço na memória de programa do chip;
  • Instruções com #include e #define não são terminadas com ; (ponto e vírgula).

Operadores

Operadores aritméticos Os operadores aritméticos são as representações que utilizamos para realizar as operações básicas, como somar, subtrair, dividir, multiplicar, entre outras.

Operadores boleanos

Os operadores booleanos são utilizados para testes lógicos entre elementos em um teste condicional. Assim como os operadores de comparação, os operadores booleanos também retornam verdadeiro (true) e falso (false) conforme o resultado dos testes. Os operadores booleanos são: Operador E lógico O E lógico resulta em verdadeiro apenas se ambos os operandos forem verdadeiros. Representamos o E lógico com &&. Exemplo: Se quisermos verificar se um determinado valor de temperatura se encontra entre uma faixa de valores (entre 30 e 50ºC), podemos utilizar: Se temperatura >=30 && temperatura <= Se o valor encontrado de temperatura for maior ou igual a 30 e menor ou igual a 50 a condição será satisfeita, retornando verdadeiro (true).

Operador OU lógico O OU lógico resulta em verdadeiro se pelo menos um dos operadores for verdadeiro. Representamos o OU lógico com ||. Exemplo: Se quisermos verificar se o valor de temperatura é igual a pelo menos um valor determinado (30º C ou 50ºC), podemos utilizar: Se temperatura == 30 || temperatura == Neste caso, se o valor encontrado de temperatura for igual a 30 ou igual a 50 a condição será satisfeita, retornando verdadeiro (true). Operador NÂO lógico O NÃO logico resulta em verdadeiro se o operando for falso. Representamos o NÃO lógico com! Eemplo: se quisermos mudar o estado de uma variável x de verdadeiro para falso ou vice versa, podemos utilizar: !x Neste caso, se x for verdadeiro (true) o uso do Não lógico transformará seu estado para falso (false). De mesmo modo, se x for falso (false) o Não lógico transformará seu estado para verdadeiro (true).

Estruturas de controle de fluxo

As estruturas de controle são blocos de programação que analisam variáveis e decidem como o programa deve se comportar com base em parâmetros pré-definidos. Em outras palavras, a estrutura de controle de fluxo determina como o programa responderá diante de certas condições ou parâmetros. 5 / 1 2 / 2 0 2 3 S A M P L E F O O T E R T E X T 3 2

IF

IF

O comando if (se) é uma estrutura de controle de fluxo de seleção. Usamos esse comando para checar uma condição. Se a condição for satisfeita (verdadeiro) uma lista de instrução delimitada por {} (chaves) serão executadas. No entanto, se a condição não for satisfeita (falso) esta lista de instruções não será executada e o programa seguirá a sequência de comandos escritos depois do if. A sintaxe do comando if na programação Arduino é: 1 if (condição){ 2 Comando 1; 3 Comando 2; 4 ... }

For

O comando for (para) é uma estrutura de controle de fluxo de repetição. Este comando permite que certo trecho do código seja executado um determinado número de vezes. O comando for é útil para qualquer operação repetitiva e é usado frequentemente com vetores para operar em coleções de dados. A sintaxe do comando for é a seguinte: 1 for (inicialização; condição; incremento){ 2 Comando 1; 3 ... 4 } A inicialização ocorre primeiro e apenas uma vez. A cada repetição do loop, a condição é testada, se verdadeira o bloco de comandos e o incremento são executados. Por sua vez, quando a condição for falsa o loop termina.

SWITCH...CASE

Da mesma forma que o comando if, o comando switch...case (selecione...caso) é uma estrutura de controle de fluxo de seleção. Este comando permite especificar códigos diferentes para serem executados em várias condições, funcionando da seguinte maneira: um comando switch compara o valor de uma variável aos valores especificados nos comandos case. Quando um comando case é encontrado, cujo valor é igual ao da variável, o código para esse comando case é executado. A sintaxw do comando switch...case é a seguinte: switch (var){ case valor 1: comando 1; break; case valor 2: comando 2; break; default; comando 3; break; }