Buscar

IOT - Uninassau

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 133 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 133 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 133 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

OANA IVee 
COM ARDUINO 
KARIEN CAROLLINE MENDONCA VITAL 
JOSE DE ASSIS 
 
Presidente do Conselho de Administragdo Janguié Diniz 
Diretor-presidente Janyo Diniz 
Diretoria Executiva de Ensino Adriano Azevedo 
Diretoria Executiva de Servigos Corporativos Joaldo Diniz 
Diretoria de Ensino a Distancia Enzo Moreira 
Autoria Profa. Karien Carolline Mendonca Vital 
Prof. José de Assis 
Projeto Graficoe Capa DP Content 
DADOS DO FORNECEDOR 
Analise de Qualidade, Edigdo de Texto, Design Instrucional, 
Edic¢do de Arte, Diagramacao, Design Grafico e Revisdo. 
© Ser Educacional 2019 
Rua Treze de Maio, n° 254, Santo Amaro 
Recife-PE - CEP 50100-160 
*Todos os graficos, tabelas e esquemas sao creditados a autoria, salvo quando indicada a referéncia. 
Informamos que é de inteira responsabilidade da autoria a emissdo de conceitos. 
Nenhuma parte desta publicacdo podera ser reproduzida por qualquer meio 
ou forma sem autorizacgao. 
Aviolacao dos direitos autorais é crime estabelecido pela Lei n.° 9.610/98 e punido pelo 
artigo 184 do Codigo Penal. 
Imagens de icones/capa: © Shutterstock
 
 
 
ASSISTA 
Indicagao de filmes, videos ou similares que trazem informagées comple- 
mentares ou aprofundadas sobre o contetido estudado. 
CITANDO 
Dados essenciais e pertinentes sobre a vida de uma determinada pessoa 
relevante para o estudo do contetido abordado. 
CONTEXTUALIZANDO 
Dados que retratam onde e quando aconteceu determinado fato; 
demonstra-se a situagao historica do assunto. 
CURIOSIDADE 
Informagao que revela algo desconhecido e interessante sobre o assunto 
tratado. 
DICA 
Um detalhe especifico da informagao, um breve conselho, um alerta, uma 
informacao privilegiada sobre o contetido trabalhado. 
EXEMPLIFICANDO 
Informagao que retrata de forma objetiva determinado assunto. 
EXPLICANDO 
Explicagao, elucidagao sobre uma palavra ou expressao especifica da 
area de conhecimento trabalhada.
 
Unidade 1 - Elétrica, eletrénica e a internet das coisas 
Objetivos da umidade oo... es cecseccseecseescsescseeeseessecesseesneesssceseecensesseesueesnseeaeesneesaneeseensees 13 
Eletricidade oo... eecssseecssseesssseecssseessnecssneesssecssnesssseessaseessnsesssneessnseeesnseessneesneeesneses 14 
Tensao... 
 
Corrente .... 
Resisténcia elétrica 
 
Conceito de eletrénica analégica e digital 
Logica booleana e circuitos logicos 
 
Contadores e registradores 
 
loT — Conceitos basicos 
 
Arduino x internet das coisas 
Tipos de Arduino — Uno, Leonardo e outro 
Sintetizando 
Referéncias bibliograficas. 
 
 
Unidade 2 - Sistemas embarcados 
Objetivos da unidade......cssesccsseeessseeesssessseneessneesseneessseeeensneseneaeessenesssanenns 48 
MUCrOCONTOIACOFOS aise ssntesnsesncesavassenssnnssnnsannannsannsaaneaansncesniecnanenseuneuusenecity 49 
Componentes eletrOnicos DaSiCOS .......seeeseeessteeesteeeesneeeeeeesenneeeeneeeeeneeens 49 
Introdugdo aos MicrocontroladOres ........cccscseeeseseeseeeeeeeeesereeeeeeeeeeeeeeeneeeees a7 
Arquitetura dos microcontroladOres.....ccscccessecesssesesteeeseseeeeeseesesaeessseeeeeaeees 59 
Plataforma Arduino sssssssssssssssctssssnevessvevsscensssnnnssinventeeseneneseniecereseececee 61 
Introdugdo aos sistemas embarcadOs .......sscecsseessseeessceeeeseeeeeseeeeeseeneeseenenenes 67 
Arquitetura de sistemas EMbarcadOS ....ssssesccesseeesteeeseteeessneeeeneessneeeseneees 68 
Interfaces de comunicagao ........0+8 hoeticcetaseuasocsseceseceuscetuetdnetasuiusnnusenidanidsnenelOO 
Dispositivos:deventrada:e:salda isis cccvssewsesrencerwsnsrvsreevesssecssssevevevevesccsses 72 
Sensores e/Atuad Ores sscssssssssstsasieceteceteeeteeetenenenerenenesanneaeneenaienanenanenaneay 73 
SintetizandO .....sccccsceeeeseeeeseeeeesceeessceeeesceeeeeeeesoeeeeseneeesneesnseueeaeenensceneneaenees 76 
Referéncias bibliograficas ........sssssssessseeesseeeesseeersseeeeseeeeseeenesseereneeeesseenens a
 
Unidade 3 - IDEs e programacao de sistemas embarcados 
Objetivo da unidade .......sssssccsssesssseeessseesseeessseeessensesseeesensneesseaeesseneessaeenans 79 
Ambiente de Desenvolvimento Integrado — IDES.....s+sssssssseerssseressneresseersseeens 80 
Caracteristicas do Arduino IDE........cccsssccssecsssesseseseseesssssssessesssessseseeeaeaess 80 
Linguagens de programagao........ccccscesessseseseseeeeeeeeeeeeeeeeseeeeeeeeeeeseeeeeneeenes 85 
Programaga@o de sistemas embarcadOs ......ssecsseeesseeesseeeesscereseeeeeseeeesseensseees 85 
SKOteN sssvessvssavsnevssesvseavsensesncnnaannsnansnaeanassnaesnnsrnnwsnswesssesssassssesssusseswsey 86 
VAN OVGIS sesscecescecesscacanscexesenenssecresssesessserenserenesenenniereennneenemmenennnnmnaes 88 
Operad OLS 'vccesevecevevexsececssevesvevevexevessecesssveevexeveseecessmemmummemenevennsuececess 88 
Estruturas de:Controle....isscssscsserireneivavsieaearantsvavnscesssecesesesesesceseseceses 93 
FUNGOOS ss .ccssssccsssessscssscssstscsasscsaaniananariarvesnanenersstesstesctecsercsetsccesecs 99 
Entradas:esaldas igttais’ssisssssssesevevssernserwseverwserensesevessssesssevevsrevessseess 100 
BiDNOt@ CaS wcccsccccssscsssesesssesssssscedesereseuevesetereseteresesedesacedeanenecanenevaeneneeeee 102 
Sintetizand .....sccccsccceeseeesecceeeseeeeeesceeesseeeesceeeeseeeeesceeesnceneseaesescnesnscneenenens 106 
Referéncias bibliograficas ........sssssssessseeessseeesseeeesseeeeseeeeseeeeenseerenseeesseeeees 107
 
Unidade 4 - Programacao de sistemas embarcados 
CC OU CC 109 
Projeto de hardware e software Com MicrocontroladOLes...........ssssscsescsseeseneeecenees 110 
Desenvolvimento de um projeto de sistema EMbarcado .........ssssssescssecesneeeseneeese 110 
Vinton eho aa robs Ot ak sci scssccccsscescscaccsgascasszemncneuccocepcatus apnsoasgcacnsncanszcatantriucecccmasecnncencauet 123 
Leis da robotica. 
Tipos de robés.... 
 
Introdugao a automagao 
Automagao industrial. 
Automagao comercial 
Automagao residencial ........csssessssssessssssnsecsssssnsesssssssesssssssmesesssssecsesssneceessnseeeesnnsets 131 
 
Sintetizam isiccsisssscscsisiiasscavessecassissnsessvecesccuvivususteusasitnssaswasecusterocacetunseescescctssetbaivassavineuediss 132 
Referéncias bibliograticas sisiisscsssscisissicsccssccosscscscsoserecvessectaccescssscssversessecoesencniecscsatensiaed 133
10T—PROGRAMACAO COM ARDUINO &
PV Ceca) 
 
Atualmente, experiéncias com o desenvolvimento, implementacao e oti- 
mizacao de sistemas embarcados conferem um diferencial aos profissionais 
de tecnologia, pois estes adquirem uma gama de competéncias e capacida- 
de resolutiva. 
Convido vocé a entrar nesta jornada de aprendizado que o universo dos 
sistemas embarcados nos proporciona, trazendo a tona inumeras possibilida- 
des e conhecimentos imprescindiveis para o desenvolvimento de ferramen- 
tas que possam contribuir de forma significativa para o avanco tecnoldgico 
em nossa sociedade. 
10T—PROGRAMACAO COM ARDUINO &
A autora 
 
A professora Karien Carolline Men- 
donga Vital é técnica em Processamen- 
to de Dados e Web Design pelo Liceu 
Camilo Castelo Branco, graduada em 
 
Psicopedagogia Institucional e Clinica 
pela Unijales, possui bacharelado em 
Sistemas de Informagdo pela Universi- 
dade Paulista, especializagado em Ges- 
tao de Projetos - PMI pela FMU, Gestdo 
de Riscos pela CTA NET e Seguranca da 
Informagao - ISO 27.002 pela CTA NET. 
Especialista em Robotica Educacional, 
orientadora em Olimpiada Brasileira de 
Robotica (OBR) e Competi¢do Brasileira 
de Robotica 2014 (LARC/CBR). 
Leciona em Cursos Técnicos ligados a 
.. 7 7 area de Tecnologia desde 2013, profes- 
Sem base sélida nao se constroi 
qualquer estrutura, sem o apoio 
de minha familia e minha fé, 
jamais teria chegado até aqui. Ministra aulas de Robotica Livre Educa- 
sora titular do Curso Técnico Eixo Tec 
noldgico da Informagao e Comunicagao. 
Minha eterna gratiddo também cional e palestras sobre o uso das TIC's 
aos mestres que encontrei na educacdo. 
ao longo de minha jornada 
académicae que tanto me Curriculo Lattes: 
ensinaram, e aos meus alunos, 
http://lattes.cnpq.br/5644055316123861 
pela eterna troca de aprendizado. 
10T- PROGRAMACAO COM ARDUINO © 
 
O professor José de Assis é formado 
em eletrénica e gestdo de TI, certifica- 
do em Linux LPIC-I e atua como docente 
nas areas de Arduino, Robdtica Educa- 
 
cional e Programacdo. 
Sem base solida e sem apoio ndo se constroi qualquer estrutura. Agradeco 
ao apoio da minha familia e dedico este livro-texto aos meus filhos Victor 
e Pedro e ao professor Jefferson Costa, um excelente profissional e uma 
pessoa muito generosa. 
 
10T—PROGRAMACAO COM ARDUINO 2)
 
 
% 
Sef 
educacional
CME MITC Els 
® Conhecer os componentes eletrénicos basicos e sua disponibilidade no 
mercado; 
@ Desenvolver raciocinio ldgico; 
@ Conhecer conceitos de elétrica; 
® Contextualizar o uso de sistemas embarcados na atualidade. 
Topicos de estudo 
@ Eletricidade 
Tensdo 
Corrente 
Resisténcia elétrica 
EM atlinok Meta celal (ot Me Tarl Cog 
F4(or- motte] | 
Logica booleana e circuitos 
eys4TeCoh<3 
Contadores e registradores 
@ loT - Conceitos basicos 
Arduino x internet das coisas 
Tipos de Arduino - Uno, Leo- 
nardo e outros 
|0T-PROGRAMACAD COM ARDUINO & 
 ® ** Eletricidade 
Nao podemos falar sobre eletricidade e nao falarmos dos atomos. Os atomos 
sdo unidades simples de matéria, ou seja, deles que advém as cargas positivas 
(protons) e negativas (elétrons) de energia. 
ELETRON 
 
Figura 1. Representagao do dtomo. 
A eletricidade é um fendmeno fisico que se da através das cargas elétricas 
em movimento ou inertes e pela interacdo exercida por elas. Conceitualmente 
falando, é uma troca idnica dos elétrons na camada de Valenca. 
A tensdo é uma grandeza elétrica 
 
também conhecida como diferenca 
de potencial elétrico (DDP). Este DDP 
é a forga usada para que os elétrons 
se movimentem, criando assim uma 
corrente, a ela damos o nome de “cor- 
rente elétrica”. 
Essa tensdo pode ser alternada - 
apds um tempo nao determinado, sea 
 
polaridade for alterada - ou continua. 
10T—PROGRAMACAO COM ARDUINO ©
A unidade de medida da tensdo sao os volts (V). 
Para o calculo da tensdo utilizamos a Lei de Ohm, em que: 
V =Tensao 
| = Corrente 
R = Resisténcia 
A formula basica para 0 calculo da tensdo, segundo a Lei de Ohm, 6: V=1*R. 
© * Corrente 
Perez e Daros (2013, p. 13) definem corrente elétrica como um “fluxo de elé- 
 
trons que circula em um condutor”. Este movimento de elétrons entre atomos 
se da por um condutor, e a ele damos 0 nome de corrente elétrica. 
Para que haja esta movimentacdo de elétrons entre os dtomos, deve-se 
existir uma diferenca de tensao. 
Podemos medir a corrente elétrica de trés formas diferentes, através do 
ampere (A), do microampere e do miliampere. 
Existe uma diferenga entre o sentido da corrente, pois, na fisica, a corrente 
segue do polo negativo para o positivo. Observe o esquema abaixo que repre- 
senta o sentido real: 
OOOO 
POLO - 
SENTIDO REAL 
 
Figura 2. Corrente fisica 
Ja na eletrénica, 0 sentido convencional é adota- 
do e a corrente segue 0 fluxo do polo positivo para 
o negativo. 
 
10T—PROGRAMACAO COM ARDUINO ©
Cr Cr Or Cr O> 
POLO + POLO - 
SENTIDO CONVENCIONAL 
 
Figura 3. Corrente fisica 
Dividimos ainda a corrente elétrica em trés tipos: alternada, pulsan- 
te e continua. Vamos agora conhecer um pouco mais sobre cada uma 
destas correntes. 
i (5). 
t(s) 
Figura 4. Representacd 
 
rrente alternada 
Na corrente alternada existe uma “alternancia ciclica” entre a direcdo ea 
intensidade, temos uma corrente por vezes negativa e outras vezes positiva. 
Podemos citar como exemplo a energia de uma tomada. 
 
Figura 5. Representaca 
 
te continua 
10T—PROGRAMACAO COM ARDUINO ©
Acorrente continua nunca tem o seu sentido alterado, permanecendo sempre 
positiva ou sempre negativa, como mostra a Figura 5. Podemos citar como exem- 
plo de corrente continua, a pilha. 
i (A) 
t (s) 
 
A corrente pulsante advém da corrente continua, onde os elétrons variam 
de intensidade no decorrer do fio, embora tenham um sentido constante. Ape- 
sar disso, 0 sentido da corrente ndo é alterado. Como exemplo, podemos citar 
a retificagdo de correntes alternadas. 
a 
Resisténcia elétrica 
A resisténcia elétrica nada mais é do que a dificuldade que um condutor im- 
p6e durante a passagem da corrente elétrica por ele. Quanto menor for o nume- 
ro de elétrons livres, maior sera a resisténcia. 
Para que seja possivel mensurar a resisténcia, amesma é medida em Ohms e 
representada pela letra grega 6mega Q. 
Resistor Potenciémetro 
 
‘omo resistores. Fonte: PEREZ; DAROS, 2013. (Adaptado). 
10T—PROGRAMACAO COM ARDUINO ®& 
 
Figura 7. Exen s de componentes 
Resistor: 6 um componente eletrénico de tipo fixo que limita o fluxo da corrente 
elétrica. Geralmente eles sao compostos por filme carbono, e, para que possamos 
identificd-los, vemos quatro faixas pintadas em seu corpo. Cada faixa representa 
uma determinada funcionalidade, a saber: 
Indica 0 primeiro nimero Indica o multiplicador 
Indica o segundo némero Indica a tolerancia 
 
Figura 8. Resistor. Fonte: PEREZ; DAROS, 2013. (Adaptado). 
10T—PROGRAMACAO COM ARDUINO ©
TABELA 1. TABELA DE REFERENCIA PARA IDENTIFICACAO DOS RESISTORES 
Potenciédmetro: o potencidmetro é um resistor do tipo variavel, isto signi- 
fica que ele possui um divisor de tensdo que proporciona um ajuste no seu 
nivel de resisténcia de acordo com a necessidade do circuito em que esta 
sendo utilizado. 
LDR (resistor dependente de luz): assim como 0 potenciémetro, o LDR tam- 
bém é um resistor do tipo variavel. Sua grande diferencga se da pela conversdo 
do espectro de luz em resisténcia, ou seja, quanto mais intensa a luz incidida, 
10T—PROGRAMACAO COM ARDUINO &
menor sera a resisténcia. A leitura do espectro de luz é feita através da cabeca 
achatada do LDR. 
 
Conceitos de eletrénica analogica e digital 
Antes de discorrermos sobre a diferenga entre “eletrénica analdgica” e “ele- 
trdnica digital”, devemos pensar primeiramente sobre 0 que é eletrénica e qual 
aimportancia dela no nosso contexto. 
Segundo Perez e Darés (2013), a eletr6nica pode ser definida como a ciéncia 
que estuda formas de controlar a energia elétrica por meios elétricos. 
Podemos dizer ainda que a eletrénica é responsavel por estudar os compo- 
nentes eletrénicos e elétricos que contemplam os circuitos elétricos. 
CURIOSIDADE 
Durante a Segunda Guerra Mundial, a Eletrénica era muito utilizada na 
transmiss&o e recepgao de radios, e por este motivo seu estudo era con- 
tido em outras disciplinas, como por exemplo, a Eletromecanica. Somente 
em meados do século XX que a disciplina teve sua ‘independéncia’ e 
passou a ser estudada separadamente como conhecemos atualmente. 
Agora que ja sabemos 0 que é eletrdnica, vejamos alguns exemplos de sua 
aplicabilidade em nosso contexto. 
Podemos citar a criagdo do ENIAC, 
o primeiro computador a valvula, de- 
senvolvido na Universidade da Pensil- 
vania, em 1946. Esta inven¢gdo foi um 
marco para o mundo da computa¢do 
e de fundamental importancia para a 
evolucgdo da tecnologia como temos 
atualmente, assim como a invencdo 
 
do transistor - em 1947, por William 
Sockley - e o desenvolvimento do primeiro circuito integrado, em 1958. 
10T—PROGRAMACAO COM ARDUINO ©
 
Figura 9. P. nadoras trabalhando no ENIAC. Fonte: LINIK 
Assim como em outros segmentos, a area de eletrénica possui padrées de 
unidades de medidas, conforme mostra a Tabela 2. 
TABELA 2. SISTEMA INTERNACIONAL DE UNIDADES DE MEDIDAS 
be 
DT CET Cy 
err) Nelle timer 
eer ursst) 
erent] 
fer Tre Cia ls] 
COs Uae ela () 
COTO Ce Cia 
bettas) 
PTC ET Cat Tee 
elétrica 
Pee een 
Beitr 
Densidade de corrente 
elétrica 10T—PROGRAMACAO COM ARDUINO @
octet 2) tL ShTDe be) Tae Tatty 
unidade 
Moll te 
 
Fluxo magnéticoCoulomb por metro 
Lat TT) 
quadrado 
Zz 
Momento de dipolo 
Pi A Coulomb metro 
Pet Farad por metro 
Ohm 
Relutancia Ds AR) 
ee, po 
aval a 
Tensao elétrica, 
Chae Ce Tcurel| 
ta mC) 
tied 
 
A eletrénica divide-se ainda em duas partes: eletr6nica analdgica e eletré- 
nica digital. 
A eletrénica analdgica é responsavel por trabalhar com quantidades va- 
riantes, continuas e em uma determinada escala. Um bom exemplo de sinal 
10T—PROGRAMACAO COM ARDUINO & 
analdgico € 0 disco de vinil.
Ja a eletrdnica digital 6 responsavel por trabalhar com quantidades intei- 
ras e ndo fracionadas. Um exemplo de sinal digital é o CD de musicas. 
AYA JUUUL 
Sinal analégico Sinal digital 
 
Figura 10. Variacdo ocorrendo nos dois casos, analdgico e digital 
© ° Logica booleana e circuitos logicos 
A logica booleana surgiu em meados de 1850, quando George Boole desen- 
volveu um sistema de andlises logicas conhecido como a “Algebra Booleana” ou 
“Algebra de Boole”. 
 
Figura 11. George Boole - 0 pai da Algebra Booleana. Fonte: LIBERT, 2017 
A algebra booleana demonstra através de uma expressdo algébrica uma 
operacao de circuito de niveis logicos, onde apenas dois valores (constantes ou 
variaveis) sao aceitos, 0 ou 1. 
Esses valores assumem condicdes opostas, como por exemplo: 0 = desli- 
gado e 1 = ligado, ou ainda 0 = verdadeiro e 1 = falso. Para representar esses 
10T—PROGRAMACAO COM ARDUINO @)
valores, utilizamos proposicées (estruturas gramaticais), como por exemplo: 
“Jodo é inteligente”. 
Dentro da algebra booleana fazemos uso de trés operacées basicas, sdo 
elas NOT (nao), AND (e) e OR (ou). 
Cada operacao algébrica possui sua propria representa¢gdo, como podemos 
ver a seguir: 
* NOT (nao): 
Representacao algébrica*: 
S=AouS =A lé-se (A barra) ou (NAO A) 
Simbolo: - 
* AND (e): 
Representacao algébrica*: 
S=A..B (leia-se A e B) 
Simbolo: qT>- 
* OR (ou): 
Representacdao algébrica*: 
S=A+B(leia-se A OU B) 
Simbolo: 
Para determinar o resultado (saida) logico de um circuito, necessitamos 
observar os valores ldgicos de entrada neste circuito, bem como a operagao 
aser utilizada. 
A@> 
ENTRADA X SAIDA 
(INPUT) (OUTPUT) 
Be 
 
Figura 12. Representagao de um circuit 
10T—PROGRAMACAO COM ARDUINO ©
CURIOSIDADE 
0 Circuito Integrado foi criado em 1958 pelo fisico estadunidense Jack 
Kilby, quando trabalhava na empresa Texas Instruments Inc. Em 2000, Jack 
Kilby foi agraciado com o prémio Nobel de Fisica. 
Fonte: PEREZ; DAROS, 2013. 
 
Utilizamos uma técnica chamada 
tabela verdade para analisar duas ou 
mais proposicdes e verificar se es- 
tas relagdes sdo falsas ou verdadei- 
ras. Como exemplo para a criagdo da 
nossa tabela verdade, usaremos uma 
tabela com trés proposicgées basicas, 
ann u que chamaremos de “p”, “q”, e “r”, por 
 
padrdo. Sabemos entao que teremos 
trés colunas (uma para cada proposi- 
¢ao), porém, ainda necessitamos saber quantas linhas teremos em nossa tabe- 
la. Para descobrirmos quantas linhas teremos na tabela, pegamos o numero 2 
e elevamos a quantidade de colunas (proposi¢des) que temos. O resultado sera 
o numero de linhas. 
 
 
 
 
 Figura 13. Representacao da tabela verdade. 10T—PROGRAMACAO COM ARDUINO ©
Agora que temos a tabela devidamente criada, iremos preenché-la. Para 
tanto, é necessario realizar um calculo simples que mostrarei a seguir: 
Preenchendo a coluna 1: pegue o numero de linhas e dividida por 2, exemplo: 
8 linhas/2=4 
Ou seja, a “coluna P” tera 4 linhas preenchidas com V e 4 linhas preenchidas 
com F. 
Preenchendo a coluna 2: pegue o numero de linhas preenchidas igual- 
mente na coluna anterior e dividida por 2, exemplo: 
4 (linhas preenchidas com ‘V’ na ‘coluna P’)/ 2 =2 
Ou seja, a “coluna Q” tera linhas preenchidas com alternancia de 2 linhas 
preenchidas com V e 2 linhas preenchidas com F até completar a tabela. 
Preenchendo a coluna 3: pegue o numero de linhas preenchidas igualmen- 
te na coluna anterior e dividida por 2, exemplo: 
 
2 (linhas preenchidas com ‘V' na ‘coluna Q')/ 2=1 
Ou seja, a “coluna R” tera linhas preenchidas com al- 
ternancia de uma linha preenchida com V e uma linha 
preenchida com F até completar a tabela. 
A tabela final preenchida ficara assim: 
 
 
 
Preenchimento de linhas 
alternadas com V 
Preenchimento de 4 linhas com V 
e 4 linhas com F 
 
 
 
 
 fn fm im
 
fs
 
ke
 
be
 
ke
 k
e 
bo
 
In
 
In
 
ke
 
ke
 
i
 
ke 
kK 
OS 
 
Preenchimento de 2 linhas com V 
e 2 linhas com & 
 
Figura 14. Represe! verdade preenchida 
10T—PROGRAMACAO COM ARDUINO ©
Apos a criacdo da tabela, veremos agora as possiveis operagées algébricas 
aplicaveis a tabela verdade e suas saidas: 
Tabela verdade NOT (nao): 
Ira negar o valor de entrada inicial, observe o exemplo a seguir: 
TABELA 3. REPRESENTACAO DA TABELA VERDADE UTILIZANDO NOT (NEGACAO) 
Tabela verdade AND (e): 
Ira verificar os valores de entrada e somente apresentara 0 valor 1 na saida 
quando as duas entradas forem iguais a 1. 
TABELA 4. REPRESENTACAO DA TABELA VERDADE UTILIZANDO AND 
 
 
 
Tabela verdade OR (ou): 
Ira verificar os valores de entrada e somente apre- 
sentarda o valor 0 na saida quando as duas entradas 
forem iguais a 0. 
10T—PROGRAMACAO COM ARDUINO &
TABELA 5. REPRESERNTAAO D DA TABELA VERDADE UTILIZANDO OR 
SS Se SS 
CY Oa 
| Eee 
| Cd 
a j-— 
Outras portas légicas: porta ou exclusivo (XOR). 
 
Tabela verdade: 
Ira verificar os valores de entrada e apresentarda 0 valor 0 na saida quando 
as duas entradas forem iguais (sejam elas 0 ou 1). 
TABELA 6. REPRESENTACAO DA TABELA VERDADE UTILIZANDO XOR 
 
Simbolo: y>- 
Porta e negado (NAND) 
Tabela verdade: 
Ira verificar os valores de entrada e apre- 
sentara o valor 0 na saida quando todas as 
entradas forem iguais a 1. 
 10T—PROGRAMACAO COM ARDUINO ©
TABELA 7. REPRESENTACAO DA TABELA VERDADE COM DUAS ENTRADAS, 
SAIDA AND E AND NEGADO 
ele ahacciaeael a 
Simbolo: qT > 
Porta ou negado (NOR) 
Tabela verdade: 
Ira verificar os valores de entrada e 
apresentarda 0 valor 1 na saida quando todas 
as entradas forem iguais a 0. 
 
TABELA 8. REPRESENTACAO DA TABELA VERDADE COM DUAS ENTRADAS, 
SAIDA OR E OR NEGADO 
ee ee ee | ne 
 
10T—PROGRAMACAO COM ARDUINO &
Simbolo: > 
Porta ou exclusivo negado (XNOR) 
Tabela verdade: 
Ira verificar os valores de entrada e apresentara o valor 0 na safda quando 
as entradas 1 XOR 2 forem iguais a 1. 
TABELA 9. REPRESENTACAO DA TABELA VERDADE COM DUAS ENTRADAS, 
SADA XOR E XOR NEGADO 
 
f —eneadas | entrada | puaipilidsieibalabiiale Ls] 
 
@ ®e 
Contadores e registradores 
Registradores sdo memorias que contemplam a CPU e estado, hierarquica- 
mente, no topo da cadeia. Estas midias sdo rapidas e armazenam diversos bits, 
porém seu custo para tal armazenamento é mais alto. 
E importante ressaltar que os registradores sao circuitos de armazenamen- 
to rapido e temporario, o que torna fundamental sua existéncia para o funcio- 
namento eficaz do computador, uma vez que a memoria principal envia os da- 
dos necessarios para a execucao do sistema do processador para o registrador. 
Os registradores de deslocamento sao responsaveis pelo armazenamento 
de informagées que contenham mais de 1 bit. Os dados que entram no circuito 
em série sdo dispostos na saida em paralelo, como mostra a Figura 15. 
10T—PROGRAMACAO COM ARDUINO ©
 
Figura 15. Série x paralelo. Fonte: LIBERT, 2017 
Agora vamos falar um pouco sobre os contadores, eles sao circuitos digitais 
contadores de pulsos considerados um conjunto de flip-flops. Os contadores se 
dividem em duas categorias: sincronos e assincronos. 
Os sincronos possuem em seu contador uma forma sequencial que vai de 
0aNepossuem um “sinal de clock” que 6 comum aos flip-flops. Ja os assincro- 
nos possuem um “sinal de clock" com flip-flop Unico e sdo divididos em quatro 
partes, a saber: 
* Contadorde pulso: possui saidas com sistema sequencial binario e rea- 
liza a contagem de transi¢ées por pulso, esta é realizada através de uma conta- 
gem do sinal de pulso pelo clock, que fica localizado no primeiro flip-flop. 
 
Figura 16. Contador de pulso assincrono, Fonte: LIBERT, 2017 
 
+ Contador de década: contempla uma contagem binaria de 0 
a 9 (gera o cédigo BCD8421 de 0000 a 1001). Ao contrario 
do modelo anterior, seu contador de pulso so é ativado 
quando a saida for maior que 9. 
10T—PROGRAMACAO COM ARDUINO @)
 
Figura 17. Contador de década assincrono, Fonte: LIBERT, 2017. 
+ Contador sequencial de 0 a N: este contador surge a partir de uma alte- 
racao na ldgica de reset do contador anterior, onde a entrada clear sera ativada 
quando a saida for maior que o valor de N estabelecido. 
EXEMPLO: Contador de 0 a5 
 
Figura 18. Contador sequencial de 0 a N assincrono. Fonte: LIBERT, 2017 
+ Contador Crescente/Decrescente: este contador possui circuitos mul- 
tiplexadores em suas saidas, onde uma variavel de controle permite a leitura 
do contador decrescente nas saidas complementares ou crescentes nas sai- 
das normais. 
 
 
 
 
 
Figura 19. Contadores crescentes e decrescentes assincronos. Fonte: LIBERT, 2017 
10T—PROGRAMACAO COM ARDUINO &
 
loT — Conceitos basicos 
O termo “a internet das coisas (loT)” foi utilizado pela primeira vez por 
um especialista no ano de 1999, 0 pesquisador britanico do Instituto de Pes- 
quisas Tecnoldgicas de Massachusetts (MIT), Kevin Ashton. Desde entdo, este 
assunto vem ganhando mais atencdo a cada dia. Mas afinal, o que significa 
este termo? De que ‘coisas’ estamos falando? Estes questionamentos sao bem 
comuns quando entramos neste tema, mas vejamos agora as respostas para 
estas quest6es. 
 
 
 
 
Podemos definir a “internet das coisas” como uma nova era 
tecnoldgica, na realidade, ja estamos vivenciando esta era 
e muitas pessoas nem perceberam do que 
se trata. A internet das coisas propde uma 
mudanca no padrdo de uso da internet e 
de comunicagdo. A internet inicialmen- 
te foi criada com 0 intuito de interligar 
computadores (rede de computado- 
res), Com oO passar dos anos esta rede foi 
evoluindo e, com o surgimento das redes 
sociais e outros aplicativos, passou a integrar 
pessoas (rede de pessoas e comunidades) e agora, neste terceiro 
momento, estamos vivenciando a comunicac¢ao/interacao entre maquinas de 
maneira aut6noma (internet das coisas). 
Em resumo, esta nova fase da internet que estamos vivenciando tende a 
interligar os objetos e dispositivos inteligentes de maneira que eles interajam 
conosco e principalmente entre si, facilitando nosso cotidiano. 
No final da década de 1990, 0 cientista da computacdo Mark Weiser desen- 
volveu o seguinte conceito, nas palavras dele: As tecnologias mais importantes 
sdo aquelas que desaparecem. Elas se integram a vida do dia a dia, ao nosso 
cotidiano, até serem indistinguiveis dele. 
Atualmente ja temos tantas tecnologias integradas ao nosso cotidiano, e 
até ao nosso corpo, facilitando a nossa rotina, que muitas vezes acabamos nao 
percebendo. Podemos chamar este conceito de Smart World. Um exemplo dis- 
10T—PROGRAMACAO COM ARDUINO & 
so sao os Oculos de realidade virtual.
Esses Oculos de realidade virtual prometem uma imersdo tecnologica ao 
usuario. Podem ser utilizados de diversas maneiras, dentre elas, em jogos de 
console e aplicativos de Stream. 
 
Figura 20. Oculos de realidade virtual. Fonte: Shutterstock, 2019. 
Além deles, carros, geladeiras, lampadas, reldgios, janelas, cafeteiras, tele- 
visdes e muitos outros aparelhos ja estado sendo projetados para se comunica- 
rem de forma aut6noma conosco e entre si. 
Esta comunicagao pode ocorrer por meio de chips, wi-fi, 3G/4G, Bluetooth, 
antenas, sensores, microcontroladores e muito mais! 
Cpt 
ett) 
Ee 
(eaters cl 
“Api icagées Bel ict 
de loT TTS 
ic Y Distribucao de 
publica 7 Cre) 
DG Tre tt Casas 
Dee Figura 21. Panorama das aplic de loT. Fonte: MANCINI, 2017 10T—PROGRAMACAO COM ARDUINO ©
 
Arduino x internet das coisas 
Arduino é um dispositivo que possui um microcontrolador com plug USB pelo 
qual é possivel conectar a um computador e realizar a programacao deste. Possui 
uma série de portas analdgicas e digitais de conexdo que podem ser ligadas até 
mesmo em produtos eletrénicos externos, tais como motores, sensores de luz, dio- 
dos de laser, alto-falantes, microfones etc. (GIBB, 2010). 
O Arduino é uma placa microcontroladora que foi desenvolvida na Italia, 
em 2005, com a finalidade de auxiliar estudantes de Arte e Design a incluirem 
tecnologia em seus projetos com um custo acessivel e de facil utilizagao, uma 
vez que nao seria utilizada por especialistas em tecnologia. 
A placa, idealizada pelo professor do Institute Design Interaction, Massimo 
Banzi, contou com uma equipe de profissionais distintos envolvidos na missao 
de criar a plataforma de prototipagem. O pesquisador David Cuartielles de- 
senhou a placa, David Mellis, aluno de Massimo, programou todo o software 
utilizado na execucdo da placa, e para reproduzir uma tiragem inicial de duzen- 
tas unidades, Massimo contratou 0 engenheiro Gianluca Marti- 
Batizada de “Arduino”, nome de um bar frequentado por 
no. 
 
 
 
professores e estudantes na cidade de Ivrea, onde esta lo- 
calizado o Instituto em que Massimo leciona- 
va, a placa fez muito sucesso logo em seu 
langamento, pois atendia as necessida- 
des dos alunos sendo barata e de facil 
utilizagdo. Apds 0 sucesso do projeto 
original, que cativou inclusive profissio- 
nais de outras areas, 0 Arduino foi apri- 
morado e foram langadas outras versdées, 
suas vendas crescem a cada dia, ultrapassan- 
do atualmente a marca de 300 mil unidades vendidas ao redor do 
mundo, se contarmos todas as verses produzidas. 
Pessoas de diversas areas, nacionalidades e idades aderiram ao uso do Ar- 
duino e se empoderam construindo solugées tecnoldgicas de diversos tipos 
para problematicas do mundo real, ou seja, o conceito de loT na integra! 
10T—PROGRAMACAO COM ARDUINO 2)
 
Figura 22. Primeira placa de Arduino, ainda com porta serial. Fonte: SOUZA, 2013 
Atualmente, 0 Arduino conta com varias versGes e é utilizado em diversos 
projetos de loT criados diariamente por pessoas comuns e profissionais de di- 
versas areas para a resolucdo de problemas cotidianos ou inovagdo. 
O Arduino possui 0 conceito open-source, e por este motivo existem comu- 
nidades colaborativas ao redor do mundo que compartilham codigos, logicas 
e projetos que podem ser utilizados por todos ou aproveitados em um novo 
projeto. Vamos conhecer agora algumas das versées de Arduino existentes. 
© 7 Tipos de Arduino — Uno, Leonardo e outros 
O Arduino Uno é uma placa baseada no ATMEGA328, possui conexdo USB, 
pinos de entrada e saida digitais (14 no total) e analdgicos (seis no total), res- 
sonador cerdmico, cabecgalho ICPS, botdo reset e comporta conector (fonte) de 
alimentagdo. Das versées do Arduino esta é a mais simples de ser utilizada por 
iniciantes na programacdo de robdtica com Arduino. 
Podemos dizer que 0 Arduino Leonardo é uma placa muito similar a UNO, 
porém, com grandes avan¢os: sao 20 portas digitais (entrada/safda) e 12 portas 
analdogicas, além de possuir a comunicacao USB (micro USB) embutida na placa. 
Esta versdo também é bem procurada por ingressantes no mundo da progra- 
macao robotica. 
10T—PROGRAMACAO COM ARDUINO ©
 
Figura 23. Arduinos UNO e Leonardo, Fonte: SOUZA, 2013. 
Arduino Mega 
Aversdo Mega do Arduino conta com mais portas que as duas versdes mos- 
tradas acima, ao todo sao 54 portas digitais (divididas entre entrada e saida) e 
16 analogicas, além de quatro portas seriais de hardware. 
 
Figura 24. Arduino Mega. Fonte: SOUZA, 2013. 
Arduino Lilypad 
A linha de Arduinos Lilypad foi desenvolvida parautilizagdo téxtil, ou seja, 
ele pode ser acoplado facilmente em tecidos e utilizado em projetos wearable. 
10T—PROGRAMACAO COM ARDUINO &
 
Figura 25. Arduino Lilypad. Fonte: SO! 
Arduino Lilypad Simplesnap 
O Arduino Lilypad Simplesnap pertence a familia Lilypad, possui nove pinos 
digitais e quatro entradas analogicas, ndo possui comunicagado USB, apenas 
adaptador FTDI. 
 
Figura 26. Arduino Lilypad Simplesnap. Fonte: SOUZA, 2013 
Arduino Lilypad USB 
Da linha Lilypad esta é a Unica que conta com conexdo micro USB, conexdo 
para bateria de Lipo, nove pinos digitais e quatro entradas analogicas, além de 
um botao reset. 
 
Figura 27. Arduino Lilypad USB, Fonte: SOUZA, 2013. 
10T—PROGRAMACAO COM ARDUINO ©
Arduino Lilypad Simples 
Contando com nove pinos digitais e quatro entradas analogicas, esta versdo 
conta ainda com um circuito carregador de baterias e um conector JST. 
 
Figura 28. Arduino Lilypad Simples. Fonte: SOUZA, 2013. 
Arduino Nano 
Este modelo é 0 mais indicado para uso junto com protoboards, devido seu 
tamanho. Arduino Nano conta com oito entradas analdgicos e 14 pinos digitais. 
 Figura 29. Arduino Nano. Fonte: SO 
Arduino Pro Mini 
Esta versdo conta com oito entradas analdgicos e 14 pinos digitais e possui 
a possibilidade de solda junto a propria placa. 
 
 
Figura 30. Arduino Pro Mini. Fonte: S( 
 
10T—PROGRAMACAO COM ARDUINO &
Arduino Mini 
Possui USB de série e também aceita outras conexées do tipo, além de dis- 
por de oito entradas analdgicas e 14 pinos digitais. 
 
Figura 31. Arduino Mini. Fonte: SOUZA, 2013. 
Arduino Micro 
Esta versdo contempla uma conexdo micro USB, botao de reset e chip AT- 
mega32u4, é muito conhecida como “uma versdo micro do Arduino Leonardo”. 
 
Figura 32. Arduino Micro, Fonte: SOUZA, 2013. 
Arduino Fio 
Possui oito entradas analogicas e 14 pinos digitais, conexdo para bateria de 
litio, botao reset, conector para XBee e circuito de recarga USB. O Arduino Fio 
foi projetado para aplicagdes/solugées wireless e os fios e conectores podem 
ser soldados diretamente na peca. 
 10T—PROGRAMACAO COM ARDUINO @
Arduino Explora 
Também baseado no Arduino Leonardo, o Arduino Explora tem sua apa- 
réncia similar a um joystick e possui interface de entrada/saida e sensores ja 
integrados, além da possibilidade de interagdo com computadores, compor- 
tando-se como mouse e joystick, por exemplo. 
Esta versdo possui um conector micro USB e conta também com os seguin- 
tes itens: sensores de temperatura e luz, sensores de entrada, controle desli- 
zante, aceler6metro, microfone e saidas de som e luz. 
 
Figura 34. Arduino Explora. Fonte: SOUZA, 2013 
Arduino Pro 
Mais uma versao de Arduino que nao fornece uma pinagem padrdo e per- 
mite a soldagem/jungdo de conectores e fios a placa, possui também 14 pinos 
digitais (entrada/saida) e seis entradas analdgicas. 
 
ino Pro. Fonte: S' 
10T—PROGRAMACAO COM ARDUINO 2)
Arduino Due 
O Arduino Due possui a pinagem igual ao Arduino Mega, porém, possui um 
processador ARM de 32 bits, o que Ihe confere uma poténcia maior que a ver- 
sao Mega. Estdo contidos nesta placa também os seguintes itens: Conector 
JTAG e um SPI, botdes reset e apagar, conector USB e de fonte (sua tensao ma- 
xima é de 3.3 volts). 
 
Figura 36. Arduino Due. Fonte: SOUZA, 2013. 
Arduino e Ethernet 
O grande diferencial desta versdo é a conexao via Ethernet, que é integrada 
a placa por meio de uma placa Network Ethernet e conector RJ45. Este modelo 
possui ainda uma entrada MicroSD Card, jack para fonte de alimentacao, botado 
reset e conector ICSP. 
Este modelo é muito utilizado em projetos voltados ao conceito loT. 
 
Figura 37. Arduino Ethernet. Fonte: SOUZA, 2013. 
10T—PROGRAMACAO COM ARDUINO &
Arduino Yun 
O Arduino Yun é a versao que ja vem com wi-fi integrado a placa. Seu tama- 
nho € 0 mesmo da versdo Uno, seu processador é 0 mesmo da versdo Leonar- 
do e ainda conta com o SoC Atheros AR9331, que proporciona conectividade 
via wi-fi e Ethernet. 
Esta versdo foi desenvolvida especialmente pensando na internet das coi- 
sas (loT), focada em operagdes na nuvem. 
 
Figura 38. Arduino Yun. Fonte: SOUZA, 2013. 
 
CURIOSIDADE 
0 nome Yun dado a placa Arduino se da pelo seu significado. “Yun” sig- 
nifica “nuvem” em chinés, nada mais propicio para uma placa que visa 
viabilizar conexdes e armazenamento em nuvem. 
10T—PROGRAMACAO COM ARDUINO &
Sintetizando ‘ 
® 
Chegamos ao fim desta unidade. Nela conhecemos 0 conceito de eletricida- 
de e seu surgimento a partir dos Atomos, como funcionam as correntes elétri- 
cas e que devemos utilizar a Lei de Ohm para calcular a tensdo elétrica. Apren- 
demos também sobre a resisténcia elétrica e os componentes eletrénicos que 
sao utilizados para limitar este fluxo de corrente. 
Vimos a importancia da eletrénica na evolugdo da nossa tecnologia com a 
criagdo do ENIAC, o uso da ldgica booleana na cria¢ao da tabela verdade e dos 
circuitos logicos. Toda essa tematica nos leva a compreender o funcionamen- 
to dos registradores flip-flop que tornam o processamento dos computadores 
muito mais agil, e dos contadores sincronos e assincronos, que funcionam a 
partir do sinal de clock. O entendimento acerca deste contetido é essencial 
para que possamos desenvolver sistemas embarcados de maneira eficaz. 
Por fim, entendemos que objetos/aparelhos tém se tornado cada vez mais 
auténomos e que, atualmente, estamos vivenciando uma fase em que eles po- 
dem comunicar-se entre si e conosco de maneira independente. Tal indepen- 
déncia se da pelo fato de estarem ligados a internet e possuirem componentes 
eletrénicos e microcontroladores que possibilitam tal agdo. Dentre estes mi- 
crocontroladores, conhecemos o Arduino, um pouco de sua historia, seu fun- 
cionamento e possibilidades diversas de trabalho com suas inumeras versées. 
10T—PROGRAMACAO COM ARDUINO @
Referéncias bibliograficas = 
ed 
A Internet das coisas. Postado por: NIC.br. (Imin. 5s.). son. color. port. Disponi- 
vel em: <https://www.youtube.com/watch?v=jlkvzcG1UMk>. Acesso em: 16 dez. 
2015. 
ASHTON, K. Entrevista exclusiva com o criador do termo “Internet das Coi- 
sas". Disponivel em: <http://finep.gov.br/noticias/todas-noticias/4446-kevin- 
-ashton-entrevista-exclusiva-com-o-criador-do-termo-internet-das-coisas>. 
Acesso em: 09 jan. 2019. 
EVANS, M.; NOBRE, J.; HOCHENBAUM, J. Arduino em agao. 1. ed. Sdo Paulo: No- 
vatec Editora, 2013. 
GIBB, A. M. New media art, design, and the Arduino Microcontroller: a mal- 
leable tool. Disponivel em: <http://aliciagibb.com/wp-content/uploads/2013/01/ 
New-Media-Art-Design-and-the-Arduino-Microcontroller-2.pdf>. Acesso em: 09 
jan. 2019. 
IDOETA, |. V.; CAPUANO, F. G. Elementos de eletrénica digital. 41. ed. Sdo Paulo: 
Erica, 2013. 
INFOESCOLA. Atomo. Disponivel em: <https://www.infoescola.com/quimica/ 
atomo/>. Acesso em: 15 dez. 2018. 
INFOESCOLA. Fisica: corrente elétrica. Disponivel em: <https://www.infoescola. 
com/fisica/corrente-eletrica/>. Acesso em: 16 dez. 2018. 
INMETRO. Quadro geral de unidades de medida no Brasil. 2013. Disponivel 
em: <http://www.inmetro.gov.br/legislacao/rtac/pdf/rtac002050.pdf >. Acesso 
em: 14 dez. 2018. 
LIBERT, N. Aula 4B: eletrénica digital ET52C - tecnologia em automagdo indus- 
trial. 2017. Disponivel em: <https://docplayer.com.br/27720855-Algebra-de-boo- 
le-nikolas-libert-aula-4b-eletronica-digital-et52c-tecnologia-em-automacao-in- 
dustrial.html>. Acesso em: 09 jan. 2019. 
LINIK, J. R. Como as programadoras do ENIAC foram precursoras da industria 
de software. 2016. Disponivel em: <https://dev-iq.intel.com/br/como-as-progra- 
madoras-do-eniac-foram-precursoras-da-industria-de-software/>. Acesso em: 
14 jan. 2019. 
MANCINI, M. Gerenciamento de projetos. In: VASQUES, E.; SOUZA, C. (Org.). Fun- 
damentos de sistemas de informagao. Sao Paulo: Elsevier, 2014. 
10T—PROGRAMACAO COM ARDUINO &
MOTA, A.D. Apostila Arduino basico: vol. 1. Espirito Santo: Vida de Silfcio, 2015. 
PEREZ, A.; DAROS, R. R. Oficina de robética: eletrénica basica. Santa Catarina, 
2013. Disponivel em: <http://oficinaderobotica.ufsc.br/files/2013/04/progra- 
ma%c3%a7%c3%a30-em-arduino-m%c3%b3dulo-b%c3%alsico.pdf>. | Acesso 
em: 14 dez. 2018. 
PEREZ, A.; DAROS, R. R. Oficina de robética: programacado em Arduino do médu- 
lo basico, Santa Catarina, 2013. Disponivel em: <http://oficinaderobotica.ufsc.br/ 
files/2013/04/programa%c3%a7%c3%a30-em-arduino-m%c3%b3dulo-b%c3%a- 
1sico.pdf>. Acesso em: 15 dez. 2018. 
RODRIGUES, K. O.; KALIL, F. Tecnologia e o futuro: internet das coisas, mi- 
crocontroladores e webservices. Disponivel em: <https://www.imed.edu.br/ 
uploads/90036a9a-cc09-4b96-8c2e-74912cd41d59.pdf>. Acesso em: 17 dez. 
2018. 
SILVEIRA, J. A. Experiéncias com o Arduino. 1. ed. Sdo Paulo: Ensino Profissional, 
2011. 
SOUZA, F. Placas Arduino: historia até o Arduino Uno. Disponivel em: <https:// 
www.embarcados.com.br/placas-arduino/>. Acesso em: 09 jan. 2019. 
10T—PROGRAMACAO COM ARDUINO @
 
 
Or 
sef 
educacional
OTM E MITC Els 
@ Conhecer os componentes eletrénicos basicos; 
@ Compreender a natureza de um sistema embarcado; 
@ Identificar os elementos de infraestrutura que sao utilizados nos sistemas 
embarcados. 
Topicos de estudo 
® Microcontroladores 
Componentes eletrénicos 
eae} 
Introdugdo aos microcontrola- 
(ool t= 
Arquitetura dos microcontro- 
ladores 
Plataforma Arduino 
Slidell lee e 
barcados 
Arquitetura de sistemas em- 
barcados 
SM lniteig clam (moel ial el ale [et-[0) 
Dispositivos de entrada e saida 
Sensores e atuadores 
10T- PROGRAMACAO COM ARDUINO © 
®e 
Microcontroladores 
Os microcontroladores estado presentes em quase tudo que envolve a eletré- 
nica, tornando possivel a miniaturizagao dos circuitos. Podemos definir o micro- 
controlador como um pequeno componente eletrénico que possui “inteligéncia” e 
pode ser programado para realizar tarefas especificas.A eletricidade é um fend6- 
meno fisico que se da através das cargas elétricas em movimento ou inertes e 
pela interacdo exercida por elas. Conceitualmente falando, é uma troca idnica 
dos elétrons na camada de Valenga. 
 
 Componentes eletrénicos basicos 
Aeletrénica é 0 ramo da ciéncia que estuda 0 uso de circuitos formados por 
componentes eletrdnicos, com o objetivo principal de representar, armazenar, 
transmitir ou processar informacgées. A seguir vamos conhecer os componen- 
tes basicos que podem ser usados em projetos de circuitos eletrdnicos. 
Resistores 
Os resistores sdo usados para limitar a corrente elétrica em um circuito. 
A medida da resisténcia é feita em uma unidade denominada ohm (Q). Os re- 
sistores comuns podem ser encontrados com valores de resisténcia que vao de 
fragao de ohm a milhdes de ohms. 
 
so em: 19/04/2019, 
I0T- PROGRAMACAO COM ARDUINO & 
 
Potencidmetro 
O potencidmetro é um tipo especial de resistor usado para variar a resis- 
téncia, tendo um sistema manual de acionamento rotativo ou deslizante. Al- 
guns modelos de potenciédmetro apresentam também uma chave conjugada 
que serve para ligar e desligar o circuito. 
 
Fonte: Shi Figura 2. Potenciémetro linear com eixo de r 
LDR 
O LDR (do inglés Light Dependent Resistor) € um resistor cujo valor em 
ohms varia de acordo com a luz incidente. E um componente muito versatil 
e pode ser encontrado em cameras, medidores de luz, alarmes de seguranga, 
sistemas de iluminag¢dao publica, robds etc. 
 
 Figura 3. Sensor de luminosidade (LDR) Smm. Fonte: Shutterstoc 
Termistor 
Termistor ou resistor térmico € um dispositivo cuja resisténcia varia de 
acordo com a temperatura, podendo ser usado como um sensor. 
I0T- PROGRAMACAO COM ARDUINO &
Figura 4. Termistor usado como sensor de temperatura. Fonte: Shutterstock. Acesso em: 19/04/2019. 
Capacitores 
Capacitores sao dispositivos elétricos capazes de armazenar cargas elétri- 
cas e sao usados como filtros, como uma espécie de reservatorio de energia 
ou ainda como “amortecedores”, evitando que ocorram variagdes grandes de 
corrente em um circuito. Outras finalidades incluem o acoplamento e desaco- 
plamento de sinais. Eles sao especificados pela sua capacitancia (capacidade de 
armazenar cargas elétricas) que é medida em farads (F). 
 
Figura 5. Diversos tipos de capacitores usados na construcdo de circuitos. Fonte: Shutterstock. Acesso em: 19/04/2019. 
Indutores 
Indutores ou bobinas sao componentes formados por espiras 
de fio esmaltado que podem ser enroladas em uma 
forma com ou sem nucleo de ferrite. Os indutores 
sao Capazes de armazenar energia criada atra- 
vés de um campo eletromagnético. 
IOT - PROGRAMACAO COM ARDUINO ©
Figura 6. Indutor toroidal com nticleo de ferrite. Fonte: Shutterstock. Acesso em: 19/04/2019 
Transdutor 
Um transdutor piezoeléctrico € muito pratico para detectar vibra- 
¢d6es ou golpes, podendo ser usado como um sensor através da leitura 
da tensdo de saida. Este transdutor eletroacustico também pode ser usa- 
do como um pequeno buzzer para produzir um som. 
Figura 7. Capsula piezoelétrica. Fonte: Shutterst 3/04/2019 
 
O alto-falante converte energia elétrica em sons. Sdo especificados pela 
impedancia em ohms, poténcia em watts e pelo tamanho. 
 IOT- PROGRAMACAO COM ARDUINO &
Motor CC 
O motor de corrente continua (CC, ou DC do inglés direct current) tem o seu 
funcionamento baseado no efeito eletromagnético, convertendo energia elé- 
trica em energia mecdanica, provocando um efeito rotatorio. Os motores CC 
funcionam aproveitando as forcgas de atra¢do e repulsdo geradas por eletroi- 
mas e imdas permanentes. 
 
Figura 9. Pequeno motor DC de 6 V. Fonte: Shutterstock so em: 19/04/2019. 
 
Relé 
O relé funciona como uma chave de trés polos acionada de 
 
 
 
forma eletromecanica e € muito usado para ligar ou 
desligar dispositivos que sdo controlados de forma 
automatica e que demandam muita corrente elé- 
trica. No relé, quando uma corrente circula pela 
bobina interna, esta cria um campo magnético 
que atrai um contato fechando ou abrindo circuitos. 
 
Figura 10. Relé com invélucro 
Fonte: Shutterstock. Acesso em 
 
arente no qual pode ser observada a bobina e os contatos eletromecanicos. 
14/2019 
I0T- PROGRAMACAO COM ARDUINO & 
 
Interruptor de pressao 
Um interruptor de pressdo é um botdo utilizado para ativar alguma fun- 
¢ao quando pressionado. Interruptores de pressdo funcionam como um in- 
terruptor elétrico simples e podem ser normalmente fechados ou abertos. 
 
\cesso em: 19/04/2019. 
 
Figura 11. Chave tactil push-button. Fonte: Shutterste 
Micro switch 
Também conhecido como chave de fim de curso, 0 micro switch é um tipo 
de interruptor de pressao que pode ser usado como um simples sensor 
mecanico. Encontramos diversos tipos de micro switches cujas especificagdes 
sao o tamanho, 0 tipo de alavanca e a capacidade de corrente. 
 
Figura 12. Chave fim de curso com haste curta Fonte: Shutterstock 
Reed Switch 
O reed switch é um interruptor simples ativado por um campo mag- 
nético. Quando os contatos estdo abertos, fecham-se na presencga de um 
campo magnéetico. 
I0T- PROGRAMACAO COM ARDUINO )
! 
Figura 13. Chave magnética (Reed Switch). Fonte: Shutterstock. Acesso em: 19/04/2019. 
 
Diodo 
O diodo é um componente eletrénico semicondutor que permite a passa- 
gem da corrente elétrica somente em um sentido. O diodo tem diversas 
aplicacgdes, uma delas é atuar como um retificador, convertendo tensao alter- 
nada em continua. O diodo tem polaridade e a faixa impressa em seu corpo 
representa o catodo que € 0 sentido para onde flui a corrente. 
 
Figura 14. Diodo retificador. Fonte: Shuttersto: 
LED 
OLED (do inglés Light Emitting Diode) é um diodo que emite luz 
 
 
 
quando energizado. Os LEDs tém polaridade, sendo o 
catodo (lado negativo) identificadopor um chanfro 
e pelo terminal menor. Encontramos LEDs em di- 
ferentes cores, formatos e tamanhos. Cada tipo 
de LED trabalha com uma tensdo e corrente espe- 
cifica, sendo necessario o uso de um resistor para 
limitar a corrente. 
I0T- PROGRAMACAO COM ARDUINO &®
 
Figura 15. LEDs comuns redondos de Smm. Fonte: Shutterstock. Acesso em: 19 
Transistores 
Os transistores podem amplificar sinais além de funcionar como chaves 
controladas eletronicamente, sendo muito usados em circuitos eletrénicos. 
Os transistores sdo formados por trés pedacgos de materiais semicondutores 
como 0 silicio P e o silicio N e os tipos comuns possuem trés pinos chamados 
de base, coletor e emissor. 
 
Figura 16. Di sados na construcao de circuitos eletronicos, Fonte: Shutterstock. Acesso 
em: 19/04 
 
 
Cl (circuito integrado) 
O circuito integrado (também conhecido como chip ou microchip) é um cir- 
cuito eletrénico miniaturizado no qual podem ser encontrados conjuntos de 
componentes eletr6énicos interligados e projetados para uma determina- 
da fungao. No circuito integrado, os componentes eletrénicos sao “gravados” 
em uma pequena lamina de silfcio e o chip € montado e selado em um bloco 
ceramico com terminais que sdo conectados aos seus componentes por pe- 
quenos fios condutores. 
I0T- PROGRAMACAO COM ARDUINO &
 
Figura 17. Circuito integrado com encapsulamento do tipo DIP. Fonte: Shutterstock. Acesso em: 19/04/2019. 
Display de LCD 
LCD (do inglés Liquid Crystal Display) 6 uma tela usada para exibir informa- 
¢6es por via eletrénica, como texto e imagens. Um display de LCD consiste de 
um liquido polarizador da luz eletricamente controlado. Suas principais caracte- 
risticas sdo a leveza, a portabilidade e 0 baixo consumo de energia elétrica, 
sendo ideal para ser utilizado em equipamentos portateis. Existem diversos ti- 
pos e modelos de display de LCD, podendo variar o numero de linhas, o numero 
de caracteres por linha, a cor dos caracteres, a cor do fundo, assim como ter ou 
nao backlight. 
 
Figura 18. Display LCD bésico de 16 c por duas linhas. Fonte: Shutterstock. Acesso er 
 
© Introdugao aos microcontroladores 
Microcontrolador ou MCU (do inglés Microcontroller Unit) é um circuito inte- 
grado programavel que contém um pequeno computador inteiro embutido. Um 
microcontrolador possui em seu interior trés unidades funcionais principais: 
I0T- PROGRAMACAO COM ARDUINO &
+ CPU (Unidade Central de Processamento); 
* Memorias; 
+ Periféricos de entrada e saida. 
Microcontrolador x Microprocessador 
A principal diferenca entre um microcontrolador e um microprocessador é 
a funcionalidade. Um microprocessador necessita de diversos componentes 
externos, como memorias, barramentos e periféricos para poder operar. En- 
quanto isso, o microcontrolador contém todos estes componentes embutidos; 
além disso, um microprocessador geralmente faz parte de um sistema progra- 
mavel de uso geral, como, por exemplo, um computador, ao passo que o micro- 
controlador é projetado para uso em sistemas especificos, como: 
+ Eletrodomésticos; 
+ Robés; 
+ Sistemas de automacdao; 
+ Maquinas industriais e comerciais; 
+ Brinquedos; 
+ Sistemas embarcados. 
Existem diversas vantagens no uso de microcontroladores para 0 projeto 
de sistemas especificos. Dentre elas, podemos citar: 
+ Baixo custo; 
+ Baixo consumo de energia; 
+ Facilidade na programagao; 
+ Sistema miniaturizado; 
+ Manutencao simplificada. 
CURIOSIDADE 
0 primeiro microcontrolador foi desenvolvido pela Texas Instruments em 
1971 e foi batizado de TMS 1000. 
 
 
tinha um tura de 4 bits, 1Kb 
I0T- PROGRAMACAO COM ARDUINO & 
 
eiro micr 
néria RAM. Fonte: Cpu: 
 
® Arquitetura dos microcontroladores 
Aarquitetura dos microcontroladores é baseada na arquitetura Harvard, que 
leva esse nome devido as suas origens no computador Mark |, que foi desenvol- 
vido numa parceria da Universidade de Harvard com a IBM durante a Segunda 
Guerra Mundial. 
A principal caracteristica da arquitetura Harvard é que ela possui memorias 
separadas para armazenamento de dados e instrucées (programa), possibili- 
tando 0 acesso a memoria de programa e a memoria de dados simultaneamen- 
te, aumentando a performance do sistema. 
Wty ae 
(programa) 
Figura 20. Arq 
memérias di 
 
Tipos de memoria dos microcontroladores 
Nos microcontroladores, as memorias sao usadas para armazenamento do 
programa (instrugdes) e também dos dados, além de poderem ter diferentes ta- 
manhos e diferentes tipos. Os principais tipos de memoria sao: 
*RAM; 
*ROM; 
+ HIBRIDAS. 
Memorias RAM 
As memorias RAM sao memérias de acesso aleatério que permitem a leitura e 
a escrita dos dados. Existem dois tipos de memoria RAM: a SRAM (do inglés Static 
RAM) e a DRAM (do inglés Dynamic RAM). ASRAM ou memoria RAM estatica retém 
os dados enquanto estiver sendo alimentada, sendo os dados apagados somente 
quando a alimentacao for removida. A memoria DRAM ou memoria RAM dinami- 
I0T- PROGRAMACAO COM ARDUINO &
ca funciona da mesma forma, porém precisa ser atualizada constantemente para 
conseguir manter os dados enquanto estiver sendo alimentada. As principais dife- 
rencas entre as duas sdo 0 custo e a velocidade. A SRAM é muito mais rapida que a 
DRAM, porém o custo é bem maior. 
Memorias ROM 
As memorias ROM sdo memorias usadas somente para leitura que 
conseguem manter os dados mesmo se a alimentacdo for removida. Nos 
microcontroladores, as memorias ROM podem ser usadas para armazenar 
o firmware (conjunto de instrugées gravadas diretamente no hardware) e 
o gerenciador de inicializagdo. Além da memoria ROM pura que ja sai de 
fabrica gravada, existem mais dois tipos, a meméria PROM (do inglés Pro- 
grammable Read Only Memory) e a memoria EPROM (do inglés Erasable and 
Programmable Read Only Memory). APROM ou memoria somente de leitura 
programavel sai de fabrica vazia, sendo programada por terceiros por meio 
de um programador PROM. Estes dispositivos, usados para gravar a me- 
moria, usam altas tens6es para destruir partes do chip, fazendo com que a 
PROM SO possa Ser gravada uma vez. AEPROM, ou memoria somente de lei- 
tura programavel apagavel, pode ser apagada e reescrita, e para isso, possui 
uma janela de abertura transparente, que permite a entrada de uma luz ul- 
travioleta forte que é usada para apagar a memoria. Aregravacdo apos este 
procedimento requer uma tensdo ainda maior do que nas vezes anteriores, 
causando desgaste no chip e fazendo com que este tipo de memoria tenha 
um ciclo limitado de reescrita. 
Memérias hibridas 
As memorias hibridas sao memdérias ROM que podem ser escritas e 
reescritas como se fossem memorias RAM, mantendo os dados armaze- 
nados mesmo apos a alimentacgdao ser removida. Os principais tipos de me- 
morias hibridas usadas em microcontroladores sdo a EEPROM (do inglés 
Electrically Erasable Programmable Read Only Memory) e a memoria FLASH. 
A EEPROM, ou memoria somente de leitura programavel apagavel eletrica- 
mente, é igual a memoria EPROM, mas é apagada e regravada eletricamen- 
te. A memoria FLASH ou FLASH ROM é um tipo de EEPROM de baixo custo, 
alta densidade e alto desempenho. 
I0T- PROGRAMACAO COM ARDUINO ©
@ &e 
Plataforma Arduino 
O Arduino é uma plataforma aberta para prototipacao de projetos ele- 
trénicos. A plataforma Arduino é composta pelo Hardware (microcontrola- 
dor) e pelo Software. 
Existem varias op¢des de marcas e modelos de microcontroladores. O Ar- 
) duino adotou os microcontroladores 
da Microchip que sdo “soquetados” 
ou “soldados” em uma placa com 
diversos conectores e circuitos de 
apoio para facilitar a montagem dos 
projetos e a programacdo. A placa 
Arduino UNO é a placa mais popu- 
lar e mais documentada de toda a 
familia Arduino, sendo indicada para 
 
quem esta iniciando. O Arduino UNO 
usa o microcontrolador ATmega328P. 
CURIOSIDADE 
Inicialmente, os microcontroladoresda familia Arduino eram fabricados 
pela empresa Atmel, que foi adquirida pela Microchip. 
 
 
 
Especificagées técnicas do microcontrolador ATme- 
ga328P 
O ATmega328P é um microcontrolador de 
alto desempenho, baixo consumo de ener- 
gia e otimizado para trabalhar com a lin- 
guagem C. A Figura 21 mostra o diagrama 
em blocos do microcontrolador. 
l0T- PROGRAMACAO COM ARDUINO ©
cnc 
Cee) 
 
BA
RR
AM
EN
TO
 
DE 
DA
DO
S 
SIGLAS: 
* VCC (Alimentagio) 
* GND (Terra) 
* T/C (Temporizador / contador) 
+ A/D ( digital) 
* AVCC (Alimentacao analégica) 
* AREF (Tensao de referéncia analégica) 
+ USART (Comunicagéo serial assincrona) 
* SPI (Comunicagao serial sincrona) 
+ TWI (Protocolo de comunicacao serial) 
* RESET (Reinicializagao da placa) 
* XTAL (Cristal oscilador) 
* ADC (Conversor analégico digital) 
 
 
Figura 21. Diagrama em blocos - microcontrolador ATmega328P. Fonte: Microchip. Acesso em: 19/04/2019. (Adaptado). 
Principais caracteristicas: 
+ VCC (Tensdo de alimentagdo) 5 V; 
+32 KB de memoria Flash; 
+2 KB de memoria SRAM; 
+1 KB de memoria EEPROM; 
+14 pinos de entrada/saida digitais (GPIO); 
+ Corrente maxima por pino de entrada/saida: 20 mA; 
+ 2 Temporizadores/Contadores de 8 bits; 
* 1 Temporizador/Contador de 16 bits; 
I0T- PROGRAMACAO COM ARDUINO ©
* 6 canais PWM (usados para simular saidas analogicas nos pinos digitais); 
*6 canais de entradas analdgicas para o ADC (Conversor Analdgico Digital); 
*1 porta serial USART (Comunicacao Serial); 
* 1 interface serial SPI (Interface Serial de Periféricos). 
Mapeamento dos pinos 
ATmega328P 
reset PCS Entrada analdgica 5 
Pino digital 0 4 PC4 Entrada analdgica 4 
Pino digital 1 f PC3 Entrada analdgica 3 
Pino digital 2 PC2 Entrada analdgica 2 
Pino digital 3 D PC1 Entrada analdgica 1 
Pino digital 4 PCO Entrada analdgica 0 
vec GND GND 
GND AREF Referéncia analégica 
cristal AVCC AvcCc 
cristal | PBS Pino digital 13 
Pino digital 5 PB4 Pino digital 12 
Pino digital 6 PB3 Pino digital 11 
Pino digital 7 [ PB2 Pino digital 10 
Pino digital 8 PB1 Pino digital 9 
 
Figura 22. Mapeamento dos pinos ATmega 
Placa Arduino UNO 
A Figura 23 mostra os detalhes da placa Ar- 
duino UNO que foi projetada para simplificar a 
montagem de prototipos de circuitos eletré- 
nicos e a programacao do microcontrolador. 
I0T- PROGRAMACAO COM ARDUINO ©
 
Figura 23. Placa Arduino UNO. 
1. Microcontrolador ATmega328P: é 0 “cérebro” do Arduino, um pequeno 
computador inteiro dentro de um chip. E 0 microcontrolador que executa o 
cédigo que enviamos a placa. 
2. Cristal Oscilador (16 Mhz): é responsavel por gerar um clock para o mi- 
crocontrolador, ou seja, ele oscila 16 milh6es de vezes por segundo para orien- 
tar o Arduino de quanto em quanto tempo ele tem que executar 0 Joop. 
3. Alimentagao: a placa Arduino pode ser alimentada pela porta USB (5) ou 
por uma fonte de alimentacgdo externa (3). A alimentacdo externa é feita atra- 
vés de um conector jack fémea de 2,1 mm com centro positivo ou pela entrada 
Vin. A tensdo de entrada recomendada deve estar entre 7 e 12 V. O Arduino 
UNO possui um circuito que faz a comutacao da alimentagao automaticamente 
entre a tensdo proveniente da entrada USB e a tensdo da fonte externa. Caso 
haja uma tensdo no conector jack fémea ou no pino Vin e o cabo USB é conec- 
tado, a tensdo de 5 V sera proveniente da fonte externa e a entrada USB sera 
usada apenas para comunica¢gado com o computador. 
I0T- PROGRAMACAO COM ARDUINO ©
Pinos da alimenta¢dao externa: 
+ IOREF: fornece uma tensdo de referéncia para que shields (placas de ex- 
pansdo) possam selecionar o tipo de interface apropriada. 
* RESET: este pino esta conectado ao RESET do microcontrolador e pode ser 
utilizado para um reset externo da placa Arduino. 
+ 3,3 V: fornece tensdo estabilizada de 3,3 V para alimentar shields e outros 
modulos externos. A corrente maxima é de 50 mA. 
+ 5 V: fornece tensdo estabilizada 
de 5 V para alimentagdao de shields 
e outros circuitos externos. 
* GND: ground (pinos de referén- 
cia, terra). 
* Vin: pino usado para alimentar a 
placa através de uma fonte de ali- 
mentagdo externa. Quando a pla- 
ca é alimentada através do conec- 
tor jack, a tensdo da fonte estara 
nesse pino. 
4. Polyfuse: fusivel de protegdo da 
porta USB do computador caso ocor- 
ra algum problema no projeto ou uma 
 
falha no circuito que ultrapasse a cor- 
rente de 500 mA. 
5. Conector USB: conector do tipo A-B usado para alimenta¢do externa, pro- 
gramacao do Arduino e também para comunicacao serial. 
6. Microcontrolador ATmega16U2: este segundo microcontrolador é res- 
ponsavel pela comunicacdo do Arduino com o computador através da interface 
USB. Este microcontrolador se comunica com o microcontrolador principal (AT- 
mega328P), possibilitando que o usuario faga o upload do programa que esta 
no seu computador para o Arduino através do cabo USB. 
7. LEDs TX e RX: estes dois LEDs estado conectados ao microcontrolador AT- 
mega16U2 e indicam o envio e a recep¢do de dados da placa para o computador. 
8. Botao de RESET: este botdo reinicia a placa. 
9. Pinos de entrada e saida digital: 0 Arduino UNO possui 14 pinos GPIO 
I0T- PROGRAMACAO COM ARDUINO ©
que podem ser programados para agirem como entradas ou sajdas digitais, 
fazendo com que o Arduino interaja com o meio externo. Os pinos digitais do 
Arduino UNO operam em 5 V, onde cada pino pode fornecer ou receber uma 
corrente maxima de 20 mA. Cada pino possui um resistor de pull-up (resistor 
que garante que o sinal lido seja de nivel alto, enquanto um botao ou uma 
chave ndo forem pressionados) interno que pode ser habilitado por software. 
Alguns desse pinos possuem funcgées especiais: 
+ PWM: os pinos 3, 5, 6, 9, 10 e 11 podem ser usados como saidas PWM 
(usados para simular saidas analdgicas nos pinos digitais). Estes pinos tra- 
balham com uma resolucdo de 8 bits (0 a 255). 
+ Comunicagao serial: os pinos 0 e 1 podem ser utilizados para comunica- 
¢do serial. Estes pinos sdo ligados diretamente no microcontrolador ATme- 
ga16U2 e, quando sdo usados para comunicag¢ao serial, ndo conseguimos 
mais usar a entrada USB para este fim. 
10. ICSP (ATmega16U2): ICSP (do inglés /n Circuit Serial Programming) se re- 
fere a programacdao direta do microcontrolador da placa usando o protocolo 
serial SPI. O ICSP pode ser usado para transferir programas, firmwares (soft- 
ware embarcado) e também para executar tarefas administrativas. Este ICSP é 
usado para reprogramar o microcontrolador ATmega16U2. 
11. ICSP (ATmega328P): este outro ICSP é usado para reprogramar o micro- 
controlador ATmega328P. 
12. Pinos de entrada analdgica: o Arduino UNO possui 6 pinos de entrada 
analdgica, onde cada pino trabalha com uma resolucao de 10 bits (0 a 1023). Por 
padrdo, a referéncia do conversor Analdgico Digital esta ligada internamente a 
5 V, ou seja, quando a entrada estiver com SV, 0 valor da conversdo analogica di- 
gital sera 1023. O valor da referéncia pode ser mudado através do pino AREF (14). 
13. LED (pino 13): LED conectado ao pino 13 da placa Arduino. Este LED 
pode ser usado para testes e experimentos. 
14. AREF: configura a tensdo de referéncia para as entradas analdgicas. 
15. LED (ON): LED indicativo da alimentagdo da placa. 
10T- PROGRAMACAO COM ARDUINO ©
® “° Introdugao aos sistemas embarcados 
Podemos definir um sistema eletrénico como um conjunto de circuitos que 
interagem entre si para obter um resultado. Uma forma de entender os sistemas 
eletrdnicos consiste em dividi-los em entradas, processamento de sinais e saida. 
Um sistema embarcado é um sistema eletrénico programavel (hardware + 
software) dedicado a uma tarefa especifica. 
Alguns exemplos de sistemas embarcados: 
* Aparelhos de reprodugdo de imagem e som; 
+ Periféricos de computadores (nobreak, impressora etc.); 
+ Infraestrutura de redes (roteador, switchetc.); 
+ Automacdo comercial (leitor de cddigo de barras, biometria etc.); 
+ Equipamentos médicos (marca-passo, sistemas de suporte a vida etc.); 
+ Eletrodomésticos (micro-ondas, maquina de lavar etc.); 
+ Maquina fotografica digital; 
+ Sistemas automotivos (freio ABS, injecdo eletrénica etc.); 
+ Sistemas de controle industrial; 
+ Satélites; 
* Robo. 
 
Figura 24. Sistema embarcado simples baseado no Arduino para controle de um robé. Fonte: Shutterstock. Acesso 
em: 19/04/2019. 
CURIOSIDADE 
0 primeiro sistema embarcado reconhecido é o AGC (do inglés Apollo 
Guidance Computer). Este sistema era responsavel pelo controle das 
espaconaves Apollo, que levaram diversas vezes 0 homem ao espacoe a 
Lua. 
l0T- PROGRAMACAO COM ARDUINO © 
 
 
jo para navegacao e controle dos médulos de comando e lunar das espacona 
ck, Acesso em: 19/04/2019. 
Figura 25. AGC. Sistema embarcado use 
ves usadas no projeto Apollo. Fonte: S 
 
Caracteristicas dos sistemas embarcados: 
* Baixo custo de fabricacao; 
+ Baixo consumo de energia; 
* Tamanho reduzido (sistema compacto); 
+ Alto desempenho; 
* Operacdo em tempo real; 
+ Software integrado no hardware (firmware). 
 
 Arquitetura de sistemas embarcados 
Um sistema embarcado recebe os sinais do ambiente através de senso- 
res e interfaces que convertem estes sinais em corrente ou tensao. O mi- 
crocontrolador, por meio de um software (firmware), interpreta e processa 
estes sinais, convertendo a corrente ou tensdo em sinais fisica- 
 
mente Uteis que sdo enviados a acionadores e atuadores. A 
Figura 26 ilustra um diagrama simples da arquitetura de um 
sistema embarcado. 
I0T- PROGRAMACAO COM ARDUINO ©
rerrr --4 
Sistema embarcado 
 
Figura 26. Diagrama simples de um sistema embarcado. 
Hardware: geralmente os sistemas embarcados sdo projetados com micro- 
controladores, porém alguns podem usar microprocessadores e também proces- 
sadores digitais de sinais (DSP). 
Software: o software desenvolvido para um sistema embarcado é conheci- 
do como firmware e é armazenado em uma memoria ROM ou em uma mem6- 
ria hibrida (memoria flash). Para a programacao, as linguagens mais usadas em 
sistemas embarcados sao: 
+ Assembly; 
+ Linguagem C; 
EXPLICANDO 
O que define um sistema embarcado é 0 uso do hardware e do software 
para um fim especifico. 
IOT - PROGRAMACAO COM ARDUINO ©
 
Interfaces de comunicagao 
Os sistemas embarcados podem se comunicar com 0 ambiente externo usan- 
do diversos tipos de interfaces, como: 
+ Interface Serial; 
* Conversor Analdgico Digital; 
+ Ethernet; 
+ Interfaces wireless; 
* GPIO. 
Interface serial 
A interface serial atua como uma interface de comunicagao entre dois 
sistemas digitais que enviam dados como uma série de pulsos de tensdo so- 
bre um fio. Na interface serial, a comunicagao de dados digitais é enviada um 
bit de cada vez, sequencialmente. Dentre os dispositivos que usam a interface 
serial podemos destacar o USB (do inglés Universal Serial Bus), que € um padrao 
de industria que estabelece especificagdes para cabos, conectores e protoco- 
los de comunicacao para conexdo, comunicacao e provimento de energia entre 
sistemas digitais; a comunicagdo serial usando 0 protocolo RS-232 e 0 protoco- 
lo de barramento I2C. 
Existem dois tipos de comunica¢ao serial: 
* Comunicagao assincrona (SCI do inglés Serial Connect Interface): os siste- 
mas nao precisam sincronizar seus relogios antes de se comunicar. 
+ Comunicagao sincrona (SPI do inglés Serial Peripheral Interface): 0 SPI é 
geralmente usado se um microcontrolador precisar enviar dados para um 
dispositivo sem reldgio interno. 
Conversor de sinal (ADC) 
Um conversor de sinal analdgico digital (ou ADC do inglés Analog to Digital 
Converter) é um dispositivo eletrénico capaz de gerar uma representacao digi- 
tal a partir de uma grandeza analdgica, convertendo uma entrada analdgica 
de tensdo em um valor binario. Estes conversores sao muito utilizados na in- 
terface entre dispositivos digitais e dispositivos analdgicos em aplicagées como 
leitura de sensores, digitalizagdo de audio, video etc. 
10T- PROGRAMACAO COM ARDUINO ©
Ethernet 
Ethernet € uma arquitetura usada em redes locais baseada no envio de 
pacotes. Esta arquitetura é usada em redes cabeadas e 0 padrdo mais comum 
usa um conector RJ 45 para conectar a placa em um roteador ou switch. 
A interface de rede usa um endereco chamado IP e na familia Arduino te- 
mos um modelo de placa com a interface de rede embutida e também temos a 
possibilidade de “espetar” um shield (placa de expansdao) trazendo esta funcio- 
nalidade ao Arduino comum. 
 
Figura 27. Ethernet shield para Arduino. Fonte: Store.arduino. Acesso em: 19/04/2019. 
Interface wireless 
Uma interface de rede sem fio 6 um controlador de rede que se conectaa 
uma rede de computadores baseada em radio (wi-fi). Esta interface usa uma 
antena para se comunicar com os pontos de acesso. Outra forma de usar uma 
rede sem fio é através de um modulo bluetooth. 
 Figura 28. Shie s|uetooth. Fonte: S 
GPIO 
GPIO (do inglés General Purpose Input Output) € um conjunto de pinos res- 
 
ponsaveis por fazer a comunicagao de entrada e saida de sinais digitais. 
Com estes pinos é possivel acionar LEDs, transistores etc., e fazer a leitura de 
sensores e botées, entre outros. O Arduino UNO possui 14 pinos de GPIO (en- 
I0T- PROGRAMACAO COM ARDUINO 7) 
trada e saida digital).
 
 Dispositivos de entrada e saida 
Dispositivos de entrada sao sensores eletrénicos ou mecanicos que 
medem os sinais (temperatura, pressdo, umidade, contato, luz, movimen- 
to etc.) do ambiente, convertendo estes sinais em corrente ou tensdo. 
Interruptor de pressdo, LDR e potencidmetro sdo exemplos de dispositivos 
de entrada. 
 
0. em: 19/04/2019. 
 
Figura 29. Disp ntrada. Fonte: Shutterstock 
Dispositivos de saida sdo atuadores ou outros dispositivos que con- 
vertem os sinais de corrente ou tensdo em sinais fisicamente Uteis 
como movimento, luz, som, forca, etc. LED e motor CC sdo exemplos de dis- 
positivos de sajda. 
 
Figura 30. Dispositivos de saida. Fonte: Shutterstock. Acesso em: 19/04/2019. 
I0T- PROGRAMACAO COM ARDUINO &
“e 
Sensores e atuadores 
Sensores sao dispositivos eletr6nicos ou mecanicos capazes de detectar 
eventos ou alteragées no ambiente gerando uma saida na forma de sinais 
elétricos (corrente ou tensdo) que serdo processados pelo sistema embarcado 
e utilizados para realizar algum tipo de tarefa. 
Exemplos de sensores utilizados em sistemas embarcados: 
1, Sensor de temperatura e umidade; 
2. Sensor de gas; 
3. Sensor ultrass6nico; 
4. Sensor de obstaculo infravermelho; 
5. Sensor aceler6metro e giroscépio; 
6. Sensor de luminosidade; 
7. Sensor de presenca; 
8. Sensor de velocidade (encoder). 
 Figura 31. Sensores. Fonte: Shutterstock. Acesso em: 19) I0T- PROGRAMACAO COM ARDUINO 2)
Os atuadores transformam os sinais elétricos processados pelo siste- 
ma embarcado em uma grandeza fisica (movimento, magnetismo, calor, 
luz, som etc.). Um exemplo de atuador é 0 motor CC, que pode ser acoplado a 
uma caixa de reducdo com roda e ser usado em um projeto de robotica. 
 
Figura 32. Motor CC com caixa de reducdao e roda. Fonte: Shutterstock. Acesso em: 19/04/2019. 
Acionadores 
Os acionadores sao dispositivos de controle usados nos sistemas embarca- 
dos para acionar e controlar elementos e equipamentos externos ao sis- 
tema, como, por exemplo, motores, lampadas, ligar e desligar maquinas etc. 
Podemos conectar shields ou ligar médulos externos no Arduino para acio- 
nar dispositivos. 
Exemplos de acionadores: 
+ Médulo driver com ponte H L298N: 0 modulo Driver com ponte H 
L298N é uma placa que possui 0 circuito basico para uso do Cl 
 
 
L298N, que é um circuito integrado que contém duas pontes H, 
que sao usadas para controlar dois motores CC. 
+ Moédulo relé: é usado para controlarlampa- 
I0T- PROGRAMACAO COM ARDUINO ®
 
Figura 33. N 
 
slo Driver com ponte H L298N. Fonte: Shutterstock. Acesso em: 19/04/2019 
 
das, eletrodomésticos e outros equipamentos. 
 
0 em: 19/04/2019, 
 
Figura 34. Fonte: Shutterstock. 
 
I0T- PROGRAMACAO COM ARDUINO ©
Sintetizando é 
® 
Chegamos ao fim desta unidade. Nela, conhecemos os componentes ele- 
trénicos basicos e compreendemos a natureza de um sistema embarcado que 
éum sistema eletrénico programado para um fim especifico. Os componentes 
eletrdnicos basicos usados em sistemas embarcados sdo os mesmos empre- 
gados na eletrdénica, o modo como eles sdo usados e as configuragées é que 
determinam o que o circuito ou 0 conjunto vai fazer, assim sendo, os mesmos 
componentes usados em um sistema embarcado podem ser encontrados em 
um televisor, computador, smartphone etc. 
Nesta unidade, estudamos também os microcontroladores, as interfaces 
de comunicacao e os dispositivos de entrada e saida que sdo os elementos da 
infraestrutura que compée os sistemas embarcados. Os microcontroladores 
sdo pequenos computadores completos embutidos dentro de um chip, e co- 
nhecer as caracteristicas de um microcontrolador é fundamental para o desen- 
volvimento de um projeto de sistema embarcado. 
Por fim, estudamos o Arduino UNO que usa o microcontrolador ATMe- 
ga328P que é “soquetado” ou soldado em uma placa com diversos conectores 
e circuitos de apoio, com o objetivo de facilitar a montagem dos projetos e a 
programacdo. O Arduino UNO é 0 modelo mais popular, mais simples e mais 
documentado de toda a familia Arduino, sendo indicado para iniciantes. 
10T- PROGRAMACAO COM ARDUINO )
Referéncias bibliograficas - 
STORE.ARDUINO. ARDUINO UNO. Disponivel em: <https://store.arduino.cc>. 
Acesso em: 19 abr. 2019. 
BANZI, Massimo; SHILOH, Michael. Primeiros passos com Arduino. 2. ed. Sado 
Paulo: Novatec, 2015. 
CPU-ZONE. Microcontrolador TMS 1000. Disponivel em: <http://www.cpu-zone. 
com/>. Acesso em: 19 abr. 2019. 
JAVED, Adeel. Criando projetos com Arduino para a internet das coisas. 1. ed. 
Sao Paulo: Novatec, 2017. 
MARTINS, Nardénio Almeida. Sistemas microcontrolados: uma abordagem 
com o microcontrolador PIC 16F84, 1. ed. Sdo Paulo: Novatec, 2005. 
MICROCHIP. Data sheet complete ATmega48A/PA/88A/PA/168A/PA/328/P. 
Disponivel em: <http://ww1.microchip.com/downloads/en/DeviceDoc/ATme- 
ga48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf>. Acesso em: 19 abr. 
2019. 
10T- PROGRAMACAO COM ARDUINO &
 
 
x. 
sef 
educacional
Objetivo da unidade 
@ Entender caracteristicas especificas de software para sistemas embarcados. 
Topicos de estudo 
@ Ambiente de Desenvolvimento 
Integrado - IDEs 
Caracteristicas do Arduino IDE 
Linguagens de programacao 
RM deste Tule ee 
barcados 
iS) <cinela] 
Variaveis 
Operadores 
Estruturas de controle 
Ul aleel=rs} 
Entradas e saidas digitais 
Bibliotecas 
10T - PROGRAMAGAO COM ARDUINO & 
®e 
Ambiente de Desenvolvimento Integrado — IDEs 
O IDE, do inglés Integrated Development Environment, € um ambiente de de- 
senvolvimento integrado que consiste em um editor de codigo, um compilador 
e um depurador. O editor de codigo é um editor de textos em que o cédigo é 
escrito, o compilador transforma 0 cédigo em uma linguagem de maquina que o 
microcontrolador é capaz de entender e o depurador identifica erros no codigo. 
 
 Caracteristicas do Arduino IDE 
O software Arduino também é conhecido como Arduino IDE e pode ser ad- 
quirido gratuitamente em seu site oficial. Faga o download da ultima versdo 
para Windows (“Windows ZIP file for non admin install”), conforme indicado 
na Figura 1. 
© Arduino - Sofware x + 
€ > CG @ hittps/Awwwarduino.cc/en/Main/Software 
HOME STORE SOFTWARE EDU RESOURCES COMMUNITY HELP 
Download the Arduino IDE 
ARDUINO 1.8.9 
‘The open-source Arduino Software (IDE) makes it easy to 
write code anc upload ft to the board. Itruns on. 
Windows, Mac OS X, and Linux. The environment is 
written in java and based on Processing anc other open- 
source software. 
‘This software can be used with any Arduino board. 
Refer to the Getting Started page for installation 
Inscructions. 
rea) 
Releas Figura 1. Captura de tela da pagina de download do Arduino no site oficial do produto. 10T - PROGRAMAGAO COM ARDUINO ©
Ao terminar, descompacte o arquivo. Se quiser, vocé pode mover a pasta 
para outro local, porém sempre mantenha a estrutura de pastas e subpastas. 
Dentro dela, existe um arquivo chamado “arduino.exe”. Clique duas vezes nele 
para executar 0 programa. 
Sketch 
Softwares escritos usando Arduino sdo chamados de “sketches”, e sdo 
escritos no editor de textos da IDE do Arduino e salvos com a extensdo de 
arquivo “ino”. 
 
sketch_apr01a | Arduino 1.8.9 
Arquivo Editar Sketch Ferramentas Ajuda 
 
sketch_apr0ta 
d setup() { 
// put your setup code here, to run once: 
} 
void loop() { 
// put your main code here, to run repeatedly: 
EDITOR 
Figura 2. Captura de tela do editor de texto da Arduino IDE 
 
O editor tem funcgdes comuns a todos os editores, como cortar, colar, bus- 
car, substituir texto, etc. A area de mensagens exibe informacées (feedback, er- 
ros, uso de recursos, etc.), e 0 canto direito inferior da janela exibe informacgdes 
sobre a placa. Os bot6es da barra de ferramentas permitem que vocé verifique, 
carregue, crie, abra e salve sketches. Observe os icones de cada fungdo: 
vy Verificar 
Verifica possiveis erros no codigo. 
b) Carregar 
Compila 0 codigo e carrega para o microcontrolador da placa Arduino. 
EI] Novo 
Cria um novo sketch. 
E] Abrir 
10T - PROGRAMAGAO COM ARDUINO &
Exibe um menu de todos os sketches existentes. 
EJ Salvar 
Salva o sketch. 
Configuragao da placa Arduino 
Em “Ferramentas”, selecione a placa, conforme indicado na Figura 3. 
 
e@ 
Arquivo Eéter Sketch [Feramentas) Ajuda 
Autofoemstagso 
Arquivar Sketch 
Coerigir codicagto e recaregie 
Monitor serist Ctele Shite mt 
Protter serial CuleShittet 
WiFi101 Fiernware Updater 
Ports: “COMI 
Obter informagdes da Place 
Programader: “AVRISP mil” 
Gravar Bootloader 
LiyPad Arduino USB 
 
Figura 3, Captura de tela exemplificando caminho para escolha do me i pla 
Configuragao da porta de comunicacao 
Feche o software Arduino e conecte 0 cabo USB na placa Arduino e na porta 
USB do computador ou notebook. O LED indicativo de alimentagdo da placa Ar- 
duino acenderda e o Windows detectara automaticamente o driver, criando uma 
nova porta de comunicag¢ao. Caso 0 Windows nao consiga detecta-lo, dispense 
a ajuda do assistente e siga os passos abaixo: 
1. Abra o painel de controle do Windows, navegue até Sistema e Seguranga, 
selecione “Hardware” e depois clique em “Gerenciador de Dispositivos”. 
2. Procure por Portas (COM & LPT), verifique a opgdo Arduino (COMxx). 
10T - PROGRAMAGAO COM ARDUINO )
3. Clique com o botdo direito do mouse em Arduino (COMxx) e escolha a 
op¢ao “Atualizar Driver”, instalando de uma lista ou local especifico. 
4. Finalmente navegue e escolha o driver “arduino.inf” localizado na pasta 
drivers do software do Arduino que vocé baixou no seu computador. 
5. O Windows vai finalizar a instalagdo do driver a partir deste ponto. 
Execute novamente o software Arduino e selecione a porta, como na Figura 4: 
‘Apeteerataste 
Arguher Seton 
oni cotacagbo erecunegte 
Mente seat 
Peer vss 
 
Figura 4. Captura de tela com caminho para configuragao da po 
EXPLICANDO 
Dependendo dos dispositivos em uso, as portas identificadas no seu com- 
putador podem ser diferentes das portas COM1, COM2, COM3. 
O software Arduino dispde de varios arquivos de exemplo, e usaremos 0 
“blink” (Arquivos, Exemplos, Basics, Blink) para testa-lo. Esse programa, quan- 
do carregado, fara o LED de testes que esta ligado diretamente ao pino 13 
da placa Arduino piscar a cada um segundo. Neste tdopico, nado vamos nos 
preocupar em entender o codigo, e sim a configura¢do

Outros materiais