SlideShare uma empresa Scribd logo
1 de 108
Baixar para ler offline
Workshop Arduino

           Francisco Marcelino Almeida
 franciscomarcelinoalmeida@gmail.com

      Marcus Vinícius de Sousa Lemos
               marvinlemos@gmail.com
Apresentação
Sobre o professor:
Marcus Vinícius de Sousa Lemos
      Mestre em Informática Aplicada pela Universidade de Fortaleza – Unifor
      Professor da Universidade Estadual do Piauí – Uespi
      Pesquisador do Laboratório de Inteligência Computacional – Laic - Uespi
      Auditor Fiscal de Controle Externo (Informática) – TCE/PI


      Áreas de Interesse:
      Redes de Sensores, Inteligência Computacional, Robótica


marvinlemos@gmail.com
http://www.marvinlemos.net
@marvinlemos
Apresentação
Sobre o professor:
Francisco Marcelino Almeida de Araújo
      Mestrando em Biotecnologia pela Universidade Federal do Piauí - UFPI
      Professor do Instituto Federal do Piauí – IFPI


      Áreas de Interesse:
      Inteligência Computacional, Processamento de Imagens,
      Microeletrônica, Nanotecnologia


franciscomarcelinoalmeida@gmail.com
http://www.arduinopi.net
@keyjin
Arduino
Motivação
Convergência: tecnologia, criação e arte
Baixo custo de microcontroladores
Plataformas de hardware abertas sendo
criados
Febre Do It Yourself
Motivação
Diversas aplicações práticas
  Robôs
  Roupas eletrônicas
  Desenvolvimento de celulares customizados
  Instrumentos musicais
  Paredes interativas
  Redes de Sensores
Microcontrolador
Também conhecido como MCU (Microcontroller
Unit)
“Computador em um chip”
Programado para funções específicas
(geralmente para interagir com atuadores)
Geralmente embarcados em outros dispositivos
Microcontrolador




ATmega328
                          PIC 16F628A




            Basic Stamp
ATMega328P
Características do Atmega328:
  RISC
  Processador: 8-bit
  Flash (Kbytes): 32
  EEPROM (Bytes): 1K
  SRAM (Bytes): 2K
  PWM Channels: 6
  Vcc (V): 1.8 – 5.5
ATMega328P
Arduino
Placa + Microcontrolador + USB +
Sockets
Pode ser conectado a uma grande
variedade de dispositivos:
  Sensores: Luz, temperatura, presença,
  etc.
  Displays: LCD, touchscreen
  Motores e servos
  GPS
  Comunicação sem fio: 802.15.4,
  Zigbee, Bluetooth
  Ethernet
Alimentação: Bateria de 9V ou por
meio da USB
Da página oficial (www.arduino.org):


Arduino  is  an  open­source  electronics  prototyping  platform  based  on 
flexible,  easy­to­use  hardware  and  software.  It’s  intended  for  artists, 
designers,  hobbyists,  and  anyone  interested  in  creating  interactive 
objects or environments.
Arduino can sense the environment by receiving input from a variety of 
sensors and can affect its surroundings by controlling lights, motors, 
and other actuators. The microcontroller on the board is programmed 
using the Arduino programming language (based on Wiring) and the 
Arduino development environment (based on Processing). Arduino 
projects can be stand­alone or they can communicate with software on 
running on a computer (e.g. Flash, Processing,MaxMSP). ”
Arduino é
Open-Source
Arduino com Protoboard
Arduino em Papel
Arduino
Criado na Itália (em 2005) pelo Mássimo Banzi, no
Interaction Design Ivrea
Baixo custo de produção e alta aplicabilidade
Computação física e redes de sensores
Permite que os programas (ou sketches) sejam
escritos em uma linguagem de alto nível chamada
Processing
Processing é um ambiente e linguagem de
programação para criar imagens, animação e
interação
http://processing.org/
Versões do Arduino
Arduino Uno
Versões do Arduino
Arduino Nano
Versões do Arduino
Arduino Mega
Versões do Arduino
Arduino Lilypad
Versões do Arduino
Arduino Romeo All-in-one
Características do Arduino Uno
Microcontrolador                         ATmega328P
Tensão Operacional                       5V
Tensão de Alimentação                    7-12 V
Pinos de I/O digitais                    14 (dos quais 6 podem ser saídas PWM)
Pinos de entrada analógica               6
Corrente contínua por pino de I/O        40 mA
Corrente contínua para o pino de 3.3 V   50 mA
Memória Flash                            2KB
EEPROM                                   1K
Frequência de clock                      16 MHz
Arduino Diecimila/Uno
Ok... but first, let's go
       shopping
Kit Para Iniciante
Outros Componentes
Sensores
“Hello World”
Ambiente de Desenvolvimento
O ambiente de desenvolvimento pode ser
baixado em:
●   http://arduino.cc/en/Main/Software
●   A última versão é a 0022
O arquivo compactado deve ser extraído em
qualquer diretório do sistema
Será criado um diretório arduino-XXXX, onde
XXXX é a versão baixado (por exemplo:
arduino-0022).
Ambiente de Desenvolvimento




Executar o arquivo 'arduino'
Ambiente de Desenvolvimento
Configurando o Ambiente
  Linux
    Conecte o Arduino ao seu computador, por meio da porta USB e
    espere alguns segundos até que o sistema recoheça o dispositivo
    Para confirmar se o dispositivo foi reconhecido, abra um terminal e
    execute o comando abaixo:
    $ dmesg
    Procure, nas últimas linhas, por uma linha mais ou menos parecida
    com a de baixo:
[56999.967291] usb 5-2: FTDI USB Serial Device converter
now attached to ttyUSB0
    Essa mensagem indica que o kernel reconheceu um novo
    dispositivo conectado na porta /dev/ttyUSB0.
    O sistema nem sempre reconhece como /dev/ttyUSB0, mas em
    geral é /dev/tty<alguma_coisa>
Configurando o Ambiente
Windows:
 http://arduino.cc/en/Guide/Windows
Mac OSX:
 http://arduino.cc/en/Guide/MacOSX
Configurando o Ambiente
Configurar o ambiente de desenvolvimento para
utilizar a porta detectado pelo sistema:
  “Tools” → “Serial Port”
Configurar a placa utilizada:
  “Tools” → “Board” e escolher a opção “Arduino Uno”
“Hello World”
O primeiro projeto será o equivalente “Hello
World” para dispositivos embarcados
Como não há um terminal, iremos fazer piscar
(blink) um LED.
A placa do Arduino vem com um LED embutido,
conectado ao pin digital 13
Esta conexão faz com que o pin 13 seja sempre
de saída, mas como o LED usa pouca corrente,
ainda é possível conectar outras coisas na saída
“Hello World”
Código:
  int ledPin = 13;

  void setup() {
    // initialize the digital pin as an output.
    // Pin 13 has an LED connected on most Arduino
  boards:
    pinMode(ledPin, OUTPUT);
  }

  void loop() {
    digitalWrite(ledPin, HIGH);    // set the LED on
    delay(1000);               // wait for a second
    digitalWrite(ledPin, LOW);     // set the LED off
    delay(1000);               // wait for a second
  }
“Hello World”
Para fazer o upload para a placa, deve-se
clicar no botão específico:
Explicando o código
Um sketch Arduino possui, no mínimo duas
funções:
  setup():
    Executada apenas uma vez, durante a inicialização
  loop():
    Função principal
Explicando o código
setup()
 pinMode(ledPin, OUTPUT);
   A função pinMode define o modo de operação do
   pino. Neste caso, definimos que o pino 13 (ledPin)
   será de saída
Explicando o código
loop()
   digitalWrite(ledPin, HIGH);
         Permite ligar (5V) ou desligar (0V) um pino digital
         Neste código especifico, estamos ligando (constante
         HIGH) o pino 13 (ledPin)
         Por meio da constante LOW, podemos desligar o pino
   delay(200)
         A função delay() faz com que o processado fique X
         milisegundos em espera
Revisando Componentes:
Breadboard, Resistor &
        LED
Breadboard (Protoboard)
Breadboard (ou protoboard ou Matriz de Contato)

Dispositivo que permite a
construção de circuitos sem
a necessidade de solda
Fácil prototipação
Na superfície há uma base
de plástico com vários
orifícios onde são
encaixados os componentes
Na parte inferior há contatos
metálicos que interligam os
componentes inseridos na
placa
Breadboard (Protoboard)
Breadboard (ou protoboard ou Matriz de Contato)




                                    Os furos das linhas verticais
                                    estão interligados
Resistor
Resistor:
  Componente projetado para gerar uma resistência
  à corrente elétrica e, consequentemente, diminuir a
  tensão entre os dois terminais
  Medido em Ohm e é representado pela letra grega
  Omega ( Ω )
  Os pinos digitais geram uma tensão de 5 V (DC) a
  40mA
  LEDs geralmente precisam de uma tensão de 2 V e
  corrente de 10mA (para brilhar razoavelmente bem)
Resistor
Resistor:
    Precisamos de um resistor capaz de reduzir a tensão
    de 5 para 2 (Voltage Drop) e a corrente de 40mA
    para 10mA
    Para descobrir o valor do resistor apropriado, vamos
    utilizar a Lei de Ohm:
      I = V/R ou
      R = V/ I ou
      R = (Tensão fornecida – Tensão apropriada) / I

●   R = (5 – 2)/0.01 = 3/0.01 = 300 Ω
Resistor
Como ler os valores dos resistores:
Resistor
LED
LED:
 Light Emmiting Diode
 Diodo é um componente que permite que a corrente
 siga apenas uma direção
 Um LED é um diodo que emite luz
Projeto 001:
LED Flasher
LED Flasher
Componentes:
LED Flasher
Conexão:
LED Flasher
LED Flasher
Código:
          int ledPin = 10;

          void setup() {
            pinMode(ledPin, OUTPUT);
          }

          void loop() {
            digitalWrite(ledPin, HIGH);
            delay(1000);
            digitalWrite(ledPin, LOW);
            delay(1000);
          }
Revisando Componentes:
   Potenciômetro
Potenciômetro
O potenciômetro é simplesmente
um resistor cuja resistência pode
ser ajustada
Por exemplo: em um potenciômetro
de 4K7, a resistência pode variar
entre 0 e 4700 Ω
Possui três pernas:
  Conectando apenas duas, o potenciômetro
  transforma-se em um resistor variável
  Conectando 3 e aplicando uma tensão, o
  potenciômetro transforma-se em um divisor de
  tensão (voltage divider)
Projeto 002:
Interactive LED
  Chase Effect
Interactive LED Chase Effect
Componentes:
Interactive LED Chase Effect
Conexão:
Interactive LED Chase Effect
byte ledPin[] = {11,12,13};                    void changeLed(){
int ledDelay; //delay between changes
int direcao = 1;                                   for (int x = 0; x < 3; x++){
int currentLed = 0;                                  digitalWrite(ledPin[x], LOW);
unsigned long changeTime;                          }
int potPin = 2; //select the input pin for
the pot                                            digitalWrite(ledPin[currentLed], HIGH);

void setup() {                                     currentLed += direcao;
  for (int x = 0; x < 3; x++){
    pinMode(ledPin[x], OUTPUT);                    if (currentLed == 2) { direcao = -1; }
  }                                                if (currentLed == 0) { direcao = 1; }
  changeTime = millis();                       }

}

void loop(){

    ledDelay = analogRead(potPin);
    if ((millis() - changeTime) > ledDelay){
      changeLed();
      changeTime = millis();
    }
}
Interactive LED Chase Effect
Considerações:
  Inicialmente declaramos uma variável para o
  potenciômetro:
       int potPin = 2;

  O potenciômetro está conectado a uma porta analógica
  Para ler o valor de uma porta analógica, utilizamos a
  função analogRead
  Um Arduino possui 6 portas análogicas com um conversor
  analógico-digital de 10bits
  Uma porta análogica pode ler tensão entre 0V e 5V em
  valores inteiros entre 0 (0V) e 1023 (5V).
    Resolução de: 5V / 1024 unidades ou 0.0049V (4.9mV) por
    unidade
Revisando Componentes:
    Tactile Switch
Tactile Switch
Tactile Switch
Tactile Switch
Tactile Switch
Tactile Switch
Tactile Switch




        Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
Tactile Switch
Além de controlar a corrente, funcionam como
ótimos dispositivos de entrada
  No próximo exemplo, vamos configurar a corrente
  em um pino para 5V ou terra e usar a função
  digitalRead para consultar o estado do pino: HIGH
  ou LOW
Tactile Switch
/*
 * Switch test program
 */

// Switch connected to digital pin 2
int switchPin = 2;

void setup()
{
  // set up Serial library at 9600 bps
  Serial.begin(9600);
  // sets the digital pin as input to read switch
  pinMode(switchPin, INPUT);
}

void loop()
{
  Serial.print("Valor do Switch: ");
  // Read the pin and display the value
  Serial.println(digitalRead(switchPin));
  delay(100);
}
Tactile Switch
Agora, vamos utilizar um fio para alternar a
conexão do pino 2 entre 5V e o terra:




        Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
Tactile Switch




                              Switch input tied LOW (ground)
Switch input tied HIGH (5v)
Tactile Switch
Tactile Switch




Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
Floating high above the clouds
Vamos substituir os fios pelo tactile switch
  O problema é que o switch só pode conectar e
  desconectar dois fios. Ele não pode alternar
  conexões




               Two alternative switch wiring possibilities
Floating high above the clouds


       For example, in these schematics we can connect and
disconnect pin 2 to 5V, or we can connect and disconnect pin 2
  to ground. In both cases, as long as the button is held down, the
     pin is connected to a valid input voltage. When the button is
 released, though, pin 2 is not connected to anything. This is called
         a floating input voltage. Basically, it's invalid input!
Resistor Pull-down/Pull-up
Uma solução é usar um switch que alterna
conexões, como o utilizado no diagrama
abaixo:




        Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
Resistor Pull-down/Pull-up
Outra solução seria utilizar um recurso conhecido como
resistor pull-down:
  No esquema abaixo, o resistor pull-down está representado
  pelo resistor de 10Kohm




                 Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
Resistor Pull-down/Pull-up
Quando o switch for pressionado, o resistor de
100Ω estará conectado diretamente ao 5V.
Quando o switch for liberado, o resistor de
100Ω estará conectado ao resistor de 10K, o
qual “puxa-o” (pull-down) para o terra
Resistor Pull-down/Pull-up




   Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
Resistor Pull-down/Pull-up
Resistor Pull-down/Pull-up
Resistor pull-up:




        Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
Resistor Pull-down/Pull-up
Projeto 003:
Interactive LED Flasher
Interactive LED Flasher
Componentes:
Interactive LED Flasher
Conexão:
Interactive LED Flasher
●    Código
    int ledPin = 4; // choose the pin for the LED
    int inPin = 5;   // choose the input pin (for a pushbutton)
    int val = 0;     // variable for reading the pin status

    void setup() {
      pinMode(ledPin, OUTPUT);   // declare LED as output
      pinMode(inPin, INPUT);     // declare pushbutton as input
    }

    void loop(){
      val = digitalRead(inPin); // read input value
      if (val == HIGH) {   // check if the input is HIGH
        digitalWrite(ledPin, LOW); // turn LED OFF
      } else {
        digitalWrite(ledPin, HIGH); // turn LED ON
      }
    }
Exercício
Criar um projeto semelhante ao demonstrado
no video:

Video 001
Projeto 004:
Temperature Sensor
LM35/LM36 – TPM35/TPM36
Sensor de temperatura
analógico
Estado-sólido (não usa
mércurio)
A medida que a
temperatura muda, a
tensão que atravessa um
diodo cresce a uma taxa
conhecida
Não precisa ser calibrado
Barato e fácil de usar
LM35/LM36 – TPM35/TPM36
                                                         a) LM35
                                                         b) LM36




Fonte: http://www.ladyada.net/learn/sensors/tmp36.html
LM35/LM36 – TPM35/TPM36
Para converter a tensão em temperatura:
  LM35:
       Temp in ºC: (V in mV) / 10


  LM36:
   –   Temp in ºC: [(V in mV - 500)] / 10
Lendo a Temperatura
Lendo a Temperatura
Devemos conectar o pino do saída do sensor
diretamente em uma porta analógica do
Arduino
A tensão de saída do sensor será de 0 a 1.75
(aproximadamente)
O tensão lida pelo Arduino é convertido em um
valor binário pelo Conversor Analógico Digital
Assim, para descobrirmos a temperatura,
devemos fazer uma conversão:
Lendo a Temperatura
Voltage at pin in milliVolts = (reading from ADC) *
(5000/1024)
  This formula converts the number 0-1023 from the ADC into 0-
  5000mV (= 5V)


Voltage at pin in milliVolts = (reading from ADC) *
(3300/1024)
  This formula converts the number 0-1023 from the ADC into 0-
  3300mV (= 3.3V)


Para converter a tensão em temperatura, basta utilizarmos
a fórmulas definidas anteriormente...
Lendo a Temperatura
int temperaturaPin = 0;
int ledPin = 12;                                //Converter tensao para temperatura
float vIn = 5.0; //Tensao de entrada            float temperaturaC = voltagem * 100.0;

void setup()                                    delay(1000);
{
  pinMode(ledPin, OUTPUT);                      Serial.print(temperaturaC);
  Serial.begin(9600);                           Serial.println(" graus em C");
}                                               Serial.println(" ");

void loop()                                     digitalWrite(ledPin, LOW);
{
  digitalWrite(ledPin, HIGH);                   delay(1000);
  //ler o valor do sensor
  float leitura = analogRead(temperaturaPin); }


  float voltagem = (leitura * vIn) / 1023.0;

  //Imprimir a tensão
  Serial.print(voltagem);
  Serial.println(" volts");
Problems you may encounter
    with multiple sensors...


 If, when adding more sensors, you find that the
   temperature is inconsistant, this indicates that
the sensors are interfering with each other when
switching the analog reading circuit from one pin
      to the other. You can fix this by doing two
   delayed readings and tossing out the first one
Projeto 005:
Sensing Light
Sensing Light
Uma forma bastante prática de medir a
intensidade da luz é usando um LDR
LDR = Light-Dependent Resistor
Podem ser chamados de Photoresistores
Quanto maior a intensidade da luz, menor a
resistência
  20MΩ = Ambiente “muito escuro”
  20KΩ = Ambiente “muito iluminado”
Sensing Light
LDR as a Voltage Divider

   A voltage divider is just two resistors in series
connected between a voltage supply and ground. If
  R1 is connected to the voltage supply and R2 is
connected to ground then the voltage at the junction
           between the two resistors is:
                              R2
                   V =V cc∗
                            R1 + R 2
LDR as a Voltage Divider


  If R1 is the photoresistor, the
     voltage will increase with
 increasing light intensity. If R2
is the photoresistor, the voltage
  will decrease with increasing
           light intensity.


                    R2
         V =V cc∗
                  R1 + R 2
Sensing Light
int ledPin = 13;
                                       else{
int sensorPin = 1;
                                           digitalWrite(ledPin, HIGH);
int period = 400;
                                           Serial.println(rawValue);
                                           if (acesso != 0){
int limit = 1000;
                                             acesso = 0;
                                             Serial.println("apagado");
int acesso = 0;
                                           }
                                       }
void setup()
{
                                       delay(period);
  pinMode(ledPin, OUTPUT);
                                   }
  Serial.begin(9600);
}

void loop()
{
  int rawValue =
analogRead(sensorPin);

 if (rawValue < limit){
     digitalWrite(ledPin, LOW);
     if (acesso != 1){
       acesso = 1;
       Serial.println("ligado");
     }
 }
Projeto 006:
 Enviando Informações
para o Arduino via Serial
Enviando Informações Via Serial
       int ledPin = 13;
       int tempoEspera = 500;

       void setup(){
         pinMode(ledPin, OUTPUT);
         Serial.begin(9600);
       }

       void loop(){
         char ch;
         if (Serial.available()){
           ch = Serial.read();
           if (ch == '0'){
             digitalWrite(ledPin, LOW);
           }else{
             digitalWrite(ledPin, HIGH);
           }
         }
         delay(tempoEspera);
       }
Enviando Informações Via Serial
Projeto 007:
  PySerial
apt-get install python-serial -y
PySerial
from serial import Serial

porta = '/dev/ttyACM1'

ser=Serial(porta, 19200, timeout=10)
ser.readline() #descartar a primeira leitura
info=ser.readline()
ser.close()
print info
Função Utilitária:
              Enviar E-Mail
import sys                             smtpserver =
import smtplib                         smtplib.SMTP("smtp.gmail.com",587)
from email.MIMEText import MIMEText    smtpserver.ehlo()
                                       smtpserver.starttls()
to = 'marvin.lemos@tce.pi.gov.br'      smtpserver.ehlo
user = 'marvinlemos@gmail.com'         smtpserver.login(user, password)
password = 'senhaaqui'
                                       try:
def mandar_email(mensagem):                smtpserver.sendmail(user,to,
    msg = MIMEText(mensagem)           msg.as_string())
                                           print "e-mail encaminhado"
   msg['Subject'] = 'Teste'            except:
   msg['From'] = "Marvin Lemos"            print "falha ao transmitir e-mail"
   msg['Reply-to'] = "Marvin Lemos "       print sys.exc_info()
   msg['To'] = to                          smtpserver.close()
Referências
Arduino Starter Kit Manual: A Complete
Beginners Guide To The Arduino
http://www.ladyada.net/learn/arduino/
http://blog.justen.eng.br/

Mais conteúdo relacionado

Mais procurados

Arduino - Hardware Livre e Robótica
Arduino -  Hardware Livre e RobóticaArduino -  Hardware Livre e Robótica
Arduino - Hardware Livre e RobóticaMarinho Brandão
 
Introdução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantesIntrodução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantesRogerio Alencar Filho
 
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetSaymon Cristian Alves Oliveira
 
Programação em C para Arduino
Programação em C para ArduinoProgramação em C para Arduino
Programação em C para ArduinoRodrigo Rosa
 
Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)Walter Coan
 
Arduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo modernoArduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo modernoMarcelo Laranjeira Melo
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com ArduinoFelipe Martins
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoJuan Manoel
 
Curso de Arduino Completo
Curso de Arduino CompletoCurso de Arduino Completo
Curso de Arduino CompletoTiago Barros
 
Sestinfo 2013 - Arduino
Sestinfo 2013 - ArduinoSestinfo 2013 - Arduino
Sestinfo 2013 - ArduinoRafael Sakurai
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoSamir Siqueira
 

Mais procurados (20)

Aula 1: Conhecendo o Arduino
Aula 1: Conhecendo o ArduinoAula 1: Conhecendo o Arduino
Aula 1: Conhecendo o Arduino
 
Arduino - Hardware Livre e Robótica
Arduino -  Hardware Livre e RobóticaArduino -  Hardware Livre e Robótica
Arduino - Hardware Livre e Robótica
 
Introdução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantesIntrodução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantes
 
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
 
Programação em C para Arduino
Programação em C para ArduinoProgramação em C para Arduino
Programação em C para Arduino
 
Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)
 
Arduino Hack Day Corumbá
Arduino Hack Day CorumbáArduino Hack Day Corumbá
Arduino Hack Day Corumbá
 
Arduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo modernoArduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo moderno
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com Arduino
 
Arduino day-2015-v1
Arduino day-2015-v1Arduino day-2015-v1
Arduino day-2015-v1
 
Arduino Básico
Arduino BásicoArduino Básico
Arduino Básico
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Introdução - Arduino - Renan Martins
Introdução - Arduino - Renan MartinsIntrodução - Arduino - Renan Martins
Introdução - Arduino - Renan Martins
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduino
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Computação física com arduino
Computação física com arduinoComputação física com arduino
Computação física com arduino
 
Curso de Arduino Completo
Curso de Arduino CompletoCurso de Arduino Completo
Curso de Arduino Completo
 
Sestinfo 2013 - Arduino
Sestinfo 2013 - ArduinoSestinfo 2013 - Arduino
Sestinfo 2013 - Arduino
 
MiniCursoDeArduino
MiniCursoDeArduinoMiniCursoDeArduino
MiniCursoDeArduino
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduino
 

Destaque

Nomenclatura para Banco de Dados
Nomenclatura para Banco de DadosNomenclatura para Banco de Dados
Nomenclatura para Banco de DadosAlan James James
 
Boas praticas em um Projeto de Banco de Dados
Boas praticas em um Projeto de Banco de DadosBoas praticas em um Projeto de Banco de Dados
Boas praticas em um Projeto de Banco de DadosJuliano Atanazio
 
Literatura infantil recurso_metodologico_ensino_aprendizagem_matematica
Literatura infantil recurso_metodologico_ensino_aprendizagem_matematicaLiteratura infantil recurso_metodologico_ensino_aprendizagem_matematica
Literatura infantil recurso_metodologico_ensino_aprendizagem_matematicaandre luis
 
CSEduino - Build your Arduino from scratch
CSEduino - Build your Arduino from scratchCSEduino - Build your Arduino from scratch
CSEduino - Build your Arduino from scratchJoao Alves
 
Oficina Scratch para Arduino Cap UFRJ
Oficina Scratch para Arduino Cap UFRJOficina Scratch para Arduino Cap UFRJ
Oficina Scratch para Arduino Cap UFRJDesiree Santos
 
Oficina de Robótica e Automação Casa de Vovó Dedé: Introdução
Oficina de Robótica e Automação Casa de Vovó Dedé: IntroduçãoOficina de Robótica e Automação Casa de Vovó Dedé: Introdução
Oficina de Robótica e Automação Casa de Vovó Dedé: IntroduçãoLucas Cabral
 
Estratégias para salvar um restaurante e fazer o negócio decolar a partir da ...
Estratégias para salvar um restaurante e fazer o negócio decolar a partir da ...Estratégias para salvar um restaurante e fazer o negócio decolar a partir da ...
Estratégias para salvar um restaurante e fazer o negócio decolar a partir da ...Leonardo Seabra
 
Scratch & Arduino
Scratch & ArduinoScratch & Arduino
Scratch & ArduinoJoão Sá
 
O sensor de ultrassons SR-04 e programação em S4A
O sensor de ultrassons SR-04 e programação em S4AO sensor de ultrassons SR-04 e programação em S4A
O sensor de ultrassons SR-04 e programação em S4AAna Carneirinho
 
Controlo de motores dc através de Scratch
Controlo de motores dc através de ScratchControlo de motores dc através de Scratch
Controlo de motores dc através de ScratchAna Carneirinho
 
Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoEvânio Moreira
 
Arduino & Scratch na Escola - Aula 1
Arduino & Scratch na Escola - Aula 1Arduino & Scratch na Escola - Aula 1
Arduino & Scratch na Escola - Aula 1Ana Carneirinho
 
Arduino & Scratch na Escola - Aula 3
Arduino & Scratch na Escola - Aula 3Arduino & Scratch na Escola - Aula 3
Arduino & Scratch na Escola - Aula 3Ana Carneirinho
 
Espaço Programação e Eletrónica - Sessão5
Espaço Programação e Eletrónica - Sessão5Espaço Programação e Eletrónica - Sessão5
Espaço Programação e Eletrónica - Sessão5Ana Carneirinho
 
O USO DO SCRATCH EM EDUCAÇÃO E ROBÓTICA
O USO DO SCRATCH EM EDUCAÇÃO E ROBÓTICA O USO DO SCRATCH EM EDUCAÇÃO E ROBÓTICA
O USO DO SCRATCH EM EDUCAÇÃO E ROBÓTICA Rafael Machado Alves
 
Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602Ana Carneirinho
 
Arduino & Scratch na Escola - Aula 2
Arduino & Scratch na Escola - Aula 2Arduino & Scratch na Escola - Aula 2
Arduino & Scratch na Escola - Aula 2Ana Carneirinho
 
Controlo de servo motor através de Scratch
Controlo de servo motor através de ScratchControlo de servo motor através de Scratch
Controlo de servo motor através de ScratchAna Carneirinho
 

Destaque (20)

Nomenclatura para Banco de Dados
Nomenclatura para Banco de DadosNomenclatura para Banco de Dados
Nomenclatura para Banco de Dados
 
Boas praticas em um Projeto de Banco de Dados
Boas praticas em um Projeto de Banco de DadosBoas praticas em um Projeto de Banco de Dados
Boas praticas em um Projeto de Banco de Dados
 
Literatura infantil recurso_metodologico_ensino_aprendizagem_matematica
Literatura infantil recurso_metodologico_ensino_aprendizagem_matematicaLiteratura infantil recurso_metodologico_ensino_aprendizagem_matematica
Literatura infantil recurso_metodologico_ensino_aprendizagem_matematica
 
CSEduino - Build your Arduino from scratch
CSEduino - Build your Arduino from scratchCSEduino - Build your Arduino from scratch
CSEduino - Build your Arduino from scratch
 
Projeto banana
Projeto bananaProjeto banana
Projeto banana
 
Oficina Scratch para Arduino Cap UFRJ
Oficina Scratch para Arduino Cap UFRJOficina Scratch para Arduino Cap UFRJ
Oficina Scratch para Arduino Cap UFRJ
 
Aula 4
Aula 4Aula 4
Aula 4
 
Oficina de Robótica e Automação Casa de Vovó Dedé: Introdução
Oficina de Robótica e Automação Casa de Vovó Dedé: IntroduçãoOficina de Robótica e Automação Casa de Vovó Dedé: Introdução
Oficina de Robótica e Automação Casa de Vovó Dedé: Introdução
 
Estratégias para salvar um restaurante e fazer o negócio decolar a partir da ...
Estratégias para salvar um restaurante e fazer o negócio decolar a partir da ...Estratégias para salvar um restaurante e fazer o negócio decolar a partir da ...
Estratégias para salvar um restaurante e fazer o negócio decolar a partir da ...
 
Scratch & Arduino
Scratch & ArduinoScratch & Arduino
Scratch & Arduino
 
O sensor de ultrassons SR-04 e programação em S4A
O sensor de ultrassons SR-04 e programação em S4AO sensor de ultrassons SR-04 e programação em S4A
O sensor de ultrassons SR-04 e programação em S4A
 
Controlo de motores dc através de Scratch
Controlo de motores dc através de ScratchControlo de motores dc através de Scratch
Controlo de motores dc através de Scratch
 
Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básico
 
Arduino & Scratch na Escola - Aula 1
Arduino & Scratch na Escola - Aula 1Arduino & Scratch na Escola - Aula 1
Arduino & Scratch na Escola - Aula 1
 
Arduino & Scratch na Escola - Aula 3
Arduino & Scratch na Escola - Aula 3Arduino & Scratch na Escola - Aula 3
Arduino & Scratch na Escola - Aula 3
 
Espaço Programação e Eletrónica - Sessão5
Espaço Programação e Eletrónica - Sessão5Espaço Programação e Eletrónica - Sessão5
Espaço Programação e Eletrónica - Sessão5
 
O USO DO SCRATCH EM EDUCAÇÃO E ROBÓTICA
O USO DO SCRATCH EM EDUCAÇÃO E ROBÓTICA O USO DO SCRATCH EM EDUCAÇÃO E ROBÓTICA
O USO DO SCRATCH EM EDUCAÇÃO E ROBÓTICA
 
Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602
 
Arduino & Scratch na Escola - Aula 2
Arduino & Scratch na Escola - Aula 2Arduino & Scratch na Escola - Aula 2
Arduino & Scratch na Escola - Aula 2
 
Controlo de servo motor através de Scratch
Controlo de servo motor através de ScratchControlo de servo motor através de Scratch
Controlo de servo motor através de Scratch
 

Semelhante a Arduino Workshop: Introdução aos Microcontroladores e Programação

Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduinoWalter Coan
 
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part IIOficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part IICarlos Carvalho
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino Edgley Xavier
 
Introdução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfIntrodução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfCliverRaimundo2
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceRicardo Rufino
 
Ufes erus minicurso arduino
Ufes erus minicurso arduinoUfes erus minicurso arduino
Ufes erus minicurso arduinotamarasalvatori
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao ArduinoPeslPinguim
 
Apostila arduino
Apostila arduinoApostila arduino
Apostila arduinoEdson Paz
 
C.E.S.A.R Introducao ao Arduino
C.E.S.A.R Introducao ao ArduinoC.E.S.A.R Introducao ao Arduino
C.E.S.A.R Introducao ao ArduinoTiago Barros
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraPotiLivre Sobrenome
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoArticacc, Lda
 
Iniciação à Robótica e Computação Física
Iniciação à Robótica e Computação FísicaIniciação à Robótica e Computação Física
Iniciação à Robótica e Computação FísicaArticacc, Lda
 
Oficina de Arduino Beta - Matehackers.org
Oficina de Arduino Beta - Matehackers.orgOficina de Arduino Beta - Matehackers.org
Oficina de Arduino Beta - Matehackers.orgGuilherme Kruger Araujo
 
Robótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoRobótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoDomingosRodrigues16
 
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptxfmtpereira
 

Semelhante a Arduino Workshop: Introdução aos Microcontroladores e Programação (20)

Arduino001 110911083100-phpapp02
Arduino001 110911083100-phpapp02Arduino001 110911083100-phpapp02
Arduino001 110911083100-phpapp02
 
Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduino
 
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part IIOficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino
 
Introdução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfIntrodução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdf
 
Erus minicurso arduino
Erus minicurso arduinoErus minicurso arduino
Erus minicurso arduino
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDevice
 
Ufes erus minicurso arduino
Ufes erus minicurso arduinoUfes erus minicurso arduino
Ufes erus minicurso arduino
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Apostila arduino
Apostila arduinoApostila arduino
Apostila arduino
 
C.E.S.A.R Introducao ao Arduino
C.E.S.A.R Introducao ao ArduinoC.E.S.A.R Introducao ao Arduino
C.E.S.A.R Introducao ao Arduino
 
Guia AC mod 5
Guia AC mod 5Guia AC mod 5
Guia AC mod 5
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - Farrusco
 
Iniciação à Robótica e Computação Física
Iniciação à Robótica e Computação FísicaIniciação à Robótica e Computação Física
Iniciação à Robótica e Computação Física
 
Oficina de Arduino Beta - Matehackers.org
Oficina de Arduino Beta - Matehackers.orgOficina de Arduino Beta - Matehackers.org
Oficina de Arduino Beta - Matehackers.org
 
CURSO_ARDUÍNO.pptx
CURSO_ARDUÍNO.pptxCURSO_ARDUÍNO.pptx
CURSO_ARDUÍNO.pptx
 
Minicurso de Arduino Básico
Minicurso de Arduino BásicoMinicurso de Arduino Básico
Minicurso de Arduino Básico
 
Robótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoRobótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando Arduino
 
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptx
 

Mais de Cícero Rocha

Apresentação lazarus flisol
Apresentação lazarus flisolApresentação lazarus flisol
Apresentação lazarus flisolCícero Rocha
 
Oficina de Pequisa na Internet para Docentes
Oficina de Pequisa na Internet para DocentesOficina de Pequisa na Internet para Docentes
Oficina de Pequisa na Internet para DocentesCícero Rocha
 
Oficina de Formação para alunos monitores.
Oficina de Formação para alunos monitores.Oficina de Formação para alunos monitores.
Oficina de Formação para alunos monitores.Cícero Rocha
 
Oficina De Inclusão Digital
Oficina De Inclusão DigitalOficina De Inclusão Digital
Oficina De Inclusão DigitalCícero Rocha
 
Curso Educação Digital
Curso Educação DigitalCurso Educação Digital
Curso Educação DigitalCícero Rocha
 

Mais de Cícero Rocha (6)

Apresentação lazarus flisol
Apresentação lazarus flisolApresentação lazarus flisol
Apresentação lazarus flisol
 
Oficina de Pequisa na Internet para Docentes
Oficina de Pequisa na Internet para DocentesOficina de Pequisa na Internet para Docentes
Oficina de Pequisa na Internet para Docentes
 
Oficina de Formação para alunos monitores.
Oficina de Formação para alunos monitores.Oficina de Formação para alunos monitores.
Oficina de Formação para alunos monitores.
 
Slides Proinfo
Slides ProinfoSlides Proinfo
Slides Proinfo
 
Oficina De Inclusão Digital
Oficina De Inclusão DigitalOficina De Inclusão Digital
Oficina De Inclusão Digital
 
Curso Educação Digital
Curso Educação DigitalCurso Educação Digital
Curso Educação Digital
 

Último

Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfAlissonMiranda22
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxRonys4
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
Slide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptxSlide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptxssuserf54fa01
 
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdfCD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdfManuais Formação
 
[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptxLinoReisLino
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 

Último (20)

Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdf
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
Slide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptxSlide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptx
 
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdfCD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
 
[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 

Arduino Workshop: Introdução aos Microcontroladores e Programação

  • 1. Workshop Arduino Francisco Marcelino Almeida franciscomarcelinoalmeida@gmail.com Marcus Vinícius de Sousa Lemos marvinlemos@gmail.com
  • 2. Apresentação Sobre o professor: Marcus Vinícius de Sousa Lemos Mestre em Informática Aplicada pela Universidade de Fortaleza – Unifor Professor da Universidade Estadual do Piauí – Uespi Pesquisador do Laboratório de Inteligência Computacional – Laic - Uespi Auditor Fiscal de Controle Externo (Informática) – TCE/PI Áreas de Interesse: Redes de Sensores, Inteligência Computacional, Robótica marvinlemos@gmail.com http://www.marvinlemos.net @marvinlemos
  • 3. Apresentação Sobre o professor: Francisco Marcelino Almeida de Araújo Mestrando em Biotecnologia pela Universidade Federal do Piauí - UFPI Professor do Instituto Federal do Piauí – IFPI Áreas de Interesse: Inteligência Computacional, Processamento de Imagens, Microeletrônica, Nanotecnologia franciscomarcelinoalmeida@gmail.com http://www.arduinopi.net @keyjin
  • 5. Motivação Convergência: tecnologia, criação e arte Baixo custo de microcontroladores Plataformas de hardware abertas sendo criados Febre Do It Yourself
  • 6. Motivação Diversas aplicações práticas Robôs Roupas eletrônicas Desenvolvimento de celulares customizados Instrumentos musicais Paredes interativas Redes de Sensores
  • 7. Microcontrolador Também conhecido como MCU (Microcontroller Unit) “Computador em um chip” Programado para funções específicas (geralmente para interagir com atuadores) Geralmente embarcados em outros dispositivos
  • 8. Microcontrolador ATmega328 PIC 16F628A Basic Stamp
  • 9. ATMega328P Características do Atmega328: RISC Processador: 8-bit Flash (Kbytes): 32 EEPROM (Bytes): 1K SRAM (Bytes): 2K PWM Channels: 6 Vcc (V): 1.8 – 5.5
  • 11. Arduino Placa + Microcontrolador + USB + Sockets Pode ser conectado a uma grande variedade de dispositivos: Sensores: Luz, temperatura, presença, etc. Displays: LCD, touchscreen Motores e servos GPS Comunicação sem fio: 802.15.4, Zigbee, Bluetooth Ethernet Alimentação: Bateria de 9V ou por meio da USB
  • 12. Da página oficial (www.arduino.org): Arduino  is  an  open­source  electronics  prototyping  platform  based  on  flexible,  easy­to­use  hardware  and  software.  It’s  intended  for  artists,  designers,  hobbyists,  and  anyone  interested  in  creating  interactive  objects or environments. Arduino can sense the environment by receiving input from a variety of  sensors and can affect its surroundings by controlling lights, motors,  and other actuators. The microcontroller on the board is programmed  using the Arduino programming language (based on Wiring) and the  Arduino development environment (based on Processing). Arduino  projects can be stand­alone or they can communicate with software on  running on a computer (e.g. Flash, Processing,MaxMSP). ”
  • 16. Arduino Criado na Itália (em 2005) pelo Mássimo Banzi, no Interaction Design Ivrea Baixo custo de produção e alta aplicabilidade Computação física e redes de sensores Permite que os programas (ou sketches) sejam escritos em uma linguagem de alto nível chamada Processing Processing é um ambiente e linguagem de programação para criar imagens, animação e interação http://processing.org/
  • 21. Versões do Arduino Arduino Romeo All-in-one
  • 22. Características do Arduino Uno Microcontrolador ATmega328P Tensão Operacional 5V Tensão de Alimentação 7-12 V Pinos de I/O digitais 14 (dos quais 6 podem ser saídas PWM) Pinos de entrada analógica 6 Corrente contínua por pino de I/O 40 mA Corrente contínua para o pino de 3.3 V 50 mA Memória Flash 2KB EEPROM 1K Frequência de clock 16 MHz
  • 24.
  • 25. Ok... but first, let's go shopping
  • 30. Ambiente de Desenvolvimento O ambiente de desenvolvimento pode ser baixado em: ● http://arduino.cc/en/Main/Software ● A última versão é a 0022 O arquivo compactado deve ser extraído em qualquer diretório do sistema Será criado um diretório arduino-XXXX, onde XXXX é a versão baixado (por exemplo: arduino-0022).
  • 33. Configurando o Ambiente Linux Conecte o Arduino ao seu computador, por meio da porta USB e espere alguns segundos até que o sistema recoheça o dispositivo Para confirmar se o dispositivo foi reconhecido, abra um terminal e execute o comando abaixo: $ dmesg Procure, nas últimas linhas, por uma linha mais ou menos parecida com a de baixo: [56999.967291] usb 5-2: FTDI USB Serial Device converter now attached to ttyUSB0 Essa mensagem indica que o kernel reconheceu um novo dispositivo conectado na porta /dev/ttyUSB0. O sistema nem sempre reconhece como /dev/ttyUSB0, mas em geral é /dev/tty<alguma_coisa>
  • 34. Configurando o Ambiente Windows: http://arduino.cc/en/Guide/Windows Mac OSX: http://arduino.cc/en/Guide/MacOSX
  • 35. Configurando o Ambiente Configurar o ambiente de desenvolvimento para utilizar a porta detectado pelo sistema: “Tools” → “Serial Port” Configurar a placa utilizada: “Tools” → “Board” e escolher a opção “Arduino Uno”
  • 36. “Hello World” O primeiro projeto será o equivalente “Hello World” para dispositivos embarcados Como não há um terminal, iremos fazer piscar (blink) um LED. A placa do Arduino vem com um LED embutido, conectado ao pin digital 13 Esta conexão faz com que o pin 13 seja sempre de saída, mas como o LED usa pouca corrente, ainda é possível conectar outras coisas na saída
  • 37. “Hello World” Código: int ledPin = 13; void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards: pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, HIGH); // set the LED on delay(1000); // wait for a second digitalWrite(ledPin, LOW); // set the LED off delay(1000); // wait for a second }
  • 38. “Hello World” Para fazer o upload para a placa, deve-se clicar no botão específico:
  • 39. Explicando o código Um sketch Arduino possui, no mínimo duas funções: setup(): Executada apenas uma vez, durante a inicialização loop(): Função principal
  • 40. Explicando o código setup() pinMode(ledPin, OUTPUT); A função pinMode define o modo de operação do pino. Neste caso, definimos que o pino 13 (ledPin) será de saída
  • 41. Explicando o código loop() digitalWrite(ledPin, HIGH); Permite ligar (5V) ou desligar (0V) um pino digital Neste código especifico, estamos ligando (constante HIGH) o pino 13 (ledPin) Por meio da constante LOW, podemos desligar o pino delay(200) A função delay() faz com que o processado fique X milisegundos em espera
  • 43. Breadboard (Protoboard) Breadboard (ou protoboard ou Matriz de Contato) Dispositivo que permite a construção de circuitos sem a necessidade de solda Fácil prototipação Na superfície há uma base de plástico com vários orifícios onde são encaixados os componentes Na parte inferior há contatos metálicos que interligam os componentes inseridos na placa
  • 44. Breadboard (Protoboard) Breadboard (ou protoboard ou Matriz de Contato) Os furos das linhas verticais estão interligados
  • 45. Resistor Resistor: Componente projetado para gerar uma resistência à corrente elétrica e, consequentemente, diminuir a tensão entre os dois terminais Medido em Ohm e é representado pela letra grega Omega ( Ω ) Os pinos digitais geram uma tensão de 5 V (DC) a 40mA LEDs geralmente precisam de uma tensão de 2 V e corrente de 10mA (para brilhar razoavelmente bem)
  • 46. Resistor Resistor: Precisamos de um resistor capaz de reduzir a tensão de 5 para 2 (Voltage Drop) e a corrente de 40mA para 10mA Para descobrir o valor do resistor apropriado, vamos utilizar a Lei de Ohm: I = V/R ou R = V/ I ou R = (Tensão fornecida – Tensão apropriada) / I ● R = (5 – 2)/0.01 = 3/0.01 = 300 Ω
  • 47. Resistor Como ler os valores dos resistores:
  • 49. LED LED: Light Emmiting Diode Diodo é um componente que permite que a corrente siga apenas uma direção Um LED é um diodo que emite luz
  • 54. LED Flasher Código: int ledPin = 10; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000); }
  • 55. Revisando Componentes: Potenciômetro
  • 56. Potenciômetro O potenciômetro é simplesmente um resistor cuja resistência pode ser ajustada Por exemplo: em um potenciômetro de 4K7, a resistência pode variar entre 0 e 4700 Ω Possui três pernas: Conectando apenas duas, o potenciômetro transforma-se em um resistor variável Conectando 3 e aplicando uma tensão, o potenciômetro transforma-se em um divisor de tensão (voltage divider)
  • 58. Interactive LED Chase Effect Componentes:
  • 59. Interactive LED Chase Effect Conexão:
  • 60. Interactive LED Chase Effect byte ledPin[] = {11,12,13}; void changeLed(){ int ledDelay; //delay between changes int direcao = 1; for (int x = 0; x < 3; x++){ int currentLed = 0; digitalWrite(ledPin[x], LOW); unsigned long changeTime; } int potPin = 2; //select the input pin for the pot digitalWrite(ledPin[currentLed], HIGH); void setup() { currentLed += direcao; for (int x = 0; x < 3; x++){ pinMode(ledPin[x], OUTPUT); if (currentLed == 2) { direcao = -1; } } if (currentLed == 0) { direcao = 1; } changeTime = millis(); } } void loop(){ ledDelay = analogRead(potPin); if ((millis() - changeTime) > ledDelay){ changeLed(); changeTime = millis(); } }
  • 61. Interactive LED Chase Effect Considerações: Inicialmente declaramos uma variável para o potenciômetro: int potPin = 2; O potenciômetro está conectado a uma porta analógica Para ler o valor de uma porta analógica, utilizamos a função analogRead Um Arduino possui 6 portas análogicas com um conversor analógico-digital de 10bits Uma porta análogica pode ler tensão entre 0V e 5V em valores inteiros entre 0 (0V) e 1023 (5V). Resolução de: 5V / 1024 unidades ou 0.0049V (4.9mV) por unidade
  • 62. Revisando Componentes: Tactile Switch
  • 65. Tactile Switch Tactile Switch Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
  • 66. Tactile Switch Além de controlar a corrente, funcionam como ótimos dispositivos de entrada No próximo exemplo, vamos configurar a corrente em um pino para 5V ou terra e usar a função digitalRead para consultar o estado do pino: HIGH ou LOW
  • 67. Tactile Switch /* * Switch test program */ // Switch connected to digital pin 2 int switchPin = 2; void setup() { // set up Serial library at 9600 bps Serial.begin(9600); // sets the digital pin as input to read switch pinMode(switchPin, INPUT); } void loop() { Serial.print("Valor do Switch: "); // Read the pin and display the value Serial.println(digitalRead(switchPin)); delay(100); }
  • 68. Tactile Switch Agora, vamos utilizar um fio para alternar a conexão do pino 2 entre 5V e o terra: Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
  • 69. Tactile Switch Switch input tied LOW (ground) Switch input tied HIGH (5v)
  • 72. Floating high above the clouds Vamos substituir os fios pelo tactile switch O problema é que o switch só pode conectar e desconectar dois fios. Ele não pode alternar conexões Two alternative switch wiring possibilities
  • 73. Floating high above the clouds For example, in these schematics we can connect and disconnect pin 2 to 5V, or we can connect and disconnect pin 2 to ground. In both cases, as long as the button is held down, the pin is connected to a valid input voltage. When the button is released, though, pin 2 is not connected to anything. This is called a floating input voltage. Basically, it's invalid input!
  • 74. Resistor Pull-down/Pull-up Uma solução é usar um switch que alterna conexões, como o utilizado no diagrama abaixo: Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
  • 75. Resistor Pull-down/Pull-up Outra solução seria utilizar um recurso conhecido como resistor pull-down: No esquema abaixo, o resistor pull-down está representado pelo resistor de 10Kohm Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
  • 76. Resistor Pull-down/Pull-up Quando o switch for pressionado, o resistor de 100Ω estará conectado diretamente ao 5V. Quando o switch for liberado, o resistor de 100Ω estará conectado ao resistor de 10K, o qual “puxa-o” (pull-down) para o terra
  • 77. Resistor Pull-down/Pull-up Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
  • 79. Resistor Pull-down/Pull-up Resistor pull-up: Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
  • 84. Interactive LED Flasher ● Código int ledPin = 4; // choose the pin for the LED int inPin = 5; // choose the input pin (for a pushbutton) int val = 0; // variable for reading the pin status void setup() { pinMode(ledPin, OUTPUT); // declare LED as output pinMode(inPin, INPUT); // declare pushbutton as input } void loop(){ val = digitalRead(inPin); // read input value if (val == HIGH) { // check if the input is HIGH digitalWrite(ledPin, LOW); // turn LED OFF } else { digitalWrite(ledPin, HIGH); // turn LED ON } }
  • 85. Exercício Criar um projeto semelhante ao demonstrado no video: Video 001
  • 87. LM35/LM36 – TPM35/TPM36 Sensor de temperatura analógico Estado-sólido (não usa mércurio) A medida que a temperatura muda, a tensão que atravessa um diodo cresce a uma taxa conhecida Não precisa ser calibrado Barato e fácil de usar
  • 88. LM35/LM36 – TPM35/TPM36 a) LM35 b) LM36 Fonte: http://www.ladyada.net/learn/sensors/tmp36.html
  • 89. LM35/LM36 – TPM35/TPM36 Para converter a tensão em temperatura: LM35: Temp in ºC: (V in mV) / 10 LM36: – Temp in ºC: [(V in mV - 500)] / 10
  • 91. Lendo a Temperatura Devemos conectar o pino do saída do sensor diretamente em uma porta analógica do Arduino A tensão de saída do sensor será de 0 a 1.75 (aproximadamente) O tensão lida pelo Arduino é convertido em um valor binário pelo Conversor Analógico Digital Assim, para descobrirmos a temperatura, devemos fazer uma conversão:
  • 92. Lendo a Temperatura Voltage at pin in milliVolts = (reading from ADC) * (5000/1024) This formula converts the number 0-1023 from the ADC into 0- 5000mV (= 5V) Voltage at pin in milliVolts = (reading from ADC) * (3300/1024) This formula converts the number 0-1023 from the ADC into 0- 3300mV (= 3.3V) Para converter a tensão em temperatura, basta utilizarmos a fórmulas definidas anteriormente...
  • 93. Lendo a Temperatura int temperaturaPin = 0; int ledPin = 12; //Converter tensao para temperatura float vIn = 5.0; //Tensao de entrada float temperaturaC = voltagem * 100.0; void setup() delay(1000); { pinMode(ledPin, OUTPUT); Serial.print(temperaturaC); Serial.begin(9600); Serial.println(" graus em C"); } Serial.println(" "); void loop() digitalWrite(ledPin, LOW); { digitalWrite(ledPin, HIGH); delay(1000); //ler o valor do sensor float leitura = analogRead(temperaturaPin); } float voltagem = (leitura * vIn) / 1023.0; //Imprimir a tensão Serial.print(voltagem); Serial.println(" volts");
  • 94. Problems you may encounter with multiple sensors... If, when adding more sensors, you find that the temperature is inconsistant, this indicates that the sensors are interfering with each other when switching the analog reading circuit from one pin to the other. You can fix this by doing two delayed readings and tossing out the first one
  • 96. Sensing Light Uma forma bastante prática de medir a intensidade da luz é usando um LDR LDR = Light-Dependent Resistor Podem ser chamados de Photoresistores Quanto maior a intensidade da luz, menor a resistência 20MΩ = Ambiente “muito escuro” 20KΩ = Ambiente “muito iluminado”
  • 98. LDR as a Voltage Divider A voltage divider is just two resistors in series connected between a voltage supply and ground. If R1 is connected to the voltage supply and R2 is connected to ground then the voltage at the junction between the two resistors is: R2 V =V cc∗ R1 + R 2
  • 99. LDR as a Voltage Divider If R1 is the photoresistor, the voltage will increase with increasing light intensity. If R2 is the photoresistor, the voltage will decrease with increasing light intensity. R2 V =V cc∗ R1 + R 2
  • 100. Sensing Light int ledPin = 13; else{ int sensorPin = 1; digitalWrite(ledPin, HIGH); int period = 400; Serial.println(rawValue); if (acesso != 0){ int limit = 1000; acesso = 0; Serial.println("apagado"); int acesso = 0; } } void setup() { delay(period); pinMode(ledPin, OUTPUT); } Serial.begin(9600); } void loop() { int rawValue = analogRead(sensorPin); if (rawValue < limit){ digitalWrite(ledPin, LOW); if (acesso != 1){ acesso = 1; Serial.println("ligado"); } }
  • 101. Projeto 006: Enviando Informações para o Arduino via Serial
  • 102. Enviando Informações Via Serial int ledPin = 13; int tempoEspera = 500; void setup(){ pinMode(ledPin, OUTPUT); Serial.begin(9600); } void loop(){ char ch; if (Serial.available()){ ch = Serial.read(); if (ch == '0'){ digitalWrite(ledPin, LOW); }else{ digitalWrite(ledPin, HIGH); } } delay(tempoEspera); }
  • 104. Projeto 007: PySerial
  • 106. PySerial from serial import Serial porta = '/dev/ttyACM1' ser=Serial(porta, 19200, timeout=10) ser.readline() #descartar a primeira leitura info=ser.readline() ser.close() print info
  • 107. Função Utilitária: Enviar E-Mail import sys smtpserver = import smtplib smtplib.SMTP("smtp.gmail.com",587) from email.MIMEText import MIMEText smtpserver.ehlo() smtpserver.starttls() to = 'marvin.lemos@tce.pi.gov.br' smtpserver.ehlo user = 'marvinlemos@gmail.com' smtpserver.login(user, password) password = 'senhaaqui' try: def mandar_email(mensagem): smtpserver.sendmail(user,to, msg = MIMEText(mensagem) msg.as_string()) print "e-mail encaminhado" msg['Subject'] = 'Teste' except: msg['From'] = "Marvin Lemos" print "falha ao transmitir e-mail" msg['Reply-to'] = "Marvin Lemos " print sys.exc_info() msg['To'] = to smtpserver.close()
  • 108. Referências Arduino Starter Kit Manual: A Complete Beginners Guide To The Arduino http://www.ladyada.net/learn/arduino/ http://blog.justen.eng.br/