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 e- las: 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.
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. 7 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. E- xemplos de sensores analógicos são os sensores de tempe-
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). 8
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. <http://playground.arduino.cc//portugues/homepage> (2) Site com cursos básico e avançado sobre Arduino. <http://cesarbastos.wix.com/robotica#!arduino/c13u4> (3) Site do Laboratório de Garagem, com conceitos diversos sobre a utilização, com projetos e downloads. <http://www.labdegaragem.com.br/wiki/index.php? title=sobre_arduino>
10 Oficinas Tecnológicas para alunos do Ensino Médio Prof. Dr. Leonardo Mesquita mesquita@feg.unesp.br Coordenador do Projeto Prof. Dr. Galeno José de Sena gsena@feg.unesp.br Prof. Dr. Marco Aurélio Alvarenga Monteiro marco.aurelio@feg.unesp.br Prof. José Marcelo de A. Wendling Jr. jmarcelo@feg.unesp.br Felipe Barbosa da Silva Ismael de Almeida Júnior Letícia Miranda de França Mota Renan Moura Santana Samuel José de Carvalho