Fluxos de programação em arduino (Flow) PDF

Title Fluxos de programação em arduino (Flow)
Course Programação Sistemática De Algoritmos
Institution Universidade do Estado do Amazonas
Pages 2
File Size 138.1 KB
File Type PDF
Total Downloads 17
Total Views 134

Summary

Atividade prática de programação em arduino, abrangendo os fluxos FLoW...


Description

ROTEIRO DE ATIVIDADE PRÁTICA PROGRAMAÇÃO E CONTROLE FLUXOS DE PROGRAMAÇÃO EM ARDUINO (FLOW)

ATENÇÃO: Os fluxos (flow) devem ser criados em abas separadas. Será penalizado em -1 ponto por cada exercício, as provas enviadas que não apresentarem as respostas em sua respectiva aba de fluxo. Os fluxos devem ser enviados em um único arquivo contendo todas os fluxos de todas as abas do node-red (opção All flows ao exportar). Os fluxos devem ser exportados para um editor de texto plano (ex.: notepad++) e salvos como .json. Lembre-se que pelo menos 1 nó deve estar selecionado na tela para que a opção de exportação seja habilitada pelo node-red. 1. (2,0) Construa um fluxo, denominado Fluxo M, no Node-Red que permita o controle de um servo motor conectado ao Arduino pelo pino Digital 5. O controle deve ser feito enviando o valor numérico da posição via plugin inject, diretamente para o nó do tipo Arduino out. Não é necessário o uso da placa física nesta etapa, apenas a criação do Fluxo e correta configuração dos nós, tipos de portas e tipos de dados no node-red. 2. (1,0) Construa um fluxo, denominado Fluxo N, que permita desligar e ligar o led interno (pino Digital 13). Os valores de true e false devem ser enviados separadamente via nó do tipo inject para o nó Arduino out. Seu fluxo deve utilizar o plugin Arduino out disponível na palheta de nós. Não é necessário o uso da placa física nesta etapa, apenas a criação do Fluxo e sua correta configuração. 3. (2,0) Construa um fluxo, denominado Fluxo O para que a posição do servo motor seja armazenada no tópico \servo (ex.: 123456\servo), o estado do rele seja armazenado no tópico \rele. Para cada tópico no broker configure os nós MQTT out com o nome de cada tópico separadamente. A entrada de valores deve ser feita via nós do tipo inject. Utilize um nó de entrada MQTT in ligado a um nó Arduino out para acionar o rele no pino Digital 6 e faça o mesmo para configurar o servo no pino Digital 7. Utilize um único nó Debug conectado a um único tópico com uma consulta MQTT através de um nó MQTT in para apresentar os valores de TODOS os tópicos via consulta MQTT (não é o mesmo que ligar todos em um único debug). O broker MQTT deve ser configurado para o broker.mqtt-dashboard.com:1883. Não é necessário o uso da placa física do Arduino, apenas a criação do Fluxo e a configuração correta (tipos de dados, tipos de entrada, saída etc.) de todos os nós. Estes fatores serão avaliados em sua resposta. 4. (2,0) Crie um fluxo denominado Fluxo P que utilize os módulos dashboard para criar uma interface de monitoramento dos tópicos MQTT criados no exercício 3, representando o servo motor e o rele. Não esqueça de configurar o Group e o Tab para cada plugin dashboard, pois sem isso os controles não estarão visíveis. Utilize o módulo switch para controlar o rele via MQTT, o módulo gauge para monitorar a posição do servo via MQTT e o módulo slider para modificar a posição do servo motor via MQTT. Os pinos do Arduino permanecem os mesmos da questão 3. Atenção: todos os comandos enviados para o Arduino devem passar pelos tópicos criados no broker MQTT, assim, nenhum dispositivo deve ser acionado diretamente neste exercício. Não é necessário o uso da placa física, apenas a criação do Fluxo. O acionamento direto do dispositivo zera o valor da nota deste exercício. A não configuração dos nós dashboard implica em nota 0 nesta questão. 1

5. (3,0) O Servo motor é um dispositivo bastante utilizado em diversos projetos. Nele, o motor pode girar de 0 a 180 graus e, em alguns modelos, de 0 a 360 graus. Em nossas aulas, utilizamos o Micro servo 5G, que funciona conforme a Fig. 1.

Figura 1. PWM para o Micro Servo 9G. Fonte: www.engineersgarage.com Neste exercício, um código fonte disponibilizado no moodle (arquivo servo.ino) tem por objetivo controlar o Micro-Servo 9G utilizando um potenciômetro ligado a entrada A0 no Arduino UNO. Entretanto o programa neste arquivo está incompleto. Corrija o arquivo servo.ino para que funcione corretamente, ou seja, a posição do servo mude de X a Y graus de acordo com a movimentação do potenciômetro (de mínimo para máximo). Não deve ser utilizada nenhuma função ou biblioteca a mais do que as que já estão presentes no código. É proibido utilizar a biblioteca servo.h neste exercício. X = menor digito do seu TIA. Y = maior digito do seu TIA x 20 Ex: TIA= 1156768 X=1, Y=8x20=160 Monte o circuito para acionamento do servo utilizando um potenciômetro e envie o link compartilhável do projeto público, juntamente com uma captura da imagem da montagem e insira o código fonte com a sua correção na sua resposta. Ao terminar os exercícios de 1 a 4, salve os fluxos em um arquivo .json e os envie no moodle juntamente com o PDF contendo as respostas para os exercícios. Verifique se os seus arquivos estão válidos antes de enviar. Caso o arquivo .json estiver corrompido ou inválido a nota nos exercícios que dependem dele será 0. O mesmo se aplica as respostas enviadas para o exercício 5, o link compartilhável do Tinkercad e o arquivo exercício_servo.ino corrigido.

2...


Similar Free PDFs