Por Fernando Koyanagi
|
|
|
- Nathan Neiva Amorim
- 7 Há anos
- Visualizações:
Transcrição
1 Por Fernando Koyanagi
2 Intenção dessa aula Mostrar uma biblioteca para driver de motor de passo completa com chaves de fim de curso, movimento dos motores com aceleração e micro passo.
3 Biblioteca StepDriver Para que serve: A biblioteca abrange os três tipos de drivers mais comuns: A4988, DRV8825 e TB6600. Configura os pinos dos drivers, possibilitando realizar o reset, colocar em modo Sleep, bem como ativar e desativar as saídas do motor atuando no pino Enable. Configura as entradas dos pinos de micro passo do driver. Configura as chaves de fim de curso e o nível de ativação das mesmas (alto ou baixo) Também conta com código de movimento do motor com aceleração contínua em mm/s², velocidade máxima em mm/s e velocidade mínima em mm/s.
4 Variáveis Globais int RST; // Porta reset do DRV8825 int SLP; // Porta dormir (Sleep) DRV8825 int ENA; // Porta ativa (Enable) DRV8825 int M0; // Porta M0 do DRV8825 int M1; // Porta M1 do DRV8825 int M2; // Porta M2 do DRV8825 int DIR; // Porta direção (Direction) do DRV8825 int STP; // Porta passo(step) do DRV8825 int SCF; // Modo do passo int SPR; // Passos por volta int EMAX; // Fim de curso máximo int EMIN; // Fim de curso mínimo double SPM; // Passos por milímetro bool LVL; // Usado para verificar se os fins de curso são ativados em nível alto ou baixo int ACC; //Define a aceleração do motor em milímetros por segundo ao quadrado double MIN_SPEED; //Define a velocidade mínima do motor em milímetros por segundo double MAX_SPEED; //Define a velocidade máxima do motor em milímetros por segundo
5 Funções Configuração dos pinos do driver void DRV8825::pinConfig(int ena, int m0, int m1, int m2, int rst, int slp, int stp, int dir) ENA = ena; // Porta ativa (enable) DRV8825 M0 = m0; // Porta M0 do DRV8825 M1 = m1; // Porta M1 do DRV8825 M2 = m2; // Porta M2 do DRV8825 RST = rst; // Porta reset do DRV8825 SLP = slp; // Porta dormir (sleep) DRV8825 STP = stp; // Porta passo(step) do DRV8825 DIR = dir; // Porta direção (direction) do DRV8825 //Define os pinos do arduino como saída pinmode(rst, OUTPUT); pinmode(slp, OUTPUT); pinmode(ena, OUTPUT); pinmode(m0, OUTPUT); pinmode(m1, OUTPUT); pinmode(m2, OUTPUT); pinmode(dir, OUTPUT); pinmode(stp, OUTPUT);
6 Funções Funções básicas do driver void DRV8825::reset() digitalwrite(rst, LOW); delay (1); digitalwrite(rst, HIGH); delay (10); // Realiza o reset do DRV8825 // Atraso de 1 milissegundo // Libera o reset do DRV8825 // Atraso de 10 milissegundos void DRV8825::enable(bool state) digitalwrite(ena,!state);// Ativa e desativa o chip DRV8825 //(FALSE = ativa, TRUE = desativa) delay (10); // Atraso de 10 milissegundos void DRV8825::sleep(bool state) digitalwrite(slp,!state);// Ativa e desativa o modo Sleep do chip DRV8825 //(FALSE = ativa, TRUE = desativa) delay (10); // Atraso de 10 milissegundos
7 Funções Configuração de passo do motor //Configura a quantidade de passos por milímetro que o motor deve realizar void DRV8825::stepPerMm(double steps) SPM = steps; //Configura a quantidade de passos por volta que o motor deve realizar void DRV8825::stepPerRound(int steps) SPR = steps;
8 Funções Configuração do modo de passo do motor void DRV8825::stepConfig(int s) //Configura o modo do passo SCF = s; switch (SCF) case 1: FULL(); case 2: s1_2(); case 4: s1_4(); case 8: s1_8(); case 16: s1_16(); case 32: s1_32(); default: FULL(); // Configura modo Passo completo void DRV8825::FULL() digitalwrite(m0, LOW); digitalwrite(m1, LOW); digitalwrite(m2, LOW); M0 M1 M2 FULL LOW LOW LOW 1/2 HIGH LOW LOW 1/4 LOW HIGH LOW 1/8 HIGH HIGH LOW 1/16 LOW LOW HIGH 1/32 HIGH LOW HIGH
9 Funções Configuração do modo de passo do motor void DRV8825::stepConfig(int s) //Configura o modo do passo SCF = s; switch (SCF) case 1: FULL(); case 2: s1_2(); case 4: s1_4(); case 8: s1_8(); case 16: s1_16(); case 32: s1_32(); default: FULL(); // Configura modo Passo 1/2 void DRV8825::s1_2() digitalwrite(m0, HIGH); digitalwrite(m1, LOW); digitalwrite(m2, LOW); M0 M1 M2 FULL LOW LOW LOW 1/2 HIGH LOW LOW 1/4 LOW HIGH LOW 1/8 HIGH HIGH LOW 1/16 LOW LOW HIGH 1/32 HIGH LOW HIGH
10 Funções Configuração do modo de passo do motor void DRV8825::stepConfig(int s) //Configura o modo do passo SCF = s; switch (SCF) case 1: FULL(); case 2: s1_2(); case 4: s1_4(); case 8: s1_8(); case 16: s1_16(); case 32: s1_32(); default: FULL(); // Configura modo Passo 1/4 void DRV8825::s1_4() digitalwrite(m0, LOW); digitalwrite(m1, HIGH); digitalwrite(m2, LOW); M0 M1 M2 FULL LOW LOW LOW 1/2 HIGH LOW LOW 1/4 LOW HIGH LOW 1/8 HIGH HIGH LOW 1/16 LOW LOW HIGH 1/32 HIGH LOW HIGH
11 Funções Configuração do modo de passo do motor void DRV8825::stepConfig(int s) //Configura o modo do passo SCF = s; switch (SCF) case 1: FULL(); case 2: s1_2(); case 4: s1_4(); case 8: s1_8(); case 16: s1_16(); case 32: s1_32(); default: FULL(); // Configura modo Passo 1/8 void DRV8825::s1_8() digitalwrite(m0, HIGH); digitalwrite(m1, HIGH); digitalwrite(m2, LOW); M0 M1 M2 FULL LOW LOW LOW 1/2 HIGH LOW LOW 1/4 LOW HIGH LOW 1/8 HIGH HIGH LOW 1/16 LOW LOW HIGH 1/32 HIGH LOW HIGH
12 Funções Configuração do modo de passo do motor void DRV8825::stepConfig(int s) //Configura o modo do passo SCF = s; switch (SCF) case 1: FULL(); case 2: s1_2(); case 4: s1_4(); case 8: s1_8(); case 16: s1_16(); case 32: s1_32(); default: FULL(); // Configura modo Passo 1/16 void DRV8825::s1_16() digitalwrite(m0, LOW); digitalwrite(m1, LOW); digitalwrite(m2, HIGH); M0 M1 M2 FULL LOW LOW LOW 1/2 HIGH LOW LOW 1/4 LOW HIGH LOW 1/8 HIGH HIGH LOW 1/16 LOW LOW HIGH 1/32 HIGH LOW HIGH
13 Funções Configuração do modo de passo do motor void DRV8825::stepConfig(int s) //Configura o modo do passo SCF = s; switch (SCF) case 1: FULL(); case 2: s1_2(); case 4: s1_4(); case 8: s1_8(); case 16: s1_16(); case 32: s1_32(); default: FULL(); // Configura modo Passo 1/32 void DRV8825::s1_32() digitalwrite(m0, HIGH); digitalwrite(m1, LOW); digitalwrite(m2, HIGH); M0 M1 M2 FULL LOW LOW LOW 1/2 HIGH LOW LOW 1/4 LOW HIGH LOW 1/8 HIGH HIGH LOW 1/16 LOW LOW HIGH 1/32 HIGH LOW HIGH
14 Funções Configuração das chaves de fim de curso //Configura os pinos das chaves de fim de curso void DRV8825::endstopConfig(int emin, int emax, bool level) EMAX = emax; //Fim de curso máximo EMIN = emin; //Fim de curso mínimo LVL = level; //Define se as chaves ativam //em nível alto ou nível baixo pinmode(emax, INPUT); pinmode(emin, INPUT);
15 Funções Leitura das chaves de fim de curso //Lê o nível da chave de fim de curso bool DRV8825::eRead(int pin) if(lvl&&digitalread(pin)) //Se a chave ativa em nível ALTO //E a leitura da chave esta ALTA return true; //Retorna VERDADEIRO if(!lvl&&!digitalread(pin)) //Se a chave ativa em nível BAIXO //E a leitura da chave esta BAIXA return true; //Retorna VERDADEIRO return false; //Retorna FALSO Nível Leitura Saída 0 0 True 0 1 False 1 0 False 1 1 True
16 Funções Leitura das chaves de fim de curso bool DRV8825::canGo(bool direction) if(direction && eread(emax))//se o motor está movendo em direção CRESCENTE //E a chave de fim de curso MÁXIMA está ativada return false;//interrompe o movimento if(!direction && eread(emin))//se o motor está movendo em direção DECRESCENTE //E a chave de fim de curso MÍNIMA está ativada return false;//interrompe o movimento return true;//se não, Libera o movimento Movendo em direção CRESCENTE Fim de curso MÁXIMO DESATIVADO
17 Funções Leitura das chaves de fim de curso bool DRV8825::canGo(bool direction) if(direction && eread(emax))//se o motor está movendo em direção CRESCENTE //E a chave de fim de curso MÁXIMA está ativada return false;//interrompe o movimento if(!direction && eread(emin))//se o motor está movendo em direção DECRESCENTE //E a chave de fim de curso MÍNIMA está ativada return false;//interrompe o movimento return true;//se não, Libera o movimento Movendo em direção CRESCENTE Fim de curso MÁXIMO ATIVADO
18 Funções Leitura das chaves de fim de curso bool DRV8825::canGo(bool direction) if(direction && eread(emax))//se o motor está movendo em direção CRESCENTE //E a chave de fim de curso MÁXIMA está ativada return false;//interrompe o movimento if(!direction && eread(emin))//se o motor está movendo em direção DECRESCENTE //E a chave de fim de curso MÍNIMA está ativada return false;//interrompe o movimento return true;//se não, Libera o movimento Movendo em direção DECRESCENTE Fim de curso MÍNIMO
19 Funções Leitura das chaves de fim de curso bool DRV8825::canGo(bool direction) if(direction && eread(emax))//se o motor está movendo em direção CRESCENTE //E a chave de fim de curso MÁXIMA está ativada return false;//interrompe o movimento if(!direction && eread(emin))//se o motor está movendo em direção DECRESCENTE //E a chave de fim de curso MÍNIMA está ativada return false;//interrompe o movimento return true;//se não, Libera o movimento Movendo em direção DECRESCENTE Fim de curso MÍNIMO ATIVADO
20 Funções Configuração de movimento //Configuracao de movimento: Aceleração em mm/s^2, Velocidade máxima em mm/s, velocidade mínima em mm/s void DRV8825::motionConfig(double acceleration, double maxspeed, double minspeed) //Converte Aceleração de: mm/s^2 para passos/s^2 ACC = acceleration * SPM; //Converte Velocidade máxima de: mm/s para passos/s MAX_SPEED = maxspeed * SPM; //A velocidade mínima não pode ser maior que a velocidade máxima if (minspeed > maxspeed) //Converte Velocidade máxima de: mm/s para passos/s MIN_SPEED = maxspeed * SPM; else //Converte Velocidade mínima de: mm/s para passos/s MIN_SPEED = minspeed * SPM;
21 Funções Função de Movimento //Move um passo na direção solicitada em um período de microssegundos void DRV8825::motorMove(int period, bool direction) //Configura o pino de direção do driver digitalwrite(dir,direction); //Verifica se as chaves de fim de curso estão DESATIVADAS na direção solicitada if (cango(direction)) digitalwrite(stp, HIGH); //Altera o nível da porta STP do driver para nível alto delaymicroseconds(period / 2); //Aguarda meio período digitalwrite(stp, LOW); //Altera o nível da porta STP do driver para nível baixo delaymicroseconds(period / 2); //Aguarda meio período //Se as chaves de fim de curso estão ATIVADAS na direção solicitada else delaymicroseconds(period); //Aguarda todo o período e não move o motor
22 Funções Função de Movimento - variáveis //Move o motor em uma determinada distância, //Acelerando até a velocidade máxima e desacelerando até parar void DRV8825::motorMoveTo(double distance, bool direction) //Período da velocidade mínima = 1/(velocidade mínima) double MIN_SPEED_PERIOD = 1.0 / MIN_SPEED; //Período da velocidade máxima = 1/(velocidade máxima) double MAX_SPEED_PERIOD = 1.0 / MAX_SPEED; //Período da velocidade de aceleração recebe inicialmente o período da velocidade mínima double ACC_SPEED_PERIOD = MIN_SPEED_PERIOD; //Converte a distância da trajetória de milímetros para passos unsigned long PATH_STEPS = distance * SPM; //Passos para parar recebe inicialmente a metade dos passos da trajetória long STEPS_TO_STOP = PATH_STEPS / 2; //Guarda a velocidade máxima alcançada pelo motor durante a aceleração double MAX_SPEED_REACHED; bool flag = true;
23 Funções Função de Movimento - Aceleração for (long i = 0; i < PATH_STEPS; i++) //Enquanto estiver na primeira metade da trajetória if (i < (PATH_STEPS / 2)) //Se o período da velocidade de aceleração for maior que a período da velocidade máxima if (ACC_SPEED_PERIOD > MAX_SPEED_PERIOD) Equação de Torricelli Aceleração: V min //Calcula o período de aceleração do motor: ACC_SPEED_PERIOD = 1.0 / sqrt((min_speed * MIN_SPEED) + (2.0 * ACC * i)); //Converte o período de aceleração em segundos //para microssegundos e move o motor em um passo na direção solicitada motormove( * ACC_SPEED_PERIOD, direction); //Converte e guarda o período máximo alcançado //para velocidade máxima alacançada: (1/periodo)/passos por mm MAX_SPEED_REACHED = (1 / ACC_SPEED_PERIOD) / SPM; else AC i a AC = Aceleração(mm/s²) V min = Velocidade Mínima(mm/s) i a = Passo atual
24 Funções Função de Movimento - Aceleração mm/s Primeira Metade Segunda Metade Velocidade Máxima (MAX_SPEED) Aceleração Velocidade Contínua Desaceleração Velocidade Mínima (MIN_SPEED) Velocidade Zero Tempo (µs) Trajetória Total (PATH_STEPS)
25 Funções Função de Movimento Velocidade Contínua... else //Se o periodo da velocidade de aceleração for //menor ou igual que a perído da velocidade máxima if (flag) //Apenas um marcador para que execute a operação apenas uma vez //Guarda o numero de passos usados na aceleração STEPS_TO_STOP = i; //A velocidade máxima alcançada torna-se a velocidade máxima do motor MAX_SPEED_REACHED = MAX_SPEED; flag = false; //Converte o período de velocidade máxima em segundos //para microssegundos e move o motor em um passo na direção solicitada motormove( * MAX_SPEED_PERIOD, direction); //Fim da primeira metade...
26 Funções Função de Movimento Velocidade Contínua Guarda o numero de passos usados na aceleração Velocidade Máxima (MAX_SPEED) Aceleração Primeira Metade Velocidade Contínua Segunda Metade Desaceleração mm/s Prossegue em velocidade contínua Guarda a velocidade máxima alcançada Velocidade Mínima (MIN_SPEED) Velocidade Zero Se a velocidade máxima alcançada for igual a velocidade máxima do motor então guarda-se a mesma Trajetória Total (PATH_STEPS) Tempo (µs)
27 Funções Função de Movimento - Desaceleração else//enquanto estiver na segunda metade da trajetória //Determina quando o motor deve desacelerar //(passos totais da trajetória menos o número de passos para parar) if (i > PATH_STEPS - STEPS_TO_STOP) Desaceleração: 1 2 V max + 2 AC i a i t i p V max = Velocidade Máxima alcançada(mm/s) AC = Aceleração(mm/s²) i a = Passo atual i t = Passo total da trajetória i p = Passo para parar //Calcula o periodo de desaceleração do motor: ACC_SPEED_PERIOD = 1.0 / sqrt((max_speed_reached * MAX_SPEED_REACHED) * (ACC * - 1.0) * (i - (PATH_STEPS - STEPS_TO_STOP))); //Converte o período de aceleração em segundos para microssegundos //e move o motor em um passo na direção solicitada motormove( * ACC_SPEED_PERIOD, direction);
28 Funções Função de Movimento - Curva de Desaceleração Se alcançado o começo da desaceleração (i t i p ) Velocidade Máxima (MAX_SPEED) Aceleração Primeira Metade Velocidade Contínua Segunda Metade Desaceleração mm/s Velocidade Mínima (MIN_SPEED) Velocidade Zero Tempo (µs) Trajetória Total (PATH_STEPS)
29 Funções Função de Movimento Velocidade Contínua else//se ainda não alcançada a desaceleração //Converte o período de velocidade máxima em segundos //para microssegundos e move o motor em um passo na direção solicitada motormove( * MAX_SPEED_PERIOD, direction); //Fim da segunda metade da trajetória //Fim do for //Fim da função
30 Funções Função de Movimento Velocidade Contínua Se ainda não alcançado o começo da desaceleração (i t i p ) Velocidade Máxima (MAX_SPEED) Aceleração Primeira Metade Velocidade Contínua Segunda Metade Prossegue em velocidade contínua Desaceleração mm/s Velocidade Mínima (MIN_SPEED) Velocidade Zero Tempo (µs) Trajetória Total (PATH_STEPS)
31 Funções Função de Movimento Mover Voltas //Move o motor um determinado número de voltas na direção solicitada void DRV8825::motorMoveRounds(int rounds, bool direction) //converte converte o número de voltas solicitadas em milímetros double distance = (rounds * SPR )/SPM; //Move o motor na direção solicitada motormoveto(distance, direction);
32 Gráfico de movimento Velocidade em função da Posição Velocidade (mm/s) Posição (passos)
33 Gráfico de movimento Período em função da Posição Período (µs) Posição (passos)
34 Gráfico de movimento Velocidade em função do Instante Velocidade (mm/s) Tempo (µs)
35 Em Seu 35
36 Em Download arquivos PDF e INO do código fonte 36
Por Fernando Koyanagi
Por Fernando Koyanagi Em www.fernandok.com Seu e-mail 2 Recursos usados ESP WROOM 32 Módulo TFT LCD 1,44 RGB Driver DRV8825 2 Potenciômetros: 10k e 50k Capacitor Eletrolítico 220uF Motor de Passo Intenção
Por Fernando Koyanagi 1
Por Fernando Koyanagi 1 Objetivo Nosso objetivo será criar um projeto no qual teremos dois ESP32 Lora se comunicando, um (EMISSOR) ligado ao sensor de barreira infravermelho e outro (RECEPTOR) ligado á
Manual Técnico Módulo Ponte H 5A
Manual Técnico Módulo Ponte H 5A Introdução Módulo de Ponte H 5A para controlar um motores DC de grande porte. Com este módulo é possível controlar o sentido de rotação de motores DC de 5 a 8 Ampères.
Por Fernando Koyanagi
Por Fernando Koyanagi Objetivo Nosso objetivo será criar um programa que recebe uma senha digitada pelo usuário através do teclado matricial e compara com a senha correta para exibir uma mensagem de correto
Arduino. Conectores, Fonte, USB, LEDs. Compilador, Bibliotecas, Editor, Burner
Arduino Single-board microcontroller Microcontrolador Placa CPU, Memória, Serial, I/O Conectores, Fonte, USB, LEDs IDE Compilador, Bibliotecas, Editor, Burner http://arduino.cc/en/reference/homepage Shields
#include <SoftwareSerial.h> SoftwareSerial myserial(2, 3); // RX, TX
//Titulo: Quadro de comando para piscina com acionamento bluetooth //Criado em 05 de Janeiro de 2017 //Linguagem C++ //Desenvolvido por Igor França #include SoftwareSerial myserial(2,
Arduino. Conectores, Fonte, USB, LEDs. Compilador, Bibliotecas, Editor, Burner
Arduino Single-board microcontroller Microcontrolador Placa CPU, Memória, Serial, I/O Conectores, Fonte, USB, LEDs IDE Compilador, Bibliotecas, Editor, Burner http://arduino.cc/en/reference/homepage Shields
- Trabalho Prático de Algoritmos e Programação usando Robô Arduino -
Disciplina: Algoritmos e Programação Vale 1.5 para G2 Profa. Flavia Pereira de Carvalho - Trabalho Prático de Algoritmos e Programação usando Robô Arduino - Imagem do Robô com Legendas Dicas de código
Material Suplementar para Descrição temporal de forças de colisão: um modelo didático para laboratório de física assistido por sistema embarcado
Material Suplementar para Descrição temporal de forças de colisão: um modelo didático para laboratório de física assistido por sistema embarcado 1. Material suplementar Programa fonte desenvolvido para
KTC-DR34EC & KTC-KML093EC1000
STEP-SERVO KALATEC KTC-DR34EC & KTC-KML093EC1000 Manual Kalatec Automação Ltda Matriz campinas: 19-3045-4900 Filial Sao Paulo 11-5514-7680 Filial Joinville - 47-3425-0042 www.kalatec.com.br [email protected]
Programação Básica em Arduino Aula 2
Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Site: http://oficinaderobotica.ufsc.br/ Canal: Oficina de Robótica UFSC https://www.youtube.com/channel/uc4oojsp2fhfkdrnj0wd7iag
STEP-SERVO KALATEC KTC-DR23EC & KTC-HT23-EC1000. Manual
STEP-SERVO KALATEC KTC-DR23EC & KTC-HT23-EC1000 Manual Kalatec Automação Ltda Matriz campinas: 19-3045-4900 Filial Sao Paulo 11-5514-7680 Filial Joinville - 47-3425-0042 www.kalatec.com.br [email protected]
Por Fernando Koyanagi
Por Fernando Koyanagi Intenção da Aula 1. Introdução sobre a programação multi-core no ESP32 2. Conhecer as principais funções da programação multi-core 3. Criar um programa no qual diferentes tarefas
- Tarefas Práticas de Programação usando Arduino - Imagem do Robô com Legendas
- Tarefas Práticas de Programação usando Arduino - Profa. Flavia Pereira de Carvalho Imagem do Robô com Legendas Dicas de código: 1) Os pinos dos leds estão nas posições de 2 a 7 2) Comandos básicos necessários
Por Fernando Koyanagi. ESP32 + chip SX1276
Por Fernando Koyanagi ESP32 + chip SX1276 Consumo Protocolo LoRaWAN LoRaWAN é uma especificação de protocolo construída em cima da tecnologia LoRa desenvolvida pela Aliança LoRa. Ele usa espectro radioelétrico
INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY
INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY INTRODUÇÃO A Plataforma Arduino é considerada plataforma aberta, ou seja, qualquer pessoa pode efetuar uma melhoria em um código, biblioteca e disponibilizá-la
Por Fernando Koyanagi 1
Por Fernando Koyanagi 1 Intenção dessa aula 1. Mudança de frequência 2. Demonstrar um programa que modifica a frequência 3. Protocolo LoRaWan 4. Rádio Lora 5. Criptografia LoRaWan Objetivo Nosso objetivo
Por Fernando Koyanagi 1
Por Fernando Koyanagi 1 Características principais Chip com Wi-Fi embutido : padrão 802.11 B/G/N, operando na faixa de 2.4 a 2.5GHz Modos de operação : Client, Access Point, Station+Access Point Microprocessador
CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1
CIT 2015.2 Aula 02 Variáveis e Estruturas de desvio condicional Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1 Variáveis Uma variável nada mais é que um nome que damos a uma determinada posição
Por Fernando Koyanagi
Por Fernando Koyanagi Objetivo Nosso objetivo será criar um player de músicas mp3. Utilizaremos para isso um Arduino UNO, um mini amplificador de som PAM8403 com ajuste de volume, um módulo MP3 DFPlayer
Oficina de Programação utilizando a plataforma Arduino
Oficina de Programação utilizando a plataforma Arduino Bianca Alessandra Visineski Alberton [email protected] Paulo Nesello Künzel kruger [email protected] Programa de Educação Tutorial Computando
Linha Automação VAZÃO. Partida e Calibração Rápida para Medição de Vazão TRANSMISSOR ULTRA-SÔNICO DE NÍVEL CONTÍNUO. WUS11 e WUS21
Partida e Calibração Rápida para Medição de Vazão TRANSMISSOR ULTRA-SÔNICO DE NÍVEL CONTÍNUO WUS11 e WUS21 Diagrama Elétrico Instalação com Protocolo HART Instalação sem Protocolo HART Configuração rápida
Por Fernando Koyanagi
Por Fernando Koyanagi Intenção dessa aula 1. Aprender qual a identificação correta dos pinos olhando o datasheet 2. Informar quais os pinos funcionam como OUTPUT/INPUT 3. Ter uma visão geral sobre os sensores
Por Fernando Koyanagi
Por Fernando Koyanagi Controlando um motor de passo (Vídeo da montagem) Características principais Não possuem escovas ou comutadores aumentando a vida útil. Permitem o controle de velocidade e posicionamento
Por Fernando Koyanagi 1
Por Fernando Koyanagi 1 Características principais Chip com Wi-Fi embutido : padrão 802.11 B/G/N Alcance aproximado: 90 metros Tensão de operação : 3.3 VDC CPU que opera em 80MHz, com possibilidade de
ROBÓTICA 1 INTRODUÇÃO A PROGRAMAÇÃO NO ARDUINO
ROBÓTICA 1 INTRODUÇÃO A PROGRAMAÇÃO NO ARDUINO O QUE VIMOS AULA PASSADA? REVISÃO RÁPIDA Hardware vs Software Eletricidade básica Lei de Ohm Um pouco sobre o Arduino Materiais Importantes Entradas do Arduino
Física 1 - EMB5034. Prof. Diego Duarte MRUV - Parte 1 (lista 2) 8 de agosto de v(t) = v 0 + at (1) x(t) = x 0 + vt at2 (2)
Física 1 - EMB5034 Prof. Diego Duarte MRUV - Parte 1 (lista 2) 8 de agosto de 2017 1. (a) Mostre que as equações horária da velocidade e posição de um corpo em MRUV são dadas, respectivamente, pelas seguintes
Over the Air OTA. Por Fernando Koyanagi
Over the Air OTA Por Fernando Koyanagi Intenção dessa aula 1. Explicar exemplo básico de programação OTA no ESP32 e ESP8266. Em www.fernandok.com Seu e-mail 3 Aviso Este vídeo explica um exemplo simples
Projeto No. 11 Display de Leds de 7 Segmentos
Projeto No. 11 Display de Leds de 7 Segmentos O objetivo deste projeto é demonstrar a utilização do display de led de 7 segmentos controlado diretamente a partir das portas do Arduino. Material necessário:
Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO
Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO Microprocessador É um circuito integrado que contém milhares, ou mesmo milhões, de transistores. Os transistores trabalham juntos para armazenar e manipular
Aula 1 Apresentação e Conceitos Iniciais. Wellington Cássio Faria fb.com/wellingtoncf
Aula 1 Apresentação e Conceitos Iniciais Formação: Professor: Curso técnico Médio (2o grau) Técnico em Eletrônica Industrial, CEP - Centro de Educação Profissional Tancredo Neves (julho/2010) - concluída.
Movimento retilíneo uniformemente
15 fev Movimento retilíneo uniformemente variado (MUV) 01. Resumo 02. Exercícios de Aula 03. Exercícios de Casa 04. Questão Contexto RESUMO Ao estudarmos o Movimento Uniformemente Variado (ou MUV) estamos
Este tutorial mostra como utilizar as ferramentas Send Mail e Web Commands.
Este tutorial mostra como utilizar as ferramentas Send Mail e Web Commands. Antes de começamos certifique-se de estarem com o programa instalado, com sua conta e licenças ativas. Neste tutorial não irei
1. Visão Geral O driver 2DM2280 é um driver digital de motor de passo de duas fases baseada na tecnologia DSP. O 2DM2280 tem um avançado controle de a
1. Visão Geral O driver 2DM2280 é um driver digital de motor de passo de duas fases baseada na tecnologia DSP. O 2DM2280 tem um avançado controle de algoritimos no qual pode trazer um nível único de suavidade
Por Fernando Koyanagi 1
Por Fernando Koyanagi 1 Motor de passo como servo (Vídeo da montagem) 2 Características principais Permite um posicionamento realmente assistido, através do sensor acoplado ao eixo do motor. É capaz de
Por Fernando Koyanagi
Por Fernando Koyanagi Intenção dessa aula 1. Conectar ESP32 com celular 2. Utilizar reconhecimento de voz da Google 3. Entender código.ino do ESP32 4. Entender programa feito pelo AppInventor Demonstração
MINICURSO ARDUINO BÁSICO
MINICURSO ARDUINO BÁSICO Ministrantes: Henrique Wippel Parucker da Silva Murilo de Oliveira do Nascimento Ícaro Cristofolini COLMÉIA Quem somos? O que fazemos? PLATAFORMA DE PROTOTIPAGEM ARDUINO ARDUINO
Estrutura de Condição. Professor Pedro
Estrutura de Condição Professor Pedro Continuando... Hoje vamos trabalhar com o arduino usando a estrutura de condição que já aprenderam nas aulas de lógica de programação. If (condição verdadeira) { Executa
Manual Técnico Módulo Ponte H Dupla
Manual Técnico Módulo Ponte H Dupla Introdução Módulo de Ponte H dupla para controlar dois motores DC ou um motor de passo bipolar. Com este módulo é possível controlar o sentido de rotação de motores
Introdução. O que é o Arduino?
Arduino 2 Introdução O que é o Arduino? Arduino é uma plataforma de desenvolvimento de hardware programável que possui um chip Atmel AVR, o qual pode variar dependendo do modelo do Arduino (podendo nos
PIBIC/PIBITI/IC Jr Relatório das Atividades de Pesquisa 23ª SEMIC
ATIVIDADES EXECUTADAS PELO BOLSISTA / VOLUNTÁRIO DADOS DE IDENTIFICAÇÃO: Do bolsista: Nome: Carlos Vinícius Machado Caldeira Curso: Engenharia Elétrica com ênfase em Sistemas Eletrônicos Período de vigência
Oficina de Programação utilizando a plataforma Arduino
Oficina de Programação utilizando a plataforma Arduino Bianca Alessandra Visineski Alberton [email protected] Paulo Nesello Künzel kruger [email protected] Programa de Educação Tutorial Computando
Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;
1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e
DRIVE DE MOTOR DE PASSO DRIVE KTC-STR6. Manual de Driver de Motor de Passo Bipolar
DRIVE DE MOTOR DE PASSO DRIVE KTC-STR6 Manual de Driver de Motor de Passo Bipolar Kalatec Automação Ltda Matriz campinas: 19-3045-4900 Filial Sao Paulo 11-5514-7680 Filial Joinville - 47-3425-0042 www.kalatec.com.br
Kit controle remoto IR acionando 3 Led com Arduino
Kit controle remoto IR acionando 3 Led com Arduino Neste artigo, vamos mostrar como controlar o Arduino através do controle remoto IR. Trata-se de evolução em relação ao primeiro tutorial, onde acendemos
1. Introdução Dados técnicos Características do Step Servo Dip Configurações do Swtich Configurações da borda...
1. Introdução... 3 2. Dados técnicos... 4 3. Características do Step Servo... 5 4. Dip Configurações do Swtich... 6 4.1. Configurações da borda... 6 4.2. Configurações do sentindo de direção... 6 4.3.
Introdução do Arduino para aquisição de dados e controle de instrumentos
Introdução do Arduino para aquisição de dados e controle de instrumentos Rafael Pezzi Centro de Tecnolocia Acadêmica Instituto de Física - UFRGS Novembro de 2018 Roteiro O que é o Arduino? Especificações
Plano de Aulas. Física. Módulo 2 Movimentos com velocidade variável
Plano de Aulas Física Módulo Movimentos com velocidade variável Resolução dos exercícios propostos Exercícios dos conceitos CAPÍTULO 1 1 a) A aceleração é constante durante todo o percurso, então: b) a
PROJETOS DE TÓPICOS ESPECIAIS 2º SEMESTRE 2015 Professor Dr. Amauri Amorin Assef. Iniciar enviando os caracteres para escrever UTFPR na tela do PC:
1 PROJETOS DE TÓPICOS ESPECIAIS 2º SEMESTRE 2015 Professor Dr. Amauri Amorin Assef 1) Controlador PWM com frequência ajustável entre 20 khz e 50 khz (passo de 5 khz), razão cíclica entre 0 e 100% (passo
1. Introdução Dados técnicos Características do Step Servo Dip Configurações do Swtich Configurações da borda...
- - 1 1. Introdução... 3 2. Dados técnicos... 4 3. Características do Step Servo... 5 4. Dip Configurações do Swtich... 6 4.1. Configurações da borda... 6 4.2. Configurações do sentindo de direção... 6
Por Fernando Koyanagi
Por Fernando Koyanagi Intenção da Aula 1. Conhecer a biblioteca WiFiManager e suas funções. 2. Fazer uma demonstração de uso NodeMCU ESP-12E NodeMCU ESP-WROOM-32 WiFiManager WiFiManager é uma biblioteca
Curso de robótica 2. Novos conceitos de programação
Curso de robótica 2 Novos conceitos de programação Revisão eletricidade revisão eletricidade Potenciômetro LEDs Push button Fonte: http://www.baudaeletronica.com.br/potenciometro-linear-d e-10k-10000.html
Podem ser substituídos pelo módulo P7-Sensor de Luminosidade da GBK Robotics.
Projeto No. 3 LDR O objetivo deste projeto é controlar o estado de um LED (aceso ou apagado) através da verificação de luminosidade do ambiente utilizando um sensor de luminosidade LDR. O LDR (Light Dependent
Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE. Núcleo de Arte e Tecnologia. julio lucio martin. Aula 01
Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE Núcleo de Arte e Tecnologia julio lucio martin Aula 01 O que vamos entender? eletrônica corrente elétrica: voltagem resistência intensidade
Introdução à linguagem C++
Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas
Disciplina: Laboratório de Fis26
1 Disciplina: Laboratório de Fis26 www.fis.ita.br/labfis26 Professores: Sonia Guimarães [email protected] Douglas Leite [email protected] Monitoras: Larissa [email protected] Flávia [email protected]
Por Fernando Koyanagi
ESP-01 ESP-02 ESP-WROOM-32 ESP-201 ESP-12 Wifi Analyzer ESP-12E Por Fernando Koyanagi Intenção dessa aula 1. Programar diferentes chips ESP como Ponto de Acesso (cada um em um canal diferente) 2. Verificar
Conhecendo o ARDUINO LEGENDA
Conhecendo o ARDUINO 03 04 06 10 09 07 08 05 01 02 LEGENDA 01 - Portas digitais 2 à 13 02 - Portas analógicas A0 à A5 03 - Plug USB para conexão 04 - Plug de alimentação externa 05 - Microcontrolador ATmega
Por Fernando Koyanagi 1
Por Fernando Koyanagi 1 Motor de passo como servo com comunicação serial 2 Características principais Permite comandos através da comunicação serial. Flexibilidade nas configurações do software, permitindo
Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença
C++ Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença Primeiro Programa //Primeiro Programa C++ #include int main() { std::cout
Medida de g com a placa Arduino em um experimento simples de queda-livre
Medida de g com a placa Arduino em um experimento simples de queda-livre H Cordova & A C Tort Mestrado Profissional em Ensino de Física Instituto de Física Universidade Federal do Rio de Janeiro Caixa
Algoritmos e Estrutura de Dados II. Árvore AVL. Prof a Karina Oliveira. Fonte: Prof a Ana Eliza
Algoritmos e Estrutura de Dados II Árvore AVL Prof a Karina Oliveira [email protected] Fonte: Prof a Ana Eliza Árvores Binárias de Busca Objetivo da Utilização Minimizar o número de comparações efetuadas,
controle de fluxo - condicionais
controle de fluxo - condicionais controle de fluxo - condicionais tópicos if if else if else if else expressões booleanas switch referências Capítulo 4 da apostila Capítulo 3 do livro condicionais (tomada
Entrada de dados com botões
Entrada de dados com botões Escola CDI Professor: Paulo Marcos Trentin Interruptor Quando está aberto, nenhuma corrente passa por ele. Seu símbolo: Ao pressioná-lo, toda corrente passa por ele, e esta
Oficina de Programação utilizando a plataforma Arduino
Oficina de Programação utilizando a plataforma Arduino Bianca Alessandra Visineski Alberton [email protected] Paulo Nesello Künzel kruger [email protected] Programa de Educação Tutorial Computando
Introdução à Programação. Uma Abordagem Funcional
Introdução à Programação Uma Abordagem Funcional Tipos em Haskell Linguagem fortemente tipada Em Haskell, conhecendo-se o tipo das operações e funções que compõem uma expressão podemos determinar o tipo
MATLAB - CRIANDO INTERFACE GRÁFICA (Prof.: Michael Klug) GUI - Graphical User Interface
MATLAB - CRIANDO INTERFACE GRÁFICA (Prof.: Michael Klug) GUI - Graphical User Interface EXEMPLO: Controle de Servo-Motor com uma interface gráfica em Matlab + Arduino PASSO 1: Criando uma nova interface
Lista de Exercícios A2
Lista de Exercícios A2 Nota: Aluno: RA: Curso: Turma: 1 1 Em um sistema microprocessado, interrupção é o nome dado a um mecanismo que permite interromper a execução normal do programa, para atender a um
Manual Técnico Arduino Supervisório MODBUS & Conversor RS485
Manual Técnico Arduino Supervisório MODBUS & Conversor RS485 2015 Todos os direitos reservados Página 1 de 27 Sumário Manual Técnico...1 Introdução...3 Arduino Supervisório MODBUS...3 Conversor RS485...3
INTERFACE DO MACH 3 MANUAL V2.0
INTERFACE DO MACH 3 MANUAL V2.0 A. ÂMBITO DE APLICAÇÃO É usado para processar sinais vindos do compultador (porta LPT) com MACH3 ou outro programa de sistema CNC para controlar máquinas. Pode ser usado
Servo Motores. Jener Toscano Lins e Silva
Governo do Estado de Pernambuco Secretaria de Educação Secretaria Executiva de Educação Profissional Escola Técnica Estadual Professor Agamemnon Magalhães ETEPAM Servo Motores Jener Toscano Lins e Silva
Pedro Vasconcelos DCC/FCUP. Programação Funcional 3 a Aula Definição de funções
Programação Funcional 3 a Aula Definição de funções Pedro Vasconcelos DCC/FCUP 2014 Definição de funções Podemos definir novas funções simples usando funções pré-definidas. minuscula :: Char -> Bool minuscula
Robótica com Arduino
Robótica com Arduino Nesta apresentação veremos conceitos sobre contadores, estrutura de condição if, e trabalharemos com a comunicação Serial entre o Arduino e o Computador. Professor: Paulo Marcos Trentin
Aula 14 Listas Duplamente Encadeadas. prof Leticia Winkler
Aula 14 Listas Duplamente Encadeadas prof Leticia Winkler 1 Lista Duplamente Encadeada É um tipo de lista encadeada que pode ser vazia (NULL) ou que pode ter um ou mais nós, sendo que cada nó possui dois
Por Fernando Koyanagi
Por Fernando Koyanagi Intenção dessa aula 1. Introdução ao ESP-NOW. 1. Fazer vários ESP32 se comunicarem através do protocolo ESP-NOW 1. Um ESP32 irá fazer a leitura dos pinos e transmitir seus valores
Enviando Dados Pela Porta Serial na placa LaunchPad MSP430 Utilizando o ambiente ENERGIA
Enviando Dados Pela Porta Serial na placa LaunchPad MSP430 Utilizando o ambiente ENERGIA Autor: Renne Takao Meguro Portal Ribeirão Preto 14/07/2012 Olá Pessoal, dando continuidade ao artigo do Blog do
ARDUINO BÁSICO E T A P A 1 O QUE É ARDUINO? Prof. Amadeu Zanon Neto
E T A P A 1 O QUE É ARDUINO? Segundo o site WIKIPEDIA, Arduino é: É um microcontrolador de placa única e um conjunto de software para programá lo. O hardware consiste em um projeto simples de hardware
PIC - PROGRAMAÇÃO LINGUAGEM C. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR
PIC - PROGRAMAÇÃO LINGUAGEM C AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR [email protected] UBERABA MG 1º SEMESTRE 2009 FLUXOGRAMAS FLUXOGRAMAS Fluxograma para somar dois números e guardar em uma terceira
Projeto No. 12 Display de Led de 7 Segmentos
Projeto No. 12 Display de Led de 7 Segmentos O objetivo deste projeto é demonstrar a utilização de um display de led de 7 segmentos controlado diretamente a partir das portas digitais do Arduino. Material
Programação Básica em Arduino Aula 2
Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Variáveis são lugares (posições) na memória principal que servem para armazenar dados. As variáveis são acessadas
Sistemas de Controle 2
Pontifícia Universidade Católica de Goiás Escola de Engenharia Sistemas de Controle 2 Projeto de sistema de controle digital PID com Arduino Prof. Dr. Marcos Lajovic Carneiro Referência: Ivan Seidel https://www.youtube.com/watch?v=txftr4tqkya
Programação em Linguagem C
Programação em Linguagem C UNIDADE 2 Unidade 2 Nesta unidade estudaremos: If/else; for; while; switch case; Comunicação serial com PC; apelidos para os pinos do Arduino. Relembrando... Caso geral da instrução
Aula 05: Condicionais (Parte 2)
Aula 05: Condicionais (Parte 2) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão
Arduino e Processing. Professor: Paulo Marcos Trentin Escola CDI Videira
Arduino e Processing Professor: Paulo Marcos Trentin Escola CDI Videira O que é Processing? É uma linguagem criada em 2001 por Casey Reas e Benjamin Fry, na época estudantes do MIT. Seu objetivo é server
Técnicas de Interface com Microcontroladores (8051)
SEL- APLICAÇÕES DE MICROPROCESSADORES I Técnicas de Interface com Microcontroladores (0) Estrutura das Portas do 0: Todas as quatro Portas (P0,P,P,P) da família de Microcontroladores MCS- são bi-direcionais.
AC Servo Motor & Drive Exemplos de programação PDL
AC Servo Motor & Drive Exemplos de programação PDL www.hiwinmikro.com.tw Sumário Prefácio... 2 1 : Homing index... 3 Instruções para utilização :... 3 Notas da Aplicação:... 4 2 : Parada forçada por colisão
Transmitter MISO MOSI SCLK
Protocolo SPI O protocolo SPI (Serial Peripheral Interface bus) foi definido pela Motorola e é utilizado para ligar o processador a periféricos no âmbito de uma placa eletrónica. Cobre o mesmo campo de
