Arduino
2
Introdução O que é o Arduino ? Arduino é uma plataforma de desenvolvimento de hardware programável que possui um chip Atmel AVR, o qual pode variar dependendo do modelo do Arduino (podendo nos casos mais comuns ser o ATmega328 ou ATmega168). Através de um conversor USB Serial o qual veio implementado na placa é possível se interagir com o meio e fazer a gravação do programa no mesmo. Um típico Arduino é composto de pinos de Entradas/Saídas podendo eles serem analógicos ou digitais os quais conseguem fornecer no máximo 40mA . Possui uma velocidade de processamento de 16Mhz no modelo UNO podendo mudar dependendo do modelo.
3
Linguagem de Programação IF if, que é usado juntamente com um operador de comparação, verifica quando uma condição é satisfeita, como por exemplo um input acima de um determinado valor. O formato para uma verificação if é: if (algumaVariavel > 50) { // faça alguma coisa } O programa checa se “algumaVariavel” (colocar acentos em nomes de variáveis não é uma boa idéia) é maior que 50. Se for, o programa realiza uma ação específica. Colocado de outra maneira se a sentença que está dentro dos parêntesis é verdadeira o código que está dentro das chaves roda; caso contrário o programa salta este bloco de código.
FOR A sentença for é utilizada para repetir um bloco de código delimitado por chaves. A sentença for é útil para qualquer operação repetitiva. Há três partes no cabeçalho do for: for (inicialização; condição; incremento) { //sentença(s); } A inicialização ocorre primeiro e apenas uma vez. Cada vez que o circuito é executado a condição é verificada; se for verdadeira o bloco de código e o incremento são executados, e então a condição é testada novamente. Quando a condição se torna falsa o circuito termina.
4
While “While” fará com que o bloco de código entre chaves se repita continua e indefinidamente até que a expressão ente parêntesis() se torne falsa. Algo tem que provocar uma mudança no valor da variável que está sendo verificada ou o código vai sempre ficar dando voltas dentro do while. Isto poderia ser o incremento de uma variável ou uma condição externa como o teste de um sensor. while(expressão) { // código }
Estruturas Estruturas de controle (if, else, break ...). Sintaxe básica (define, include...). Operadores aritméticos e de comparação(+, -, *, /, >>,<<...). Operadores Booleanos (||, &&, !...). Operadores aritméticos (++,--...).
Valores Tipos de dados (byte, int, char, float...). Conversões (char(), byte(), int()...).
5
Funções As funções são ferramentas com o intuito de direcionar e exemplificar as funcionalidades do microcontrolador. E já existem diversas funções prontas em bibliotecas que veem junto com o programa.
Exemplo de funções Digital: pinmode(), digitalwrite(), digitalread(). Analógico: analogReference(), analogwrite(). Tempo: millis(), micros(), delay(). Matemáticas: min(), max(), abs(), pow(). Números aleatórios: randomSeed(), random(). Interrupções: interrupts(), nointerrupts().
Algumas considerações O programa possuí duas funções indispensáveis, são elas: void setup(){} – Que é responsável por configurar o hardware do arduino inicialmente. void loop(){} – Função principal, responsável por rodar o programa repetidamente.
6
Principais recursos da IDE A IDE do Arduino conta com diversos programas de exemplos em que se é utilizado os mais diversos dispositivos externos. (Ex: Teclados, sensores, display, etc.). Além desses programas exemplos também é possível se utilizar as chamadas bibliotecas, que são programas pré estabelecidos que em se pode utilizar recursos prontos para facilitar o desenvolvimento de um software. Ela também conta com um aplicativo em que é possível se interagir com a placa através da usb do computador e seu conversor USB serial, esse aplicativo é conhecido como “Serial monitor”, ou monitor serial, que através de uma comunicação serial consegue se comunicar com o Arduino.
7
Novos dispositivos... Motores: Os motores podem ter dois tipos de alimentação, os de Corrente Alternada (AC) e os de Corrente Contínua (DC). Um motor de corrente contínua simples quando polarizado em um sentido apresenta uma rotação de eixo para um lado e quando polarizado em outro sentido há uma rotação ao contrário. Exemplos de motores DC é o presente no vidro elétrico de carro e em liquidificador.
Diversos tipos de motores de CC(Corrente contínua).
Sensores analógicos: Diferente dos sensores digitais que apresentam apenas duas informações (estados high e low), os sensores analógicos apresentam uma faixa de valores, podendo variar para cada tipo de sensor. Exemplos de sensores analógicos são os sensores de tempe-
8
Braço robótico: uma das principais características de um braço robótico é quanto à quantidade de articulações, ou seja, quantos movimentos ele pode executar. Para cada articulação do robô é necessário utilizar um motor a escolha ou necessidade. Outra característica é quanto ao tipo de articulação, ou seja, ela pode executar movimentos prismáticos (como os guindastes), circulatórios (como o movimento de cintura de uma pessoa). E a ultima característica essencial seria o tipo de garra ou dispositivo no final do braço, sendo assim podemos classificar os rabos como exploradores (utilizando de rodas e sensores), carregadores (com garras e ou qualquer outro dispositivo para segurar objetos) e ferramenteiros (que contem ferramentas em seu terminal como furadeira, maçarico, lâmina).
9
Quer mais informações!? Para um maior aprofundamento nos conceitos básicos apresentados, procure por sites sobre a utilização do Arduino, isso irá contribuir muito para a formação de novos conhecimentos com aplicações práticas! Dúvidas poderão ser encaminhadas aos tutores de vocês!
Lista de Sites interessantes (1) Arduino - site oficial, conceitos e materiais para download.
(2) Site com cursos básico e avançado sobre Arduino.
(3) Site do Laboratório de Garagem , com conceitos diversos sobre a utilização, com projetos e downloads.
10
Oficinas Tecnológicas para alunos do Ensino Médio
Prof. Dr. Leonardo Mesquita [email protected] Coordenador do Projeto
Prof. Dr. Galeno José de Sena [email protected]
Prof. Dr. Marco Aurélio Alvarenga Monteiro [email protected]
Prof. José Marcelo de A. Wendling Jr. [email protected]
Felipe Barbosa da Silva Ismael de Almeida Júnior Letícia Miranda de França Mota Renan Moura Santana Samuel José de Carvalho