SlideShare uma empresa Scribd logo
1 de 108
Baixar para ler offline
WWoorrkksshhoopp AArrdduuiinnoo 
Francisco Marcelino Almeida 
franciscomarcelinoalmeida@gmail.com 
Marcus Vinícius de Sousa Lemos 
marvinlemos@gmail.com
AApprreesseennttaaççããoo 
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
AApprreesseennttaaççããoo 
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
AArrdduuiinnoo
MMoottiivvaaççããoo 
Convergência: tecnologia, criação e arte 
Baixo custo de microcontroladores 
Plataformas de hardware abertas sendo 
criados 
Febre Do It Yourself
MMoottiivvaaççããoo 
Diversas aplicações práticas 
Robôs 
Roupas eletrônicas 
Desenvolvimento de celulares customizados 
Instrumentos musicais 
Paredes interativas 
Redes de Sensores
MMiiccrrooccoonnttrroollaaddoorr 
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
MMiiccrrooccoonnttrroollaaddoorr 
PIC 16F628A 
ATmega328 
Basic Stamp
AATTMMeeggaa332288PP 
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
AATTMMeeggaa332288PP
AArrdduuiinnoo 
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). ”
AArrdduuiinnoo éé 
OOppeenn--SSoouurrccee
AArrdduuiinnoo ccoomm PPrroottoobbooaarrdd
AArrdduuiinnoo eemm PPaappeell
AArrdduuiinnoo 
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/
VVeerrssõõeess ddoo AArrdduuiinnoo 
Arduino Uno
VVeerrssõõeess ddoo AArrdduuiinnoo 
Arduino Nano
VVeerrssõõeess ddoo AArrdduuiinnoo 
Arduino Mega
VVeerrssõõeess ddoo AArrdduuiinnoo 
Arduino Lilypad
VVeerrssõõeess ddoo AArrdduuiinnoo 
Arduino Romeo All-in-one
CCaarraacctteerrííssttiiccaass ddoo AArrdduuiinnoo UUnnoo 
Microcontrolador ATmega328P 
Tensão Operacional 5 V 
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
AArrdduuiinnoo DDiieecciimmiillaa//UUnnoo
OOkk...... bbuutt ffiirrsstt,, lleett''ss ggoo 
sshhooppppiinngg
KKiitt PPaarraa IInniicciiaannttee
OOuuttrrooss CCoommppoonneenntteess
SSeennssoorreess
““HHeelllloo WWoorrlldd””
AAmmbbiieennttee ddee DDeesseennvvoollvviimmeennttoo 
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).
AAmmbbiieennttee ddee DDeesseennvvoollvviimmeennttoo 
Executar o arquivo 'arduino'
AAmmbbiieennttee ddee DDeesseennvvoollvviimmeennttoo
CCoonnffiigguurraannddoo oo AAmmbbiieennttee 
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>
CCoonnffiigguurraannddoo oo AAmmbbiieennttee 
Windows: 
http://arduino.cc/en/Guide/Windows 
Mac OSX: 
http://arduino.cc/en/Guide/MacOSX
CCoonnffiigguurraannddoo oo AAmmbbiieennttee 
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”
““HHeelllloo WWoorrlldd”” 
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
““HHeelllloo WWoorrlldd”” 
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 
}
““HHeelllloo WWoorrlldd”” 
Para fazer o upload para a placa, deve-se 
clicar no botão específico:
EExxpplliiccaannddoo oo ccóóddiiggoo 
Um sketch Arduino possui, no mínimo duas 
funções: 
setup(): 
Executada apenas uma vez, durante a inicialização 
loop(): 
Função principal
EExxpplliiccaannddoo oo ccóóddiiggoo 
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
EExxpplliiccaannddoo oo ccóóddiiggoo 
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
RReevviissaannddoo CCoommppoonneenntteess:: 
BBrreeaaddbbooaarrdd,, RReessiissttoorr && 
LLEEDD
BBrreeaaddbbooaarrdd ((PPrroottoobbooaarrdd)) 
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
BBrreeaaddbbooaarrdd ((PPrroottoobbooaarrdd)) 
Breadboard (ou protoboard ou Matriz de Contato) 
Os furos das linhas verticais 
estão interligados
RReessiissttoorr 
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)
RReessiissttoorr 
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 Ω
RReessiissttoorr 
Como ler os valores dos resistores:
RReessiissttoorr
LLEEDD 
LED: 
Light Emmiting Diode 
Diodo é um componente que permite que a corrente 
siga apenas uma direção 
Um LED é um diodo que emite luz
PPrroojjeettoo 000011:: 
LLEEDD FFllaasshheerr
LLEEDD FFllaasshheerr 
Componentes:
LLEEDD FFllaasshheerr 
Conexão:
LLEEDD FFllaasshheerr
LLEEDD FFllaasshheerr 
Código: 
int ledPin = 10; 
void setup() { 
pinMode(ledPin, OUTPUT); 
} 
void loop() { 
digitalWrite(ledPin, HIGH); 
delay(1000); 
digitalWrite(ledPin, LOW); 
delay(1000); 
}
RReevviissaannddoo CCoommppoonneenntteess:: 
PPootteenncciiôômmeettrroo
PPootteenncciiôômmeettrroo 
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)
PPrroojjeettoo 000022:: 
IInntteerraaccttiivvee LLEEDD 
CChhaassee EEffffeecctt
IInntteerraaccttiivvee LLEEDD CChhaassee EEffffeecctt 
Componentes:
IInntteerraaccttiivvee LLEEDD CChhaassee EEffffeecctt 
Conexão:
IInntteerraaccttiivvee LLEEDD CChhaassee EEffffeecctt 
byte ledPin[] = {11,12,13}; 
int ledDelay; //delay between changes 
int direcao = 1; 
int currentLed = 0; 
unsigned long changeTime; 
int potPin = 2; //select the input pin for 
the pot 
void setup() { 
for (int x = 0; x < 3; x++){ 
pinMode(ledPin[x], OUTPUT); 
} 
changeTime = millis(); 
} 
void loop(){ 
ledDelay = analogRead(potPin); 
if ((millis() - changeTime) > ledDelay){ 
changeLed(); 
changeTime = millis(); 
} 
} 
void changeLed(){ 
for (int x = 0; x < 3; x++){ 
digitalWrite(ledPin[x], LOW); 
} 
digitalWrite(ledPin[currentLed], HIGH); 
currentLed += direcao; 
if (currentLed == 2) { direcao = -1; } 
if (currentLed == 0) { direcao = 1; } 
}
IInntteerraaccttiivvee LLEEDD CChhaassee EEffffeecctt 
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
RReevviissaannddoo CCoommppoonneenntteess:: 
TTaaccttiillee SSwwiittcchh
TTaaccttiillee SSwwiittcchh 
Tactile Switch
TTaaccttiillee SSwwiittcchh 
Tactile Switch
TTaaccttiillee SSwwiittcchh 
Tactile Switch 
Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
TTaaccttiillee SSwwiittcchh 
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
TTaaccttiillee SSwwiittcchh 
/* 
* 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); 
}
TTaaccttiillee SSwwiittcchh 
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
TTaaccttiillee SSwwiittcchh 
Switch input tied HIGH (5v) 
Switch input tied LOW (ground)
TTaaccttiillee SSwwiittcchh
TTaaccttiillee SSwwiittcchh 
Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
FFllooaattiinngg hhiigghh aabboovvee tthhee cclloouuddss 
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
FFllooaattiinngg hhiigghh aabboovvee tthhee cclloouuddss 
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!
RReessiissttoorr PPuullll--ddoowwnn//PPuullll--uupp 
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
RReessiissttoorr PPuullll--ddoowwnn//PPuullll--uupp 
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
RReessiissttoorr PPuullll--ddoowwnn//PPuullll--uupp 
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
RReessiissttoorr PPuullll--ddoowwnn//PPuullll--uupp 
Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
RReessiissttoorr PPuullll--ddoowwnn//PPuullll--uupp
RReessiissttoorr PPuullll--ddoowwnn//PPuullll--uupp 
Resistor pull-up: 
Fonte: http://www.ladyada.net/learn/arduino/lesson5.html
RReessiissttoorr PPuullll--ddoowwnn//PPuullll--uupp
PPrroojjeettoo 000033:: 
IInntteerraaccttiivvee LLEEDD FFllaasshheerr
IInntteerraaccttiivvee LLEEDD FFllaasshheerr 
Componentes:
IInntteerraaccttiivvee LLEEDD FFllaasshheerr 
Conexão:
IInntteerraaccttiivvee LLEEDD FFllaasshheerr 
● 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 
} 
}
EExxeerrccíícciioo 
Criar um projeto semelhante ao demonstrado 
no video: 
Video 001
PPrroojjeettoo 000044:: 
TTeemmppeerraattuurree SSeennssoorr
LLMM3355//LLMM3366 –– TTPPMM3355//TTPPMM3366 
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
LLMM3355//LLMM3366 –– TTPPMM3355//TTPPMM3366 
a) LM35 
b) LM36 
Fonte: http://www.ladyada.net/learn/sensors/tmp36.html
LLMM3355//LLMM3366 –– TTPPMM3355//TTPPMM3366 
Para converter a tensão em temperatura: 
LM35: 
Temp in ºC: (V in mV) / 10 
LM36: 
– Temp in ºC: [(V in mV - 500)] / 10
LLeennddoo aa TTeemmppeerraattuurraa
LLeennddoo aa TTeemmppeerraattuurraa 
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:
LLeennddoo aa TTeemmppeerraattuurraa 
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...
LLeennddoo aa TTeemmppeerraattuurraa 
int temperaturaPin = 0; 
int ledPin = 12; 
float vIn = 5.0; //Tensao de entrada 
void setup() 
{ 
pinMode(ledPin, OUTPUT); 
Serial.begin(9600); 
} 
void loop() 
{ 
digitalWrite(ledPin, HIGH); 
//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"); 
//Converter tensao para temperatura 
float temperaturaC = voltagem * 100.0; 
delay(1000); 
Serial.print(temperaturaC); 
Serial.println(" graus em C"); 
Serial.println(" "); 
digitalWrite(ledPin, LOW); 
delay(1000); 
}
PPrroobblleemmss yyoouu mmaayy eennccoouunntteerr 
wwiitthh mmuullttiippllee sseennssoorrss...... 
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
PPrroojjeettoo 000055:: 
SSeennssiinngg LLiigghhtt
SSeennssiinngg LLiigghhtt 
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”
SSeennssiinngg LLiigghhtt
LLDDRR aass aa VVoollttaaggee DDiivviiddeerr 
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: 
V =V cc∗ 
R2 
R1+ R2
LLDDRR aass aa VVoollttaaggee DDiivviiddeerr 
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. 
V =V cc∗ 
R2 
R1+ R2
SSeennssiinngg LLiigghhtt 
int ledPin = 13; 
int sensorPin = 1; 
int period = 400; 
int limit = 1000; 
int acesso = 0; 
void setup() 
{ 
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"); 
} 
} 
else{ 
digitalWrite(ledPin, HIGH); 
Serial.println(rawValue); 
if (acesso != 0){ 
acesso = 0; 
Serial.println("apagado"); 
} 
} 
delay(period); 
}
PPrroojjeettoo 000066:: 
EEnnvviiaannddoo IInnffoorrmmaaççõõeess 
ppaarraa oo AArrdduuiinnoo vviiaa SSeerriiaall
EEnnvviiaannddoo IInnffoorrmmaaççõõeess VViiaa SSeerriiaall 
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); 
}
EEnnvviiaannddoo IInnffoorrmmaaççõõeess VViiaa SSeerriiaall
PPrroojjeettoo 000077:: 
PPyySSeerriiaall
apt-get install python-serial -y
PPyySSeerriiaall 
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
FFuunnççããoo UUttiilliittáárriiaa:: 
EEnnvviiaarr EE--MMaaiill 
import sys 
import smtplib 
from email.MIMEText import MIMEText 
to = 'marvin.lemos@tce.pi.gov.br' 
user = 'marvinlemos@gmail.com' 
password = 'senhaaqui' 
def mandar_email(mensagem): 
msg = MIMEText(mensagem) 
msg['Subject'] = 'Teste' 
msg['From'] = "Marvin Lemos" 
msg['Reply-to'] = "Marvin Lemos " 
msg['To'] = to 
smtpserver = 
smtplib.SMTP("smtp.gmail.com",587) 
smtpserver.ehlo() 
smtpserver.starttls() 
smtpserver.ehlo 
smtpserver.login(user, password) 
try: 
smtpserver.sendmail(user,to, 
msg.as_string()) 
print "e-mail encaminhado" 
except: 
print "falha ao transmitir e-mail" 
print sys.exc_info() 
smtpserver.close()
RReeffeerrêênncciiaass 
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 Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerGlobalcode
 
Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015Gustavo Yoshio Maruyama
 
Arduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreArduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreMarcelo Laranjeira Melo
 
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
 
Workshop iniciação à robótica - Gyro
Workshop iniciação à robótica - GyroWorkshop iniciação à robótica - Gyro
Workshop iniciação à robótica - GyroArticacc, Lda
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoArticacc, Lda
 
Introdução à plataforma Arduino
Introdução à plataforma ArduinoIntrodução à plataforma Arduino
Introdução à plataforma Arduinoentrebits
 
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
 
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
 
Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestraVitor Ferreira
 
Introdução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoIntrodução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoFelipe Martins
 
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
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 

Mais procurados (20)

Arduino
ArduinoArduino
Arduino
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius Senger
 
Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015
 
Arduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreArduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livre
 
Aula 1: Conhecendo o Arduino
Aula 1: Conhecendo o ArduinoAula 1: Conhecendo o Arduino
Aula 1: Conhecendo o Arduino
 
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
 
Workshop iniciação à robótica - Gyro
Workshop iniciação à robótica - GyroWorkshop iniciação à robótica - Gyro
Workshop iniciação à robótica - Gyro
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - Farrusco
 
Introdução à plataforma Arduino
Introdução à plataforma ArduinoIntrodução à plataforma Arduino
Introdução à plataforma Arduino
 
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
 
Introdução a plataforma arduino
Introdução a plataforma arduinoIntrodução a plataforma arduino
Introdução a plataforma arduino
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
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
 
Arduino Hack Day Corumbá
Arduino Hack Day CorumbáArduino Hack Day Corumbá
Arduino Hack Day Corumbá
 
Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestra
 
Introdução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoIntrodução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-curso
 
Curso de Arduino Completo
Curso de Arduino CompletoCurso de Arduino Completo
Curso de Arduino Completo
 
Curso de arduino
Curso de arduinoCurso de arduino
Curso de arduino
 
Sestinfo 2013 - Arduino
Sestinfo 2013 - ArduinoSestinfo 2013 - Arduino
Sestinfo 2013 - Arduino
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 

Destaque

Destaque (20)

Acuarelas
AcuarelasAcuarelas
Acuarelas
 
3. PlaneacióN Prospectiva. Parte 2
3. PlaneacióN Prospectiva. Parte 23. PlaneacióN Prospectiva. Parte 2
3. PlaneacióN Prospectiva. Parte 2
 
Davidshallarnas egen grafiska profil
Davidshallarnas egen grafiska profilDavidshallarnas egen grafiska profil
Davidshallarnas egen grafiska profil
 
Presentacion SuperVision Movil
Presentacion SuperVision MovilPresentacion SuperVision Movil
Presentacion SuperVision Movil
 
Demanda Ciudadana
Demanda CiudadanaDemanda Ciudadana
Demanda Ciudadana
 
Anthony Barnosky
Anthony BarnoskyAnthony Barnosky
Anthony Barnosky
 
marketing profile2016
marketing profile2016marketing profile2016
marketing profile2016
 
11 mol
11 mol11 mol
11 mol
 
Act 3 3
Act 3 3Act 3 3
Act 3 3
 
MODELOS DE COLOR
MODELOS DE COLORMODELOS DE COLOR
MODELOS DE COLOR
 
Blog如何改变了我的生活
Blog如何改变了我的生活Blog如何改变了我的生活
Blog如何改变了我的生活
 
Cumbre
CumbreCumbre
Cumbre
 
Trabajo carol sql
Trabajo  carol sqlTrabajo  carol sql
Trabajo carol sql
 
Punt i coma mayra i javi
Punt i coma mayra i javiPunt i coma mayra i javi
Punt i coma mayra i javi
 
Creació logotip
Creació logotipCreació logotip
Creació logotip
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Exposición ccmc, 2ª avaliación, inundacións.
Exposición ccmc, 2ª avaliación, inundacións.Exposición ccmc, 2ª avaliación, inundacións.
Exposición ccmc, 2ª avaliación, inundacións.
 
Máquinas y fotos
Máquinas y fotosMáquinas y fotos
Máquinas y fotos
 
Presentacion Flor Power Point II
Presentacion Flor Power Point IIPresentacion Flor Power Point II
Presentacion Flor Power Point II
 
Actividades Culturales Programa Cultura 25 Noviem[1].
Actividades Culturales    Programa Cultura 25 Noviem[1].Actividades Culturales    Programa Cultura 25 Noviem[1].
Actividades Culturales Programa Cultura 25 Noviem[1].
 

Semelhante a Workshop Arduino

Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduinoWalter Coan
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino Edgley Xavier
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceRicardo Rufino
 
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
 
Robótica com Arduino para projetos em ronótica
Robótica com Arduino para projetos em ronóticaRobótica com Arduino para projetos em ronótica
Robótica com Arduino para projetos em ronóticaprofandersrodri
 
Ufes erus minicurso arduino
Ufes erus minicurso arduinoUfes erus minicurso arduino
Ufes erus minicurso arduinotamarasalvatori
 
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
 
Apostila arduino
Apostila arduinoApostila arduino
Apostila arduinoEdson Paz
 
Mini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosMini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosSuzana Viana Mota
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoSamir Siqueira
 
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
 
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
 
Aprendendo a programar em arduino
Aprendendo a programar em arduinoAprendendo a programar em arduino
Aprendendo a programar em arduinoinfo_cimol
 
38698469 slides-arduino
38698469 slides-arduino38698469 slides-arduino
38698469 slides-arduinoRui Alves
 
Apostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFApostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFengelrfs
 

Semelhante a Workshop Arduino (20)

Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduino
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDevice
 
Erus minicurso arduino
Erus minicurso arduinoErus minicurso arduino
Erus minicurso arduino
 
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
 
Robótica com Arduino para projetos em ronótica
Robótica com Arduino para projetos em ronóticaRobótica com Arduino para projetos em ronótica
Robótica com Arduino para projetos em ronótica
 
Tut arduino
Tut arduinoTut arduino
Tut arduino
 
Tut arduino
Tut arduinoTut arduino
Tut arduino
 
Ufes erus minicurso arduino
Ufes erus minicurso arduinoUfes erus minicurso arduino
Ufes erus minicurso 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
 
Apostila arduino
Apostila arduinoApostila arduino
Apostila arduino
 
Mini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosMini Curso Sistemas Embarcados
Mini Curso Sistemas Embarcados
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduino
 
3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino3 aula do curso de automação - Arduino
3 aula do curso de automação - 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)
 
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
 
Aprendendo a programar em arduino
Aprendendo a programar em arduinoAprendendo a programar em arduino
Aprendendo a programar em arduino
 
Arduino como programar
Arduino como programarArduino como programar
Arduino como programar
 
38698469 slides-arduino
38698469 slides-arduino38698469 slides-arduino
38698469 slides-arduino
 
Apostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFApostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDF
 

Workshop Arduino