Arduino 101 O!cina para principiantes 1.3



Documentos relacionados
1.2. Professor: Luciano Ramalho

1.1. Professor: Luciano Ramalho

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega

ANEXO I. Medidas (Largura, Altura, Profundidade): 45 mm, 20 mm, 15 mm; Parafusos e porcas para fixação e espaçadores se necessário;

Conceitos Fundamentais de Eletrônica

ACENDENDO AS LUZES. Capitulo 2 - Aula 1 Livro: Arduino básico Tutor: Wivissom Fayvre

Eletrônica & Robótica open-source

Professor: Fernando Krein Pinheiro

Introdução ao Arduino. Pessanha Santos ASPOF EN-AEL

Minicurso de Arduino

Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações.

ARDUINO UNO Guia do Usuário

Acendendo as luzes. Projeto 1 LED piscante. Componentes necessários. capítulo 2. Protoboard. LED de 5 mm. Resistor de 100 ohms * Fios jumper

Minicurso de Arduino

Introdução do Arduino para aquisição de dados e controle de instrumentos

Aula 1: Programação com códigos. Roben Castagna Lunardi

Arduino Hack Day PROMOVA VOCÊ TAMBÉM UM ARDUINO HACK DAY!

O Laboratório de Garagem

Suporta os microcontroladores: R. Leonardo da Vinci, Campinas/SP CEP F.: (19) /

Tutorial de Eletrônica Aplicações com 555 v

Manual de Instruções. Touchlight Smart

Conteúdo deste Kit: E-6 uno

Comunicação Serial com o AVR ATMEGA8

1Manual do Program-ME... 6

Arduino. Wanderson Souza Professor de Robótica

Alarme Automotivo com mensagem para móvel utilizando Arduino

1 Utilizando o Protoboard

InteropMix Arduino e Internet das Coisas. Leandro Ramos Leonardo Toledo Robson Machado

Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina PR Brasil KDE50. Kit Didático de Eletrônica

Circuitos Lógicos. Aulas Práticas

TUTORIAL Arduino Nano

MONTAGEM E CONFIGURAÇÃO DE UMA PISTA/PISO DE LEDS

Hacking Class Controlando tomadas da sua casa via Internet

Calculando resistor limitador para LED.

Introdução. àeletrônica com Arduino. Felipe Nascimento Martins. VIII Jornada de Iniciação Científica, Desenvolvimento Tecnológico e Inovação do Ifes

Uma Introdução ao ARDUINO e suas Aplicações na Robótica. André F. Núñez

Simulação de Circuitos Microcontrolados com o Proteus

Viabilizado pela Organização do ERI MS; Apoiado pelo grupo ArduinoMS; Agradecimentos especiais ao do SENAC e UCDB.

Universidade Federal Fluminense UFF Escola de Engenharia TCE Curso de Engenharia de Telecomunicações TGT

Uma Fonte de Alimentação para a Bancada de Eletronica

Módulo de Desenvolvimento PIC16F877A

Robótica com Arduino CDI. Professor: Paulo Marcos Trentin

com tecnologia Bluetooth

Arduíno. Adriano Cruz. 16 de setembro de Adriano Cruz () Arduíno 16 de setembro de / 51

Manual Técnico Módulo Ponte H Dupla

Minicurso Arduino JACEE 2012

Interfaces para Instalações Interativas

Descarregador Bateria RX / TX. Funcionamento

Manual do instalador Box Output DC Rev Figura 01 Apresentação do Box Output DC.

Ficha 1. Conjunto de informação básica, essencial para utilizar sensores e actuadores.

// Arduino {? } Mais o que é?..

Introdução à Eletrónica II

Manual do instalador Box Input Rev Figura 01 Apresentação do Box Input.

Kit Laboratório de Robótica Escolar 411 PLUS

Medidor da temperatura local

Sistema de Detecção de Vazamento de Gás

Figura 01 Visão Geral da Placa

Kit de desenvolvimento ACEPIC 40N

ITSCAM ITSLUX/SUPERLUX GUIA DE INSTALAÇÃO RÁPIDA

Computador de Bordo. Jeep Willys CJ3B ELE 0622 Instrumentação Eletrônica Docente: Luciano Fontes Cavalcanti

Composição do MDK-Prog e MDK-Prog Plus

SUMÁRIO. Motivação Contextualização Objetivo Desenvolvimento. Aplicação Discussão Conclusão Perguntas. Hardware Software

RECONHECIMENTO DE VOZ UTILIZANDO ARDUINO

Microcontrolador Arduino: Aplicação em controle PI

Testador de cabos de rede

Programação em BASIC para o PIC Projetos com Display Gráfico Vitor Amadeu Souza

Guia de Instalação do ponto de acesso Powerline 500 Sem Fio XWN5001

Conheça o 4017 (ART062)

Arquitetura do Microcontrolador Atmega 328

Laboratório de Física Experimental I

Prá$cas Arduino. Manoel Neto

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

Programação Arduino Developer. Subtítulo

(21) (11) (21) Skype: cerne-tec MSN:

PIC18F4550. Curso Engenharia de Controle e Automação. Alex Vidigal Bastos alexvbh@gmail.com

Introdução a Robótica, do NXT ao Arduino

FICHA TÉCNICA DO PRODUTO

WiFiShield. Introdução

Projetos de Eletrônica Básica II

Hera Indústria de Equipamentos Eletrônicos LTDA Manual de Instalação e Operação DISCADORA VIA CELULAR. HERA HR Cel.

PdP. Autor: Luís Fernando Patsko Nível: Intermediário Criação: 22/05/2006 Última versão: 18/12/2006

Programação de Robótica: Modo Circuitos Programados - Avançado -

TÍTULO: BRAÇO MECÂNICO AUTOMATIZADO USANDO UM CONTROLADOR ARDUINO GUIADO POR UM SENSOR DE COR RGB

Mouse Magic Sem Fio. Manual do Usuário

DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO: PROJETO - CONTADORES ASSÍNCRONOS

Easy Lab. Manual do usuário Revisão /11/14. DMA Electronics 1

Manual. Coletor. Temperatura. Umidade

DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO:

3.1.6 Entradas digitais Quantidade: 8. Tipo: NPN / PNP conforme configuração, dividida em 2 grupos de 4 entradas. Impedância de entrada: 8.8KΩ.

Datasheet Componentes Eletrônicos

Projeto No. 11 Display de Leds de 7 Segmentos

3. CARACTERÍSTICAS TÉCNICAS

INTRODUÇÃO AO DESENVOLVIMENTO DE SISTEMAS COM MICROCONTROLADORES

BLOCKGAS. Sistema de Monitoração e Alarme de vazamento de gás SB330. Este módulo é parte integrante do sistema de detecção de gás SB330.

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ

EEL7011 Eletricidade Básica Aula 1

Laboratório de Processadores Confecção das PCIs

Leitor ATG25A-CT (Cabo Preto)

Transcrição:

Arduino 101 O!cina para principiantes 1.3

Agenda O que dá para fazer com Arduinos? Primeiro circuito: Blink Coding Dojo com Arduino ABCdE: ABC da Eletrônica Circuito semáforo Fechamento 2

Logística Tags: #arduino101 @ramalhoorg Workshop: 14 a 18h Localização dos banheiros Café, água etc. Intervalo 16h 3

Apresentações 4

Luciano Ramalho Instrutor e palestrante internacional especializado na linguagem Python 5

Luciano Ramalho Programador auto-didata desde 1978 BASIC, ASM Z-80, Pascal, C, C++, Smalltalk, Perl, Java, Python, Ruby... Formado em Biblioteconomia na ECA/USP O!cina de Programação e Arte (PSI-2615) na Poli/USP com Etienne Delacroix 6

Luciano Ramalho Dono e professor nas Oficinas Turing, escola virtual de Sócio-fundador do Garoa Hacker Clube computação oficinas Turing.com.br 7

Apresentem-se 5 minutos Descubra o nome, pro!ssão e hobbies de cada pessoa perto de você Pergunte e conte para seus vizinhos: porque se interessou pelo Arduino? já tem algum projeto em mente? 8

Censo Quem entende bem de eletrônica? Quem sabe um pouco de eletrônica? Quem entende bem de programação? Quem sabe um pouco de programação? 9

Censo Programação nada pouco muito nada 3 2 2 Eletrônica pouco 0 2 3 LR muito 0 1 0 10

O que dá para fazer com Arduinos? 11

RepRap 3D printer Open hardware Self-replicating!

Open hardware Open hardware: esquemas e software livres, componentes de prateleira ou fabricáveis em casa Arduino é open hardware: copiar é legal Uso da marca Arduino: sob licença

Arduino Lilypad Pisca-pisca biker

Projetos simples Microfone-bafômetro www.instructables.com/id/breathalyzer-microphone/ Pedal de guitarra www.instructables.com/id/lo-!-arduino-guitar-pedal/ Robô equilibrista (inspirado no Segway) hacknmod.com/hack/make-a-mini-segway-using-the-arduino/ Fotogra!a de alta velocidade hacknmod.com/hack/high-speed-photography-how-to-triggerusing-arduino/ Automação residencial www.makeuseof.com/tag/how-to-build-home-automation-systemraspberry-pi-and-arduino/ 15

Não por acaso, o logo é 16

Componentes 17

Um kit para começar Controlador 1! Placa compatível com Arduino UNO R3 1! Cabo USB AB Componentes de entrada 10! Push-button 6x6 mm 2! Potenciômetro 100kΩ 2! Sensores ópticos reflexivos 1! Sensor de luminosidade LDR 3mm 1! Sensor de temperatura LM35 Componentes básicos 1! Breadboard 830 pontos 1! Placa wire-wrap 5x7 cm 65! Jumpers macho/macho 3! Cabos 3 vias Dupont 20! Resistores 1kΩ 6! Diodos 1N4006 Componentes de saída 12! LEDs 5mm, 2 de cada cor! (verde, vermelho, amarelo,! laranja, azul e branco) 2! Relés 5v 1! Display 7 segmentos 3 dígitos 1! Micro-servo 9g SG90 TowerPro 1! Buzzer contínuo 18

Arduino Uno R3 Placa com microcontrolador ATmega328 e circuitos auxiliares interface USB (cliente) regulador de voltagem aceita 7-12V (recomendação) 19

Arduino: alimentação 5V via USB Externas: USB: 5V adaptador DC de 7 a 12V (não incluído) Vin e GND : 7 a 12V DC 7 a 12V DC GND, Vin 20

Arduino: alimentação Internas: 3.3 V e 5 V (+) GND: terra (-) Vin: direto da fonte externa 7 a 12 V (+) Pinos de alimentação 21

Pinos de entrada ou saída 14 pinos de entrada e saída digital: 0 a 13 6 deles com Pulse Width Modulation: PWM 6 pinos de entrada analógica: A0 a A5 22

Entradas saídas Componentes de entrada Entradas: chaves, sensores etc. 10! Push-button 6x6 mm 2! Potenciômetro 100kΩ 2! Sensores ópticos reflexivos 1! Sensor de luminosidade LDR 3mm 1! Sensor de temperatura LM35 Saídas: luzes, motores, mostradores, etc. Componentes de saída 12! LEDs 5mm, 2 de cada cor! (verde, vermelho, amarelo,! laranja, azul e branco) 2! Relés 5v 1! Display 7 segmentos 3 dígitos 1! Micro-servo 9g SG90 TowerPro 1! Buzzer contínuo 23

Breadboard Conhecido no Brasil como protoboard No kit: breadboard de 830 furos na foto: 400 furos 24

Esquema elétrico de um breadboard comum colunas numeradas linhas de alimentação 25

26

Note: cada componente se liga a duas ou mais colunas diferentes...ou conecta uma coluna a uma linha de alimentação

Teste: posso ligar assim? exemplos ao vivo... 28

LED: light-emitting diode Diodo emissor de luz Componente polarizado: tem direção certa para conectar 29

LED: light-emitting diode chanfro Pino + (mais longo) ligado na fonte Pino - ligado no terra Ligar com resistor em série para proteção 30

LED: circuito básico Resistor para limitar a corrente conforme especificação do LED 31

LED RGB 3 LEDs (vermelho, verde, azul) em um único componente não incluído no kit 32

Resistores Kit: 20 1K Ω 33

O que é um resistor Reduz a corrente Sem polaridade: pode ser montado em qualquer direção Valor em Ohms (Ω) Símbolos em esquemas: 34

Pequeno desvio para entender o resistor... 35

Tensão, corrente & resistência 36

Sentindo na pele Cap. 1, p. 5 37

Tensão Medida: Volt (V) Símbolo em fórmulas: V 9 V 38

Resistência Medida: Ohm (Ω) Símbolo em fórmulas: R 7mm de língua 330 Ω 39

Corrente Medida: Ampère (A) Símbolo em fórmulas: I 6.241 10 18 elétrons por segundo 9 V 330 Ω 0.027 A 27 ma 40

Exemplos de corrente Aparelho auditivo 0.7 ma 0.0007 A Carregador celular simples 500 ma 0.5 A Carregador tablet 2.1 A 2.1 A Torradeira (120V) 16 A 16 A Motor de arranque 120 A 120 A 41

Lei de Ohm V V = I R I R I = V / R R = V / I 42

Voltando ao resistor... 43

Resistor: código de cores 33 x 10 1 = 330 Ω 44

Resistor: código de cores 330Ω 5% de tolerância: de 313Ω a 346Ω 45

Resistor: valores padrão Série E12 da Norma IEC 60063 (para tolerância 10%) 46

Resistor: exemplos 330 Ω 1 kω 10 kω 1 MΩ 47

Escolher resistor para LED Na prática: para proteger um LED comum, em uma instalação provisória, um resistor de 500Ω costuma ser mais que su!ciente Para calcular o resistor ideal, use a lei de Ohm. Especi!camente: R = (tensao_fonte tensao_led) corrente_led

Termos da fórmula Tensão fonte: tensão no circuito, 5V no caso de porta digitais no Arduino UNO Tensão LED: tensão típica entre os pinos do LED, especi!cada como forward voltage, voltage drop ou forward supply Corrente LED: forward current, 20mA é um valor comum (20/1000 ou.02 na fórmula) R = (tensao_fonte tensao_led) corrente_led

Exemplo LED (green): fwd. voltage = 2.2V current = 20mA (3 2.2) R = = 40 20/1000 50

LED RGB 5mm RadioShack Tensão fonte Arduino UNO = 5V Tensão LED vermelho: 2V Corrente LED vermelho: 50mA Resistor ideal: 60Ω Resistor real: 68Ω (5 2) R = = 60 50/1000 51

Primeiro circuito 52

Primeiro circuito: blink 53

Pino mais longo (+) Pino 13 Primeiro Pino GND terra (-) circuito: blink 54

Primeiro circuito: blink

56

Programação 57

Arduino IDE Editor fácil, baseado no Processing, feito para artistas arduino.cc/en/main/software 58

Linguagem C++, com simpli!cações 59

Estrutura comentários 60

Estrutura comentários declaração de variável 61

Estrutura comentários declaração de variável definições de funções 62

Estrutura comentários declaração de variável definições de funções chamada de função 63

Sintaxe blocos de instruções delimitadas por {...} 64

Sintaxe editor assinala pares de chaves {...} 65

Sintaxe editor marca código com cores para ajudar na leitura e revisão 66

Dicas de sintaxe para C++ Cada vírgula conta, mas espaços não Maiúscula minúscula ex. Alfa alfa ALFA Todo comando termina com ; O editor assinala os pares de (), {} e [] 67

Lógica Arduino executa a função setup() uma vez após resetar 68

Lógica aqui o pino do led é configurado para saída 69

Lógica Arduino executa a função loop() repetidamente 70

Lógica digitalwrite serve para mudar o estado de um pino digital 71

Lógica Onde você mudaria o código para acionar um LED ligado ao pino 8? 72

Lógica Onde você mudaria o código para mudar a frequência das piscadas? 73

Coding Dojo com Arduino Slides do Garoa Hacker Clube 74

Arduino & cia. 75

Família Arduino Uno Mega Lilypad 76 Nano etc...

Microcontrolador do UNO: Atmel ATmega328 família AVR clock: 16 MHz SRAM: 2 KB EEPROM: 1 KB Flash: 32 KB 77

Entradas e saídas no ATmega328 28 pinos 23 pinos multi-funcionais diagrama do datasheet 78

Entradas e saídas no Arduino UNO Função dos pinos: padronizadas e simpli!cadas Mais fácil de aprender Mais fácil de expandir 79

Shields Placas de expansão Alguns exemplos: Ethernet, Wi-Fi, controle de motores, acelerômetro, GPS, tela LCD touch... Arduino com dois shields empilhados 80

Shields Mais exemplos: GPRS, NFC/RFID, MIDI sequencer, MP3 decoder, controle de câmera fotográ!ca, XBee radio... Imperdível: shieldlist.org 5 shields empilhados! 81

Clones e derivados Alguns exemplos: Severino Garagino Sanguino Program-ME Severino

Clone de Arduino em breadboard 83

Clone de Arduino em breadboard Vídeo: http://www.youtube.com/watch?v=s4niv99rmtg 84

Mais componentes 85

Potenciômetro Resistor ajustável Kit: 2 100 kω Símbolo em esquemas: 86

Potenciômetro: como usar Vout Ligar pinos laterais na alimentação Ligar pino central V out em um pino de entrada analógico 87

LDR ou fotoresistor Light Dependent Resistor Kit: 1 3mm Ø Usar com resistor para fazer um divisor de tensão 88

Circuito divisor de tensão Vout 89

Ler LDR no Arduino 5V no LDR resistor 10k Ω em série entre eles: Vout ligado a uma entrada analógica (ex. A0) 90

Circuito Semáforo 1 91

Circuito semáforo 1 Componentes: LEDs: verde, amarelo, vermelho 4 resistores de 1k Ω 1 potenciômetro de 100k Ω Código: gist.github.com/ramalho/6202074 92

Circuito semáforo 1 93

Circuito semáforo 1 código: gist.github.com/ramalho/6202074

gist.github.com/ramalho/6202074

gist.github.com/ramalho/6202074

Circuito Semáforo 2 97

Circuito semáforo 2 Usar um LDR (sensor de luminosidade) em vez do potenciômetro Para fazer funcionar, o potenciômetro tem que ser trocado por um divisor de tensão com LDR e resistor de 1k Ω LDR 98

Circuito semáforo 2 Componentes: LEDs: verde, amarelo, vermelho 4 resistores de 1k Ω 1 potenciômetro de 100k Ω 1 LDR 1 resistor de 1k Ω LDR 99

Circuito semáforo 2 código: gist.github.com/ramalho/6202074

Ainda mais componentes do kit 101

Sensor óptico re&exivo Detecta objetos até 25mm de distância chanfro Emissor: LED infravermelho Receptor: fototransistor protegido contra luz visível Use divisor de tensão 102

Sensor óptico re&exivo divisor de tensão 103

sensor óptico reflexivo divisor de tensão 104

Display 7 segmentos 3 dígitos modelo: CPS03631AB foto: CPS3631AR tipo: anodo comum part number: CPS03631BR-11 105

Display 7 segmentos anodo anodo anodo Esquema no datasheet CPS03631AB 107

Display 7 segmentos anodo comum: todos os segmentos de cada dígito ligados ao mesmo anodo para selecionar um dígito: 5V no anodo correspondente para acender um segmento: GND no catodo correspondente 108

Display 7 segmentos anodos: pinos 8, 9, 12 do display selecionam o dígito demais pinos acionam os segmentos A...G e o ponto decimal (dp) 109

Display 7 segmentos código: gist.github.com/ramalho/6566651

Servomotor Movimentos controlados num arco de 180 Programação fácil via biblioteca Servo no Arduino exemplos incluídos na IDE 111

Servomotor Alguns servos só funcionam alimentados por fonte externa fonte externa deve se ligar ao GND do Arduino 5V DC 112

fonte DC externa 5V, 1A Arduino alimentado via USB terra comum Servo TowerPro SG90 (9g) 113

Fechamento 114

Referências Site o!cial: arduino.cc Arduino Experimentation Kit: oomlout.com/a/products/ardx Laboratório de garagem labdegaragem.com Web: blogs, vídeos, wikis, diagramas... 115

arduino.cc Seções do site 116

Fritzing.org Site com software para download e repositório de projetos 117

Alguns Livros Arduino Básico, Novatec Arduino Cookbook, O Reilly Make: Electronics, O Reilly 118

Lojas físicas em Sampa Multcomercial, R. dos Timbiras, 257 Lojas nas travessas da Santa E!gênia, inclusive as lojas de sucata Laboratório de Garagem, Rua Berta, 60 (metrô Vila Mariana) Lojas de bairro, ex: Rua Butantã, 133 119

Lojas online Laboratório de Garagem: labdegaragem.com Farnell Newark: farnellnewark.com.br Adafruit: adafruit.com Sparkfun: sparkfun.com seeedstudio com 3 e! Seeedstudio: seeedstudio.com Vários: dx.com, ebay.com (muitos fornecedores) 120

Seeedstudio Shield Bot Robô seguidor de linha Vem montado Basta encaixar o Arduino Uno US $ 69.90 121

Visite um hackerspace! garoa.net.br 122

Créditos Conteúdo compilado, organizado e parcialmente oficinas Turing.com.br criado por Luciano Ramalho (O!cinas Turing) Licença de uso e reprodução: Creative Commons BY-SA 123