Baixe o app para aproveitar ainda mais
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
Compartilhar