Buscar

Iot - UNIDADE IV

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 12 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 12 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 12 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

Iot (Wearables) - Programação com Arduino
Unidade IV
Programação de Sistemas Embarcados
Objetivos
Capacitar o aluno para projetar, implementar e otimizar sistemas embarcados.
TÓPICOS DE ESTUDO
Projeto de hardware e software com microcontroladores
Um projeto de hardware e software que usa um microcontrolador dedicado a uma tarefa específica é conhecido como sistema embarcado. O Arduino é uma plataforma (hardware e software) de arquitetura aberta usada na prototipação de circuitos eletrônicos. Tem baixo custo, é simples de utilizar e dispõe de farta documentação, sendo ideal para quem está iniciando e deseja criar um projeto de sistema embarcado.
No Arduino, o microcontrolador é “soquetado” ou soldado em uma placa com diversos conectores e circuitos de apoio para facilitar a montagem dos projetos e a programação. A família Arduino dispõe de diversos modelos de placas, sendo o Arduino UNO a placa mais popular.
DESENVOLVIMENTO DE UM PROJETO DE SISTEMA EMBARCADO
Como exemplo prático das etapas de desenvolvimento de um projeto de sistema embarcado, vamos criar um protótipo do jogo Simon Says usando a plataforma Arduino. O jogo de memória, conhecido aqui no Brasil como GENIUS, tornou-se muito popular na década de 80. Seu objetivo é acompanhar uma sequência de luzes e sons sem errar.
// Escopo do projeto
O escopo traz um resumo do que se pretende fazer e como atingir o objetivo. O escopo desse projeto está dividido em 6 etapas:
Etapa 1 – Lista de material
Após a definição do objetivo, vamos elaborar uma lista do material necessário.
1) Arduino UNO
A placa Arduino UNO é a mais popular e mais documentada de toda a família Arduino, sendo indicada para quem está iniciando. Usa o microcontrolador ATmega328P, que possui 32 kB de memória FLASH e 14 pinos digitais (GPIO).
2) Protoboard de 830 pontos
Protoboard é uma placa reutilizável feita com blocos de plástico perfurados usada na prototipação de circuitos eletrônicos. A protoboard possui internamente várias lâminas que fazem o contato elétrico, permitindo a montagem dos componentes sem uso de solda. A Figura 3 exibe as ligações internas da protoboard.
3) Buzzer de 5 V
O buzzer será usado para reproduzir as notas musicais do jogo.
4) Jumpers
Este projeto usa 17 jumpers do tipo (macho x macho). Para facilitar a montagem, é recomendado usar 8 jumpers da cor vermelha, 3 da cor preta, 2 da cor azul, 2 da cor amarela e 2 da cor verde.
5) LEDs
Este projeto usa 4 LEDs de alto brilho (verde, vermelho, azul e amarelo).
6) Resistores (100 Ω)
Este projeto usa 5 resistores de 100 Ω (marrom, preto, marrom, dourado).
7) Botões
Este projeto usa 4 chaves tipo push button (interruptores de pressão).
8) Resistores (10 KΩ)
Este projeto usa 4 resistores de 10 KΩ (marrom, preto, laranja, dourado).
Observe a seguir um diagrama que ilustra a montagem do jogo, seguida do detalhamento de cada etapa do processo.
Etapa 2 – Planejamento da montagem
Planejar a fixação das peças tendo em mente o objetivo do projeto e pensando na jogabilidade (acionamento dos botões, visualização dos LED, etc.).
Etapa 3 – Montagem dos LEDs
Para ligar os LEDs na placa Arduino, iremos usar os resistores de 100 Ω, conforme esquema de ligação indicado na Figura 5.
A ligação dos LEDs no Arduino deve ser feita conforme Tabela 1 e Figura 6.
 
Etapa 4 – Montagem do buzzer
O buzzer será ligado ao pino 7 da placa Arduino usando um resistor de 100 Ω, conforme indicado nas Figuras 7 e 8.
Etapa 5 – Montagem dos botões
Para ligar os botões na placa Arduino, iremos usar os resistores de 10 KΩ, conforme esquema de ligação indicado na Figura 9.
A ligação dos botões no Arduino deve ser feita conforme Tabela 2 e Figura 10. O botão identificado com a letra A irá acender o LED verde, o identificado com a letra B irá acender o vermelho, o identificado com a letra C irá acender o azul e o identificado com a letra D irá acender o amarelo.
 
Etapa 6 – Programação
Para programar este jogo, é necessário entender o seu objetivo. Primeiro, o jogo reproduz uma nota musical e um sinal luminoso correspondente, depois o jogo espera que o jogador repita a informação. Se o jogador repete a informação corretamente, o jogo reproduz o mesmo sinal e adiciona outro aleatório, dentro das 4 opções disponíveis.
À medida que o jogador vai repetindo a sequência, o jogo vai adicionando uma nova informação até o jogador errar ou conseguir repetir a quantidade de passos que foi definida para vencer.
Para armazenar valores em sequência, no Arduino, usamos o array (também conhecido como vetor), que é uma estrutura de dados indexada capaz de armazenar valores em uma lista. Neste projeto, nós vamos criar um array de tamanho 32 para armazenar a sequência do jogo. O valor 32 representa a quantidade de passos da sequência que o jogador precisa acertar para vencer.
Para associar a nota musical ao sinal luminoso e ao botão correspondente, é necessário criar mais três arrays. É pelo índice desses arrays que conseguimos associar a nota musical ao sinal luminoso e ao botão, conforme indicado na Figura 11.
A programação do Arduino será feita conforme diagrama a seguir.
No primeiro bloco (Figura 12) serão criadas as variáveis globais e os arrays.
EXPLICANDO
Na Figura 12, a linha 6 cria um array vazio de nome “sequencia” e tamanho 32. As linhas 7, 8 e 9 criam 3 arrays de tamanho 4 com os valores dos pinos dos botões, LEDs e frequência das notas musicais. As linhas 10 e 11 criam variáveis de apoio para determinar a rodada que o jogo se encontra e verificar o passo do jogador e a linha 12 cria uma variável para fazer a validação de fim de jogo.
DICA
Para configurar a dificuldade do jogo, altere o valor do array “sequencia”.
O segundo bloco “setup()” configura os pinos (GPIO) do Arduino (Figura 13).
No bloco principal “loop()”, primeiro é feito uma validação para verificar se o jogo acabou. Caso tenha acabado, as variáveis são “zeradas”, fazendo com que reinicie automaticamente; caso contrário, o “loop()” executará sequencialmente 3 funções (Figura 14).
EXPLICANDO
Quando uma função é encontrada, o “loop()” faz o desvio para ela executando o seu código. Depois de executar a função, o “loop()” passa para a próxima, repetindo infinitamente esse processo.
A função “próximaRodada()” será responsável por gerar um número aleatório entre 0 e 3 que será armazenado no array de nome “sequencia” (Figura 15).
EXPLICANDO
Na linha 46 da Figura 15, o comando “random(4)” gera um número aleatório entre 0 e 3. A linha 47 armazena no array “sequencia” o resultado desse sorteio e a linha 48 adiciona uma nova rodada ao array sempre que essa função for executada.
A função “reproduzirSequencia()” reproduz a sequência armazenada no array (Figura 16).
O comando “for” é usado para percorrer o array e também para reproduzir o tom musical acendendo o LED correspondente.
A função “aguardarJogador()” identifica o botão pressionado e verifica se o jogador acertou a sequência. Se o jogador acertar a sequência, a função retorna ao “loop()” sem alterar o valor da variável “gameOver”. Se o jogador errar a sequência, um efeito sonoro e luminoso será executado e o valor da variável “gameOver” será modificado para “true” antes da função retornar ao “loop()” (Figuras 17 e 18).
Na linha 66 da Figura 17, foi usado o comando “while” para forçar o jogador a executar a jogada, ou seja, pressionar os botões. Se o jogador não executá-la, o jogo fica “preso” nesse laço aguardando o jogador.
Introdução à robótica
Existem muitas definições para o que é um robô, mas, resumindo, podemos dizer que é um sistema embarcado com habilidade para se comunicar e interagir com o seu ambiente de forma autônoma ou através de interação com seres humanos. Já robótica é a ciência dos robôs, ou seja, é a ciência dos sistemas que interagem com o ambiente, e envolve principalmente a eletrônica, a mecânica e a computação.
O termo “robô” vem da palavra tcheca “robota”, que significa trabalho forçado, e teve origem em 1920 na peça de ficção científica RUR (do inglês Rossum Universal Robots), do escritor tchecoKarel Capek. Na peça, o cientista Rossum cria humanos mecanizados, os “robots”, que exerciam funções repetitivas e pesadas.
LEIS DA ROBÓTICA
Isaac Asimov foi um brilhante escritor, mestre da ficção científica e é considerado o pai dos robôs. Publicou diversos livros com a temática dos robôs, contrariando a onda de obras de ficção científica que pregavam o medo e a incerteza quanto à inserção deles na sociedade. Na concepção de Asimov, robôs ajudam os humanos em tarefas.
Um dos livros mais famosos de Asimov é o livro “Eu robô”, publicado em 1950, em que o autor criou as famosas leis da robótica:
· Um robô não pode ferir um ser humano ou permitir, por omissão, que um ser humano sofra algum mal.
· Um robô deve obedecer a ordens dadas a ele por pessoas qualificadas, exceto nos casos em que tais ordens entrem em conflito com a primeira lei. Em outras palavras, um robô não pode ser ordenado a ferir um ser humano.
· Um robô deve proteger sua própria existência, desde que não entre em conflito com as leis anteriores.
TIPOS DE ROBÔS
// Robôs humanoides
Robôs humanoides são projetados para imitar tudo o que os seres humanos podem fazer. Dois robôs humanoides famosos são Asimo e Sophia. O primeiro é um robô que consegue desviar de pessoas, andar sobre superfícies irregulares, comunicar-se bem com os humanos, pegar objetos, correr e subir escadas, entre outras habilidades. A segunda é dotada de inteligência artificial e é capaz de reproduzir 62 expressões faciais, sendo projetada para aprender e adaptar-se ao comportamento humano.
// Robôs de entretenimento
Essa é uma categoria muito ampla, começando com robôs de brinquedo e terminando com modelos mais realistas capazes de simular diversos tipos de movimentos e atividades.
// Robôs de serviço
Também conhecidos como robôs domésticos, esta categoria inclui muitos dispositivos diferentes, tais como aspiradores, limpadores de piscina e varredores.
// Robôs educacionais
São protótipos de robôs usados para fins educacionais, em que normalmente formam-se kits de montagem compostos por diversas peças.
// Robôs exploradores
São usados principalmente em coleta de dados e pesquisas.
// Robôs industriais
São usados em tarefas que necessitam de esforços repetitivos, precisão, resistência, rapidez e força. Geralmente são braços articulados especificamente desenvolvidos para aplicações como soldagem, manuseio de materiais e pintura.
// Robôs militares
São robôs que podem ser usados no desarmamento de bombas, robôs de transporte, drones de reconhecimento, entre outros. Também podem ser usados em outros contextos, como busca e salvamento ou auxílio a policiais e bombeiros.
// Robôs médicos
São usados na medicina e instituições médicas. Normalmente são robôs de cirurgia, mas podem ser inclusos nessa classificação robôs que ajudam no manuseio de pacientes.
Introdução à automação
Automação é um sistema embarcado projetado para realizar tarefas automáticas. Sistemas de automação podem verificar o seu próprio funcionamento, efetuando medições e fazendo correções sem a interferência do ser humano.
A automação pode ser dividida em 3 ramos principais:
· Automação industrial;
· Automação comercial;
· Automação residencial.
AUTOMAÇÃO INDUSTRIAL
A automação industrial pode ser definida como a aplicação de um sistema embarcado utilizado em processos produtivos. O principal objetivo da automação industrial é implementar projetos que sejam capazes de aumentar a autonomia dos processos de fabricação e reduzir ao máximo o esforço humano na cadeia de valor, melhorando a qualidade do produto final e reduzindo custos.
AUTOMAÇÃO COMERCIAL
A automação comercial é utilizada no comércio de bens e serviços e pode ser definida como um sistema voltado para processos operacionais, como o atendimento ao cliente em supermercados, padarias e estacionamentos.
Na automação comercial, normalmente usamos um aplicativo de controle vinculado aos equipamentos do PDV (ponto de vendas), tais como impressoras, gavetas, leitores de código de barras e balanças. A automação comercial padroniza os processos e otimiza as rotinas necessárias para a operação e gestão de um negócio.
AUTOMAÇÃO RESIDENCIAL
A automação residencial é o uso da tecnologia dos sistemas embarcados com o objetivo de facilitar e tornar automáticas algumas tarefas habituais, que, em uma casa convencional, ficariam a cargo de seus moradores. Com diversos tipos de sensores e o uso de um controle remoto, ou até mesmo tablet ou smartphone, é possível acionar dispositivos ou programar tarefas, trazendo maior praticidade, segurança, economia e conforto para o morador.
SINTETIZANDO
Nesta unidade, aprendemos a projetar e desenvolver um sistema embarcado usando a plataforma Arduino. Estudamos, ainda, a robótica, a automação e vimos que o Arduino é um facilitador para quem quer desenvolver projetos nessas áreas.
Os detalhes vistos nesta unidade com relação ao desenvolvimento do projeto e as possibilidades de uso do Arduino na robótica e na automação fazem com que a plataforma Arduino seja uma porta de entrada a todos que desejam projetar, implementar e otimizar sistemas embarcados.

Continue navegando