Programação Básica em Arduino Aula 2

Documentos relacionados
Programação Básica em Arduino Aula 2

Scaling Up Inclusion: Robotics, a STEM focused Project. Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel

Algoritmos: tipos de dados, variáveis e expressões

Programação Orientada a Objetos

Introdução à Linguagem C++

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

7 Operadores e Expressões

Programação Estruturada

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Análise de Programação

Programação em Linguagem C

Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

01/08/2011 PROGRAMAÇÃO EM LINGUAGEM C. Histórico

Puca Huachi Vaz Penna

Algoritmos II prof. Daniel Oliveira

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Linguagem C - Tipos de Dados. Lógica de Programação

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

ARDUINO BÁSICO E T A P A 1 O QUE É ARDUINO? Prof. Amadeu Zanon Neto

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Tipos Primitivos, estruturas de iteração e decisão.

Estrutura Básica da Linguagem Arduino

Conceitos básicos de programação

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Aula 4 - Operadores. Prof. Laura Silva de Assis. Engenharia de Computação 2 o Período

Operadores. Tipo de operadores. Aritméticos. Relacionais. Lógicos. Bit a bit. Cálculos aritméticos: soma, subtracção, multiplicação, divisão, etc.

C Operadores e Expressões

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Preparatório OBI. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula 01 Introdução a C++

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Programação Básica em Arduino Aula 8

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C

4. Constantes. Constantes pré-definidas

Algoritmos I Aula 13 Linguagem de Programação Java

Introdução à Computação MAC0110

Linguagem C Operadora

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Revisão C++ - Parte 1

Linguagem C Operadores

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

Engenharia Elétrica AAM. Professor: Marco Shawn Meireles Machado

Variáveis primitivas e Controle de fluxo

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Introdução a Linguagem C. Prof. Me. Hélio Esperidião

Estruturas de Dados. Módulo 2 Expressões. 9/8/2005 (c) Marco A. Casanova - PUC-Rio 1

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Oficina de Programação utilizando a plataforma Arduino

Introdução à Linguagem C Variáveis e Expressões

PIC - PROGRAMAÇÃO LINGUAGEM C. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

Elementos Básicos. C# - Elementos básicos. Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 2

Princípios de Desenvolvimento de Algoritmos MAC122

Processing Aula 2. Prof. Wallace Lages

Introdução a Programação de Jogos

TÉCNICO DE INFORMÁTICA - SISTEMAS

Linguagem C: Introdução

Programação Básica em Arduino Aula 5

ROBÓTICA 1 INTRODUÇÃO A PROGRAMAÇÃO NO ARDUINO

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Fluxogramas e variáveis

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Conceitos Básicos Linguagem C

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Estrutura de Condição. Professor Pedro

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Eletrônica e Programação em Arduino. Laboratório de Automação e Robótica Móvel

Linguagens de Programação I

Nomes de variáveis Todo nome de variável deve iniciar com uma letra ou sublinha _.

Oficina de Programação utilizando a plataforma Arduino

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Entrada de dados com botões

Revisão Linguagem C Parte 1

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

PHP: <?php echo("hello World");?> Printa Hello World na página do navegador, mais fácil do que no Java.

Programação de Computadores II Aula 03. Linguagem C I

Laboratório de Programação II

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ).

Cap. 2 Expressões na linguagem C

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Linguagem Java - Introdução

Projeto No. 11 Display de Leds de 7 Segmentos

Linguagem C para Microcontroladores

Curso de robótica 2. Novos conceitos de programação

Introdução à linguagem C++

1

Introdução. O que é o Arduino?

Aula 4: Introdução à Linguagem C++

Tópicos de hoje: Cap. 2 Expressões na linguagem C. Bits, Bytes e Palavras. Variáveis e Constantes. Números inteiros num Byte

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Transcrição:

Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel

Site: http://oficinaderobotica.ufsc.br/ Canal: Oficina de Robótica UFSC https://www.youtube.com/channel/uc4oojsp2fhfkdrnj0wd7iag 2

3

4

5

Inversão do sentido de giro: UFSC - Oficina de Robótica - @2013 6

A Ponte H é um circuito que permite a inversão do sentido de giro de um motor DC através da comutação de chaves eletrônicas. Pode ser implementada com chaves de contato, como push-buttons, ou transistores, que permitem o acionamento e inversão do sentido de giro de um motor através de sinais elétricos, sem a intervenção humana. UFSC - Oficina de Robótica - @2013 7

Todas as chaves abertas Motor parado. UFSC - Oficina de Robótica - @2013 8

S1-S3 fechadas e S2-S4 abertas Rotor gira em um sentido. UFSC - Oficina de Robótica - @2013 9

S2-S4 fechadas e S1-S3 abertas Rotor gira no sentido oposto ao anterior. UFSC - Oficina de Robótica - @2013 10

S1-S4 fechadas Essa configuração não deve ocorrer. *** CURTO CIRCUITO *** UFSC - Oficina de Robótica - @2013 11

S2-S3 fechadas Também não deve ocorrer. *** CURTO CIRCUITO *** UFSC - Oficina de Robótica - @2013 12

Todas as chaves fechadas Também não deve ocorrer. *** CURTO CIRCUITO *** UFSC - Oficina de Robótica - @2013 13

Exemplo Circuito de controle de sentido de giro de um motor DC com botões circuito Ponte H 14

15

Variáveis são lugares (posições) na memória principal que servem para armazenar dados. As variáveis são acessadas através de um identificador único. O conteúdo de uma variável pode variar ao longo do tempo durante a execução de um programa. Uma variável só pode armazenar um valor a cada instante. Um identificador para uma variável é formado por um ou mais caracteres, obedecendo a seguinte regra: o primeiro caractere deve, obrigatoriamente, ser uma letra. 16

ATENÇÃO!!! Um identificador de uma variável ou constante não pode ser formado por caracteres especiais ou palavras reservadas da linguagem. 17

Tipos de dados definem: A quantidade de memória que uma variável ou constante irá ocupar; As operações que podem ser executadas sobre uma variável ou constante de determinado tipo; A faixa de valores que uma variável ou constante pode armazenar; O modo como o valor armazenado será interpretado. 18

Tipos de Variáveis no Arduino Tipo Definição void boolean char unsigned char Indica tipo indefinido. Usado geralmente para informar que uma função não retorna nenhum valor. Os valores possíveis são true (1) e false (0). Ocupa um byte de memória. Ocupa um byte de memória. Pode ser uma letra ou um número. A faixa de valores válidos é de -128 a 127. O mesmo que o char, porém a faixa de valores válidos é de 0 a 255. byte Ocupa 8 bits de memória. A faixa de valores é de 0 a 255. int unsigned int Armazena números inteiros e ocupa 16 bits de memória ( 2bytes). A faixa de valores é de -32.768 a 32.767. O mesmo que o int, porém a faixa de valores válidos é de 0 a 65.535. word O mesmo que um unsigned int. 19

Tipos de Variáveis no Arduino Tipo long unsigned long short float double Definição Armazena números de até 32 bits (4 bytes). A faixa de valores é de -2.147.483.648 até 2.147.483.647. O mesmo que o long, porém a faixa de valores é de 0 até 4.294.967.295. Armazena número de até 16 bits (2 bytes). A faixa de valores é de -32.768 até 32.767. Armazena valores de ponto flutuante (com vírgula) e ocupa 32 bits (4 bytes) de memória. A faixa de valores é de -3.4028235E+38 até 3.4028235E+38 O mesmo que o float. 20

21

Em uma linguagem de programação existem vários operadores que permitem operações do tipo: Aritmética Relacional Lógica Composta 22

Operadores aritméticos Símbolo Função + Adição - Subtração * Multiplicação / Divisão % Módulo (resto da divisão inteira) 23

Operadores relacionais Símbolo > Maior < Menor >= Maior ou igual <= Menor ou igual == Igual!= Diferente Função 24

Operadores lógicos Símbolo && E (and) OU (or)! Não (not) Função 25

Operadores compostos Símbolo Função ++ Incremento -- Decremento += Adição com atribuição -= Subtração com atribuição *= Multiplicação com atribuição /= Divisão com atribuição 26

Operador de Atribuição A atribuição de valores a variáveis e constantes é feita com o uso do operador de atribuição (=). O operador de atribuição coloca o valor situado à sua direita dentro do objeto localizado à sua esquerda. Exemplos: int valor = 100; const float pi = 3.14; Atenção!!! O operador de atribuição não vale para o comando #define. 27

Em vários momentos em um programa precisamos verificar uma determinada condição afim de selecionar uma ação ou ações que serão executadas. Um comando de seleção também é conhecido por desvio condicional, ou seja, dada um condição, uma parte do programa é executada. Os comandos de seleção podem ser do tipo: Seleção simples Seleção composta Seleção de múltipla escolha 28

Seleção simples Um comando de seleção simples avalia uma condição, ou expressão, para executar uma ação ou conjunto de ações. No Arduino o comando de seleção simples é: if (expr) { cmd } onde: expr representa uma expressão a ser avaliada que pode ser do tipo lógica, relacional ou aritmética. O resultado da avaliação de uma expressão é sempre um valor lógico. cmd comando(s) a ser executado. 29

Seleção composta Um comando de seleção composta é complementar ao comando de seleção simples. O objetivo é executar um comando mesmo que a expressão avaliada pelo comando if (expr) retorne um valor falso. No Arduino o comando de seleção composta é: if (expr) { } cmd; else { } onde: cmd; expr representa uma expressão a ser avaliada que pode ser do tipo lógica, relacional ou aritmética. O resultado da avaliação de uma expressão é sempre um valor lógico. cmd comando(s) a ser executado. 30

Para a entrada de dados é utilizado: pinmode(pino, INPUT); E para a leitura é utilizado: digitalread(pino); Onde essa função irá retornar um valor de 0 ou 1 que pode ser testado diretamente no if ou então salvo em uma variável e depois testada a variável. 31

32

33

Leitura de um botão com resistor pull-down Ligação na protoboard Resistor pull-down 10kΩ 34

35

36

Nota O Arduino possui resistores pull-up nas portas digitais. Para ativar os resistores pull-up de uma porta digital basta defini-la como entrada e colocá-la em nível alto (HIGH). pinmode(pin, INPUT) digitalwrite(pin, HIGH) Para desativar os resistores pull-up de uma porta digital basta colocá-la em nível baixo. digitalwrite(pin, LOW) 37

Nota O Arduino possui uma constante chamada INPUT_PULLUP que define que a porta será de entrada e o resistor pull-up da mesma será ativado. Exemplo: void setup() { pinmode(10, INPUT_PULLUP); } Define a porta 10 como entrada de dados e ativa o resistor pull-up. 38

39

Ativando o pull-up de uma porta digital Ligação na protoboard 40

41

42

Semáforo para pedestres. Um semafóro comum que está sempre no verde. Ele terá mais 2 LEDs para o pedestre e um botão. Quando um pedestre pressionar o botão, o semáforo deve esperar 500 ms e depois deve passar do amarelo para o vermelho. O semáforo de pedestre deve ficar verde, contar 2 segundos e depois voltar a vermelho. Quando ficar vermelho, o semáforo da estrada deve apagar o vermelho e acender o verde.