• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Mini-curso de Introdução a Eletrônica com Arduino
 

Mini-curso de Introdução a Eletrônica com Arduino

on

  • 14,378 views

Mini-curso de Introdução a Eletrônica com Arduino. Inclui exemplos de circuitos e códigos.

Mini-curso de Introdução a Eletrônica com Arduino. Inclui exemplos de circuitos e códigos.
Autor: Felipe Nascimento Martins

Statistics

Views

Total Views
14,378
Views on SlideShare
11,301
Embed Views
3,077

Actions

Likes
12
Downloads
925
Comments
1

35 Embeds 3,077

http://nossosrobos.blogspot.com.br 2621
http://www.nossosrobos.blogspot.com.br 253
http://nossosrobos.blogspot.com 57
http://nossosrobos.blogspot.pt 52
http://www.nossosrobos.blogspot.com 16
http://www.techgig.com 7
http://www.nossosrobos.blogspot.tw 7
http://nossosrobos.blogspot.in 6
http://www.nossosrobos.blogspot.com.es 6
http://www.nossosrobos.blogspot.pt 5
http://nossosrobos.blogspot.com.es 5
http://www.nossosrobos.blogspot.com.ar 5
http://nossosrobos.blogspot.de 4
http://nossosrobos.blogspot.fr 4
http://nossosrobos.blogspot.se 3
http://www.nossosrobos.blogspot.co.il 3
http://nossosrobos.blogspot.mx 2
http://www.nossosrobos.blogspot.jp 2
http://www.nossosrobos.blogspot.ru 2
http://nossosrobos.blogspot.it 2
http://www.nossosrobos.blogspot.com.au 1
http://nossosrobos.blogspot.kr 1
http://translate.googleusercontent.com 1
http://www.nossosrobos.blogspot.hu 1
http://nossosrobos.blogspot.nl 1
http://www.m.techgig.com 1
http://nossosrobos.blogspot.com.ar 1
http://plus.url.google.com 1
http://nossosrobos.blogspot.jp 1
http://www.inoreader.com 1
http://www.nossosrobos.blogspot.cz 1
http://nossosrobos.blogspot.com.au 1
http://www.nossosrobos.blogspot.gr 1
http://www.nossosrobos.blogspot.co.uk 1
http://www.nossosrobos.blogspot.fr 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Bom o material parabens.. estou precisando de um robo com controle remoto sou aluno do curso de tecnologia em Automação Industrial. Qualquer peço para entrar em contato.. Obr
    jeovanemarcelo@hotmail.com
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Mini-curso de Introdução a Eletrônica com Arduino Mini-curso de Introdução a Eletrônica com Arduino Presentation Transcript

    • IntroduIntroduççãoão àà Eletrônica comEletrônica com ArduinoArduino Felipe Nascimento Martins v. 4 - 2013 VIII Jornada de Iniciação Científica, Desenvolvimento Tecnológico e Inovação do Ifes
    • O trabalho Introdução à Eletrônica com Arduino de Felipe Nascimento Martins foi licenciado com uma Licença Creative Commons - Atribuição- CompartilhaIgual 3.0 Não Adaptada.
    • http://nera.sr.ifes.edu.br Felipe Nascimento Martins
    • Contato: Twitter: @@f_n_martinsf_n_martins http://www.facebook.com/felipenmhttp://www.facebook.com/felipenm felipefelipe.n.martins@gmail.com.n.martins@gmail.com
    • Conteúdo • Arduino; • Microcontrolador; • Primeiro programa; • Um pouco de eletrônica (pouco mesmo!); • Programas mais legais; • Práticas (montagem e programação); • Avançando com o Arduino: shields, comunicação sem fio, aplicações em robótica... Felipe Nascimento Martins
    • Felipe Nascimento Martins
    • O que é Arduino? • Arduino é uma plataforma de prototipagem eletrônica open-source, baseada nos princípios de flexibilidade e facilidade de uso para hardware e software. • Consiste de uma placa com microcontrolador programável preparada para receber sinais de sensores e acionar atuadores. • Sua linguagem de programação é baseada em Wiring (baseado em C/C++). • A placa pode funcionar em conjunto ou de forma independente do computador. Felipe Nascimento Martins
    • Arduino – hardware Felipe Nascimento Martins
    • Arduino – hardware Felipe Nascimento Martins
    • Arduino – software
    • Arduino é Open Source • Desenvolvido por: Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis, na Itália, em 2005; • Todo o projeto é aberto: open source hardware and software; • 200 placas vendidas em 2005, 5.000 em 2006, 30.000 em 2007 e mais de 300.000 em 2011 e cerca de 1 milhão até setembro de 2013! • Site oficial: www.arduino.cc Felipe Nascimento Martins
    • Arduino é Open Source! Felipe Nascimento Martins
    • Arduino é Open Source! Felipe Nascimento Martins
    • Arduino é Open Source! • Todo o hardware é aberto e os projetos estão disponíveis. • Quem quiser, pode comprar os componentes e montar a sua placa! • O software de programação também é livre e está disponível para download gratuitamente. Felipe Nascimento Martins
    • Arduino é Open Source! • Todo o hardware é aberto e os projetos estão disponíveis. • Quem quiser, pode comprar os componentes e montar a sua placa! • O software de programação também é livre e está disponível para download gratuitamente. • Mas... Felipe Nascimento Martins
    • Arduino é Open Source! • Todo o hardware é aberto e os projetos estão disponíveis. • Quem quiser, pode comprar os componentes e montar a sua placa! • O software de programação também é livre e está disponível para download gratuitamente. • Mas... • O nome ArduinoArduino é marca registrada! Felipe Nascimento Martins
    • Clones do Arduino • Freeduino Felipe Nascimento Martins
    • Clones do Arduino • Seeduino Felipe Nascimento Martins
    • Clones do Arduino • Brasuíno Felipe Nascimento Martins
    • Clones do Arduino • Severino Felipe Nascimento Martins
    • Similares ao Arduino • chipKIT Uno32 - PIC32MX320F128 (32 bits, 80MHz, 128kB Flash, 16kB SRAM) Felipe Nascimento Martins
    • Similares ao Arduino • Olimexino – STM32F103RBT6 (núcleo ARM Cortex M3, 32 bits, 128kB, 72MHz) Felipe Nascimento Martins
    • Similares ao Arduino • Adafruit Trinket – ATtiny85 Felipe Nascimento Martins
    • Similares ao Arduino • LaunchPad - MSP430 Felipe Nascimento Martins
    • Similares ao Arduino • LaunchPad - MSP430 US$4,30 com frete grátis!! http://www.ti.com/tool/msp-exp430g2
    • Felipe Nascimento Martins
    • Arduino Uno • Microcontrolador: ATmega328; • Tensão de operação: 5V; • Tensão de entrada (recomendada): 7-12V; • Pinos digitais de E/S:14 (6 podem ter sinal PWM); • Pinos com entrada analógica: 6; • Corrente máxima por pino de E/S: 40 mA; • Hardware para comunicação serial: 1 porta; • Memória Flash (de programa): 32 kB, dos quais 0,5 kB são usados pelo bootloader; • Memória SRAM: 2 kB; EEPROM: 1 kB; • Frequência de clock: 16 MHz. Felipe Nascimento Martins
    • Felipe Nascimento Martins
    • Arduino Mega 2560 • Microcontrolador: ATmega2560; • Tensão de operação: 5V; • Tensão de entrada (recomendada): 7-12V; • Pinos digitais de E/S: 54 (15 podem ter sinal PWM); • Pinos com entrada analógica: 16; • Corrente máxima por pino de E/S: 40 mA; • Hardware para comunicação serial: 4 portas; • Memória Flash (de programa): 256 kB, dos quais 8 kB são usados pelo bootloader; • Memória SRAM: 8 kB; EEPROM: 4 kB; • Frequência de clock: 16 MHz. Felipe Nascimento Martins
    • Felipe Nascimento Martins Arduino Mega 2560
    • O que é um Microcontrolador? – Chip; – CPU de pequeno porte, capaz de executar um conjunto de instruções; – Ou seja, possui um microprocessador! – Instruções simples e rápidas; – Possui memória(s); – Possui periféricos; – Pode se comunicar com outros periféricos; etc. Felipe Nascimento Martins
    • Componentes de um Microcontrolador Conversor D/A Conversor A/D PWM CPU EEPROM RAM Porta Serial Porta Paralela Temporizadores Microcontrolador Felipe Nascimento Martins
    • Exemplos de Microcontroladores • Família 8051 (Intel ou ATMEL) • 80C196KB (Intel) • 68HC11 (Motorola / Freescale) • MSP430 (Texas Instruments) • ATmega328 (ATMEL) • PIC16F628A (Microchip) • dsPIC30F6014 (Microchip) • Cortex M3 (ARM) Felipe Nascimento Martins
    • Exemplos de Microcontroladores • Família 8051 (Intel ou ATMEL) • 80C196KB (Intel) • 68HC11 (Motorola / Freescale) • MSP430 (Texas Instruments) • ATmega328 (ATMEL) • PIC16F628A (Microchip) • dsPIC30F6014 (Microchip) • Cortex M3 (ARM) Cadê o Arduino?? Felipe Nascimento Martins
    • Exemplos de Microcontroladores • Família 8051 (Intel ou ATMEL) • 80C196KB (Intel) • 68HC11 (Motorola / Freescale) • MSP430 (Texas Instruments) • ATmega328 (ATMEL) • PIC16F628A (Microchip) • dsPIC30F6014 (Microchip) • Cortex M3 (ARM) Felipe Nascimento Martins
    • Microcontroladores do Arduino • ATMEL • ATmega168: Diecimila, Duemilanove, Nano, LilyPad; • ATmega328P: Duemilanove, Nano, Fio, LilyPad, Uno; • ATmega1280: Mega; • ATmega2560: Mega2560; • ATmega32u4: Leonardo, Esplora, LilyPad USB, Yún, Robot; • AT91SAM3X8E: Due.
    • 71612202,5132ATmega32u4Esplora 6168140,50,5/116/32 ATmega168 ou ATmega328 Nano 61661410,516/32 ATmega168V ou ATmega328V LilyPad 71612202,5132ATmega32u4Leonardo 1284125496--512AT91SAM3X8EDue 1516165484256ATmega2560Mega2560 1516165484128ATmega1280Mega 6166142132ATmega328PUno 6166140,50,5/116/32ATmega168/328PDuemilanove Pinos PWM Clock (MHz) Pinos A/D Dig. I/O SRAM kB EEPROM kB Flash kB ProcessadorArduino Arduino
    • Arduino - Microcontrolador Felipe Nascimento Martins
    • Arduino - Microcontrolador • ATmega328: • Núcleo AVR RISC de 8 bits; • 32kB Flash, 2kB RAM, 1kB EEPROM; • 23 pinos de E/S; • 3 temporizadores/contadores; • USART; • interface a 2 fios SPI; • 6 canais de conversor A/D de 10 bits; • WDT com oscilador interno; • Clock máximo de 20MHz; • Opera de 1,8V a 5,5V. Felipe Nascimento Martins
    • Arduino – Programa básico Felipe Nascimento Martins
    • Arduino – Programa básico Felipe Nascimento Martins
    • Arduino – Programa básico Felipe Nascimento Martins
    • Arduino – Programa básico Felipe Nascimento Martins
    • Arduino – Programa básico Felipe Nascimento Martins
    • Arduino – Programa básico Felipe Nascimento Martins
    • Arduino – Programa básico Felipe Nascimento Martins No Arduino Uno: pinos digitais 0 a 13 (0 a 13); pinos analógicos 0 a 5 (14 a 19).
    • Prática 1: Pisca-LED • Montagem: Felipe Nascimento Martins
    • Um pouco de eletrônica • Ok. Entendi o programa. • Mas o que acontece nos pinos do Arduino? Felipe Nascimento Martins
    • Um pouco de eletrônica • Ok. Entendi o programa. • Mas o que acontece nos pinos do Arduino? • A função digitalWrite(12,HIGH); faz com que o pino 12 vá para “nível alto”, ou seja, ele fica com 5V. Felipe Nascimento Martins
    • Um pouco de eletrônica • Ok. Entendi o programa. • Mas o que acontece nos pinos do Arduino? • A função digitalWrite(12,HIGH); faz com que o pino 12 vá para “nível alto”, ou seja, ele fica com 5V. • Este pino está ligado ao RESISTOR+LED, e ao pino GND (0V). Felipe Nascimento Martins
    • Um pouco de eletrônica • Ok. Entendi o programa. • Mas o que acontece nos pinos do Arduino? • A função digitalWrite(12,HIGH); faz com que o pino 12 vá para “nível alto”, ou seja, ele fica com 5V. • Este pino está ligado ao RESISTOR+LED, e ao pino GND (0V). • É um circuito série, por onde circula corrente! Felipe Nascimento Martins +5V 0V
    • Um pouco de eletrônica • Em resumo: • É a circulação de corrente elétrica (elétrons) que faz acender o LED; • Experimente retirar o fio que liga o LED ao GND, mantendo o pino 12 em 5V. • O LED apaga pois a corrente precisa circular num circuito fechado! Felipe Nascimento Martins +5V 0V
    • Um pouco de eletrônica • Em resumo: • É a circulação de corrente elétrica (elétrons) que faz acender o LED; • A corrente só existirá se houver diferença de potencial elétrico (diferença de tensão) entre pontos do circuito: 5V – 0 = 5V; • Tensão: volt [V]; • Corrente: ampère [A]. Felipe Nascimento Martins +5V 0V
    • Um pouco de eletrônica • A função digitalWrite(12,LOW); faz com que o pino 12 vá para “nível baixo”, ou seja, ele fica com 0V. • Logo, como não há diferença de tensão entre os pinos 12 e GND, a corrente é zero => LED apaga. Felipe Nascimento Martins 0V 0V
    • Um pouco de eletrônica • Beleza. Mas, e o resistor? Serve para quê? Felipe Nascimento Martins
    • Um pouco de eletrônica • Beleza. Mas, e o resistor? Serve para quê? • O elemento resistor serve para dificultar a circulação de corrente elétrica; • Ele é colocado no circuito para evitar que a corrente cresça muito, o que pode provocar problemas; • No nosso circuito, o resistor serve para evitar que o LED queime devido a uma corrente muito alta. Felipe Nascimento Martins
    • Um pouco de eletrônica • Quanto maior for o valor da resistência do resistor, menor será a corrente (para uma mesma diferença de tensão). • O brilho do LED varia com a corrente. Felipe Nascimento Martins
    • Um pouco de eletrônica • Cálculo da corrente: • Lei de Ohm: V = R * I • V = 5V, R = 220 . • I = 5 / 220 • I = 0,0227 A = 22,7 mA Felipe Nascimento Martins
    • Um pouco de eletrônica • Cálculo da corrente: • Lei de Ohm: V = R * I • V = 5V, R = 220 + 220 . • I = 5 / 440 • I = 0,0114 A = 11,4 mA • Podemos calcular a queda de tensão em cada resistor: • VR = R * I, R = 220 , I = 11,4 mA. • VR = 220 * 0,0114 = 2,5 V. Felipe Nascimento Martins
    • Um pouco de eletrônica • Cálculo da corrente: • O LED tem queda de tensão fixa = ~1,73V. Logo: • V = 5 – 1,73 = 3,27V. • V = R * I => I = V / R. • I = 3,27 / 220 = 0,0149 A • I = 14,9mA. Felipe Nascimento Martins +5V 0V
    • Um pouco de eletrônica • Note que se a tensão do pino 12 pudesse ser alterada, a corrente no circuito seria diferente. • Ou seja, poderíamos controlar o brilho do LED! Felipe Nascimento Martins +5V 0V
    • Simulador: 123d.circuits.io Felipe Nascimento Martins Detalhes: http://123d.circuits.io/circuits/34111/edit#
    • Diodo • Dispositivo semicondutor que permite a circulação de corrente apenas em um sentido; • A tensão em seus terminais deve ter polaridade correta: mais positiva no terminal A (anodo) e mais negativa no terminal K (catodo); • Apresenta queda de tensão aproximadamente fixa (~0,7V) quando a corrente circula; • Usado em circuitos retificadores: transforma corrente alternada para contínua. Felipe Nascimento Martins
    • Diodo • Retificador de onda completa: Felipe Nascimento Martins
    • Diodo - exemplos Felipe Nascimento Martins
    • Matriz de contatos (Breadboard ou Protoboard) Felipe Nascimento Martins
    • Matriz de contatos (Breadboard ou Protoboard) Felipe Nascimento Martins
    • Prática 1.1: Não pisca-LED • LED é um diodo especial que brilha quando a corrente circula por ele. • Experimente inverter a ligação dos pinos do LED em nosso circuito e verifique que ele não vai mais piscar, mesmo quando houver diferença de potencial nos pinos! Felipe Nascimento Martins
    • Capacitor • Elemento que armazena energia na forma de campo elétrico; • Existem vários tipos: alguns têm polaridade (como os eletrolíticos), outros não (como os cerâmicos); • A tensão em seus terminais depende da carga acumulada, e não varia instantaneamente; • Em corrente contínua, são usados como filtros ou “suavizadores” de tensão. Felipe Nascimento Martins
    • Capacitor - exemplos Felipe Nascimento Martins
    • Capacitor – exemplo de aplicação • Retificador de onda completa com capacitor: Felipe Nascimento Martins
    • Prática 2: Pisca-LED com Capacitor • Monte o circuito ao lado. • Use o mesmo programa da prática 1, mas altere o tempo de espera para 5 segundos; • Rode o programa e verifique o resultado; • Depois, retire o capacitor e rode o mesmo programa. O que muda? Felipe Nascimento Martins
    • Arduino • Outras funções: digitalRead(pino); Retorna 0 (Vpino < 2V) ou 1 (Vpino > 3V). analogRead(pino); Obtém valor entre 0 e 1023 proporcional à tensão no pino (entre 0 e 5V). Tempo de conversão = 100µs. while(analogRead(A2) < 950); Mantém-se em loop até que o valor de retorno da função analogRead seja maior que 800. for(int conta = 0; conta < 6; conta++) Loop: executa o bloco de código até que conta >= 6. Felipe Nascimento Martins
    • Arduino • Outras funções: digitalRead(pino); Retorna 0 (Vpino < 2V) ou 1 (Vpino > 3V). analogRead(pino); Obtém valor entre 0 e 1023 proporcional à tensão no pino (entre 0 e 5V). Tempo de conversão = 100µs. while(analogRead(A2) < 950); Mantém-se em loop até que o valor de retorno da função analogRead seja maior que 800. for(int conta = 0; conta < 6; conta++) Loop: executa o bloco de código até que conta >= 6. Felipe Nascimento Martins
    • Arduino • Outras funções: digitalRead(pino); Retorna 0 (Vpino < 2V) ou 1 (Vpino > 3V). analogRead(pino); Obtém valor entre 0 e 1023 proporcional à tensão no pino (entre 0 e 5V). Tempo de conversão = 100µs. while(analogRead(A2) < 950); Mantém-se em loop até que o valor de retorno da função analogRead seja maior que 950. for(int conta = 0; conta < 6; conta++) Loop: executa o bloco de código até que conta >= 6. Felipe Nascimento Martins
    • Arduino • Outras funções: digitalRead(pino); Retorna 0 (Vpino < 2V) ou 1 (Vpino > 3V). analogRead(pino); Obtém valor entre 0 e 1023 proporcional à tensão no pino (entre 0 e 5V). Tempo de conversão = 100µs. while(analogRead(A2) < 950); Mantém-se em loop até que o valor de retorno da função analogRead seja maior que 800. for(int conta = 0; conta < 6; conta++) Loop: executa o bloco de código até que conta >= 6. Felipe Nascimento Martins
    • LDR – Resistência variável com a luz Felipe Nascimento Martins
    • LDR – Resistência variável com a luz Felipe Nascimento Martins
    • LDR – Resistência variável com a luz Felipe Nascimento Martins O pino 13 tem um resistor interno!
    • Prática 3: Usando o sensor de luz • Monte o circuito com o LDR – Light Dependent Resistor – e execute o seguinte programa: void setup() { Serial.begin(9600); } void loop() { int sensor = analogRead(A2); Serial.println(sensor, DEC); } Felipe Nascimento Martins
    • Arduino • A.
    • Prática 4: Usando o sensor de luz • Monte o circuito com LDR – Light Dependent Resistor (sensor de luz). • Escreva um programa que acenda o LED do pino 13 quando houver pouca luz e apague o mesmo LED quando houver muita luz. void setup() { ... } void loop() { ... } Felipe Nascimento Martins
    • Comunicação serial • Bit: menor unidade de informação -> 0 ou 1; • Informação é enviada bit a bit, em sequência; • Síncrona: uma linha de dados e outra de clock: Felipe Nascimento Martins
    • Comunicação serial • Bit: menor unidade de informação -> 0 ou 1; • Informação é enviada bit a bit, em sequência; • Assíncrona: apenas uma linha de dados. A velocidade deve ser definida: Felipe Nascimento Martins
    • Comunicação serial • OK. • Mas como posso transmitir outras informações além de “zeros” e “uns”? Felipe Nascimento Martins
    • Comunicação serial • OK. • Mas como posso transmitir outras informações além de “zeros” e “uns”? • Existe uma tabela que relaciona caracteres a sequências de zeros e uns: • ASCII (American Standard Code for Information Interchange). • Esta tabela criou um padrão para troca de informações em sistemas binários. Felipe Nascimento Martins
    • Tabela ASCII Felipe Nascimento Martins
    • Arduino • Microcontrolador possui hardware para comunicação serial: • Pino digital 0 (RX): recepção de dados; • Pino digital 1 (TX): transmissão de dados; • Bit 1 = 5V; Bit 0 = 0V; • A maioria das placas Arduino possui hardware que converte sinais do padrão serial assíncrono para USB; Felipe Nascimento Martins
    • Prática 5: Comunicação bidirecional • Outro exemplo de comunicação serial: desta vez o Arduino vai receber um dado do computador, processá-lo e retornar o resultado pela porta serial. • Vamos analisar o programa: int i, numero; void setup() { Serial.begin(9600); } void loop() { while (true) { Serial.print("Entre com um numero: "); while (Serial.available()==0); numero = Serial.read(); Felipe Nascimento Martins
    • if (numero>='0' && numero<='9') Serial.println(numero, BYTE); else { Serial.println("O valor deve ser numerico!"); continue; } numero-='0'; for (i = 0; i <= 10; i++) { Serial.print(numero); Serial.print(" x "); Serial.print(i); Serial.print(" = "); Serial.println(numero*i); } Serial.println(""); } } Felipe Nascimento Martins
    • PWM • PWM = Pulse Width Modulation; • Razão cíclica (duty cycle): define a tensão média aplicada: T(PWM) T(PWM) T(PWM) A1 A2 A3 Felipe Nascimento Martins
    • Tensão média de um sinal PWM Felipe Nascimento Martins
    • Sinal PWM versus sinal analógico Felipe Nascimento Martins
    • Controle de potência por PWM analogWrite(11, 200); cria no pino 11 um sinal PWM com razão cíclica igual a 200; f = 490Hz; apenas alguns pinos digitais possuem saída PWM. Felipe Nascimento Martins
    • Prática 6: Controle de brilho PWM int brilho = 0; // brilho do LED int sensor // valor do LDR void setup() { pinMode(A2, INPUT); // pino do LDR: entrada A2 pinMode(11, OUTPUT); // pino do LED: saida 11 Serial.begin(9600); } void loop() { sensor = analogRead(A2); // le do LDR brilho = map(sensor, 0, 1023, 0, 255); Serial.println(brilho, DEC); // envia ao PC analogWrite(11, brilho); // aciona LED } Felipe Nascimento Martins
    • Prática 7: Pisca-pisca suave int brilho = 0; // brilho do LED int variacao = 5; // quanto varia o brilho void setup() { pinMode(11, OUTPUT); } void loop() { analogWrite(11, brilho); brilho = brilho + variacao; if (brilho == 0 || brilho == 255) { variacao = -variacao; } delay(30); } Felipe Nascimento Martins
    • Motor de Corrente Contínua (CC) Felipe Nascimento Martins • Alimentado em corrente contínua; • Possui ímã e bobinas internamente; • Velocidade é ajustada pela tensão de alimentação (pode ser por PWM!); • Sentido de giro é alterado pela polaridade.
    • Motor de Passo Felipe Nascimento Martins • Alimentado com sinais digitais; • Alimentação das bobinas deve ser sequencial; • Permite controle preciso de posição; • Torque cai muito com o aumento da velocidade.
    • Servomotor Felipe Nascimento Martins
    • Servomotor Felipe Nascimento Martins • É um motor CC que possui um sistema de interno de controle: • angular – controla a posição (giro) do eixo; • contínuo – controla a velocidade do eixo;
    • Servomotor Felipe Nascimento Martins • Normalmente é feito com um motor de corrente contínua, um circuito eletrônico e engrenagens para aumentar o torque;
    • Servomotor Felipe Nascimento Martins • Três fios: 2 de alimentação e um de controle; • O sinal de referência (de posição ou velocidade) é do tipo PWM.
    • Servomotor Felipe Nascimento Martins • Três fios: 2 de alimentação e um de controle; • O sinal de referência (de posição ou velocidade) é do tipo PWM.
    • Prática 8: Controle de Servomotores Felipe Nascimento Martins
    • Felipe Nascimento Martins Prática 8: Controle de Servomotores
    • #include <Servo.h> Servo myservo; // create servo object Servo myservo2; int potpin = 0; // used to connect the potentiometer int val; // value from the analog pin void setup() { myservo.attach(9); // attaches the servo on pin myservo2.attach(10); } void loop() { val = analogRead(potpin); // entre 0 e 1023 val = map(val, 0, 1023, 0, 179); // escalona myservo.write(val); myservo2.write(179-val); delay(15); } Felipe Nascimento Martins Prática 8: Controle de Servomotores
    • Outros motores com Arduino • Cada pino do Arduino pode fornecer, no máximo, 40mA de corrente -> pode não ser suficiente para acionar um motor! • Solução: usar transistores. Felipe Nascimento Martins
    • Transistor • Um transistor pode ser entendido como uma “válvula” eletrônica: é capaz de acionar cargas de alta corrente a partir de um sinal de controle de baixa corrente. • Quanto maior for a corrente no pino de “base” (B), maior será a corrente entre os pinos “coletor” (C) e “emissor” (E). • Por exemplo, se a corrente na base variar de 0 a 0,01 A, a corrente de coletor pode variar de 0 a 1A! Felipe Nascimento Martins
    • Prática 9: Motor CC com transistor Felipe Nascimento Martins
    • Prática 9: Motor CC com transistor Felipe Nascimento Martins
    • Avançando com Arduino: Shields • Pode acionar dois motores CC ou um motor de passo: até 36V, 600mA, 5kHz. Felipe Nascimento Martins
    • Avançando com Arduino: Shields • Exemplo: controle de velocidade dos motores com o Shield Motor Control: Felipe Nascimento Martins
    • Avançando com Arduino: Shields Felipe Nascimento Martins • Shield oficial para controle de motores:
    • Avançando com Arduino: Shields Felipe Nascimento Martins • Ethernet Shield:
    • Avançando com Arduino: RS-485 e I2C Detalhes: http://nossosrobos.blogspot.com.br/2011/08/arduino-conversando-com-nxt-via-rs-485.html http://nossosrobos.blogspot.com.br/2013/03/comunicacao-ic-entre-lego-nxt-e-arduino.html Felipe Nascimento Martins
    • Avançando com Arduino Felipe Nascimento Martins Arduino Nano
    • Avançando com Arduino: Sem fio Detalhes: http://nossosrobos.blogspot.com.br/2011/12/arduino-wireless.html Felipe Nascimento Martins
    • Avançando com Arduino: Bluetooth Detalhes: http://nossosrobos.blogspot.com.br/2012/05/arduino-wireless-parte-ii-via-bluetooth.html Felipe Nascimento Martins
    • Avançando com Arduino: LCDs Detalhes: http://nossosrobos.blogspot.com.br/2012/01/lcd-para-seu-robo-com-arduino.html Felipe Nascimento Martins • LCD gráfico 128x128 pixels:
    • Avançando com Arduino: MATLAB Detalhes: http://nossosrobos.blogspot.com.br/2011/10/arduino-com-matlab.html Felipe Nascimento Martins
    • Avançando com Arduino: LabVIEW Detalhes: http://sine.ni.com/nips/cds/view/p/lang/pt/nid/209835 Felipe Nascimento Martins
    • Avançando com Arduino: Robô Detalhes: http://nossosrobos.blogspot.com.br/2012/09/monte-seu-robo-com-arduino.html Felipe Nascimento Martins
    • Robôs baseados em Arduino • DFRobotShop Rover - Arduino Compatible Tracked Robot Felipe Nascimento Martins
    • Robôs baseados em Arduino • DFRobotShop Rover 2.0 – Arduino Compatible Mecanum Felipe Nascimento Martins
    • Robô Arduino oficial • Arduino Robot Felipe Nascimento Martins Detalhes: http://nossosrobos.blogspot.com.br/2013/07/arduino-robot-o-primeiro-robo-arduino.html
    • Softwares gratuitos Felipe Nascimento Martins • IDE de programação do Arduino: www.arduino.cc • Fritzing - para fazer esquemas elétricos, de proto-board e placas de circuito impresso: www.fritzing.org • 123D Circuits.io - para simulação de circuitos com ou sem Arduino e projeto de placas de circuito impresso (roda no navegador): http://123d.circuits.io
    • Referências Felipe Nascimento Martins • VALPEREIRO, Filipe. Workshop Arduino, 2008. • JUSTEN, Álvaro. Curso de Arduino (apostila), 2011. • FONSECA, Érika e BEPPU, Mathyan. Apostila Arduino. CT/UFF, 2010. • ERIKSSON, Fredrik. Industrial Circuits Application Note - Stepper Motor Basics. • POMÍLIO, J.A. Eletrônica de Potência. UNICAMP (apostila para o curso de graduação). Acesso em AGO/2010. • Blog: www.nossosrobos.blogspot.com • Site oficial do Arduino: www.arduino.cc • http://www.labdegaragem.com.br/wiki
    • Obrigado! Felipe N. Martins @@f_n_martinsf_n_martins www.facebook.com/felipenmwww.facebook.com/felipenm