Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 2 APRESENTAÇÃO Olá cursista! Bem-vindo ao Curso Robótica Educacional! A SECTI - Secretaria da Ciência, Tecnologia, Inovação e Educação Profissional por meio do Projeto Qualificar ES oferta cursos de qualificação profissional, possibilitando ao cidadão que procura aperfeiçoar seu conhecimento, com vistas na melhor qualidade de vida. O curso é destinado aos profissionais que trabalham como docentes e aficcionados por automação e robótica, e auxiliará como ferramenta fundamental para iniciantes neste universo dos autômatos. O mercado de trabalho está em expansão, há oportunidades de trabalho em empresas de diversos ramos de atuação, desde o comércio, prestação de serviços e instituições públicas. Nesse curso você aprenderá técnicas de arquivamento, entre outros. Ao final deste curso você estará apto para: ● Atuar profissionalmente no desenvolvimento de projetos robóticos; ● Implementar projetos de forma otimizada. Por isso, ler o material, compartilhar experiências no chat, interagir com o tutor online no chat, trazer exemplos, fazer os exercícios, e fazer pesquisas sobre os assuntos abordados e assistir vídeos em streaming de vídeos é de fundamental importância para o desenvolvimento do seu aprendizado. Desejo a você, bons estudos! 3 PROJETOS PROJETO 1: PROJETO DE SENSOR DE DETECÇÃO DE LUZ COM SOM Este é um projeto que mostra a variação da intensidade da luz utilizando uma fotocélula com Arduino. De acordo com a variação da intensidade da luz, os LEDs acendem ou apagam e se não houver luz nenhuma, um buzzer apita. Lista de Materiais 1 Arduino UNO Rev.3 1 LDR 1 Resistor de 10kOhm 8 resistores de 220 Ohm 8 LEDs 1 Buzzer 4 A fotocélula é um resistor que varia de acordo com a intensidade da luz. Quanto maior a luminosidade, maior a resistência da fotocélula. Na figura acima, mostra um divisor de tensão com a fotocélula e um resistor de 10kOhm. Essa divisão é necessária para que a porta analógica A0 do Arduino possa detectar a sua variação. Assim se caso haja muita luminosidade, apenas 1 Led acenderá, se houver pouca luminosidade, alguns Leds acenderão e se houver nenhuma luminosidade, todos os leds acenderão e o buzzer tocará. Sketch #include <Tone.h> int LDRpin=A0; int LDRval=0; Tone player; int note[]={NOTE_A3,NOTE_G4}; void setup() //Setup the output pins and play the buzzer { pinMode(2,OUTPUT); 5 pinMode(3,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(7,OUTPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT); player.begin(10); Serial.begin(9600); } void loop() { LDRval=analogRead(LDRpin); if(Serial.available()>0) { Serial.println(LDRval); } delay(100); if(LDRval>850) { digitalWrite(2,HIGH); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW); digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); player.stop(); } if(LDRval>800 && LDRval<850) { digitalWrite(2,HIGH); 6 digitalWrite(3,HIGH); digitalWrite(4,LOW); digitalWrite(5,LOW); digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); player.stop(); } if(LDRval>750 && LDRval<800) { digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,LOW); digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); player.stop(); } if(LDRval>700 && LDRval<750) { digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,HIGH); digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); player.stop(); 7 } if(LDRval>650 && LDRval<700) { digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,HIGH); digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); player.stop(); } if(LDRval>600 && LDRval<650) { digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,HIGH); digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); player.stop(); } if(LDRval<600) { digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(5,HIGH); digitalWrite(6,HIGH); digitalWrite(7,HIGH); 8 digitalWrite(8,HIGH); digitalWrite(9,HIGH); player.play(note[1]); } 9 PROJETO 2: COMO UTILIZAR TERMISTOR NTC COM ARDUINO Neste tutorial vamos utilizar o Termistor NTC de 10K junto com o Arduino e a biblioteca Thermistor para obtermos os valores em graus Celsius. Esta biblioteca utiliza a equação de Steinhart-Hart para converter o valor da resistência em valores de temperatura e em uma segunda montagem, mostramos como fazer o mesmo só que agora utilizando o método do Fator Beta (exemplo baseado em um exemplo da Adafruit). Lista de Materiais 1 x Arduino Uno Rev 3 1 x Termistor NTC de 10KΩ 1 x Resistor de 10KΩ 1 x Protoboard Mini Alguns jumpers O Termistor Para fazer a leitura da temperatura, vamos utilizar um Termistor. Este é um tipo de resistência especial que altera seu valor razão da temperatura onde o componente é colocado. Existem dois tipos de Termistores os NTC e os PTC. 10 Termistor PTC (Positive Temperature Coefficient): Este tipo de Termistor tem o coeficiente de temperatura positivo, ou seja, a resistência aumenta com o aumento da temperatura. Termistor NTC (Negative Temperature Coefficient): Já este é o inverso do anterior e seu coeficiente de temperatura é negativo. Com isto sua resistência diminui com o aumento da temperatura. O valor nominal do termistor é dado normalmente a 25 ºCelsius e neste caso utilizaremos um termistor de 10K. Ele atua na faixa de -40 a +125. Determinação da temperatura Para determinar a temperatura do existe dois métodos um utilizando a interpolação pela fórmula de Steinhart-Hart ou ainda podemos utilizar a equação do fator Beta. Abaixo você vê dois métodos para aquisição da temperatura: Método Steinhart-Hart Equação Steinhart-Hart O método de Steinnhart- Hart é implementado por uma biblioteca que fizemos algumas modificações para mantermos a compatibilidade da mesma com a IDE do Arduino. A biblioteca pode ser baixada neste link: Thermistor.zip Realizamos alguns testes aqui com este sensor junto aos valores desta biblioteca e o termistor respondeu a valores muito próximos desejados (mesmo sem ter feito alterações nos valores dos coeficientes de temperatura). http://storage.ning.com/topology/rest/1.0/file/get/1798908730?profile=original 11 Para este Circuito podemos utilizar e o Sketch exemplo com este circuito: Circuito para Método Steinhart-Hart Sketch #include <Thermistor.h> Thermistor temp(0); void setup() { Serial.begin(9600); } void loop() { int temperature = temp.getTemp(); Serial.print("Temperatura no Sensor eh: "); Serial.print(temperature); Serial.println("*C"); delay(1000); } 12 Método do Fator Beta Equação do fator Beta O método do fator beta pode ser implementado utilizando um código de exemplo usado pela Adafruit (fizemos uma pequena modificação, pois o Termistor que utilizamos é um NTC). O circuito deve ser montado segundo a função abaixo: Circuito para Método do Fator Beta Segundo o manual do referido termistor, o fator beta do mesmo é 3977 e utilizamos ele no Sketch abaixo: // Pino onde o Termistor esta conectado #define PINOTERMISTOR A0 // Valor do termistor na temperatura nominal#define TERMISTORNOMINAL 10000 // Temp. nominal descrita no Manual #define TEMPERATURENOMINAL 25 // Número de amostragens para 13 #define NUMAMOSTRAS 5 // Beta do nosso Termistor #define BCOEFFICIENT 3977 // valor do resistor em série #define SERIESRESISTOR 10000 int amostra[NUMAMOSTRAS]; int i; void setup(void) { Serial.begin(9600); analogReference(EXTERNAL); } void loop(void) { float media; for (i=0; i< NUMAMOSTRAS; i++) { amostra[i] = analogRead(PINOTERMISTOR); delay(10); } media = 0; for (i=0; i< NUMAMOSTRAS; i++) { media += amostra[i]; } media /= NUMAMOSTRAS; // Converte o valor da tensão em resistência media = 1023 / media - 1; media = SERIESRESISTOR / media; //Faz o cálculo pela fórmula do Fator Beta float temperatura; 14 temperatura = media / TERMISTORNOMINAL; // (R/Ro) temperatura = log(temperatura); // ln(R/Ro) temperatura /= BCOEFFICIENT; // 1/B * ln(R/Ro) temperatura += 1.0 / (TEMPERATURENOMINAL + 273.15); temperatura = 1.0 / temperatura; // Inverte o valor temperatura -= 273.15; // Converte para Celsius Serial.print("Temperatura no Sensor eh: "); Serial.print(temperatura); Serial.println(" *C"); delay(1000); } } Sugestão de uso com estes sensores, eles são uma alternativa barata e simples de conseguir uma amostra da temperatura ambiente. 15 PROJETO 3: COMO USAR O ARDUINO BLUETOOTH HC- 05 EM MODO MESTRE Os módulos Arduino bluetooth são divididos em dois tipos: os que trabalham no modo escravo (slave), ou seja, apenas aceitam conexões de outros dispositivos, e os que trabalham tanto no modo escravo como no modo mestre (master), permitindo que se conectem à outros dispositivos Bluetooth. Como interligar 2 módulos Bluetooth: um Arduino Bluetooth HC- 05 em modo master, e um HC-06 em modo slave. Você pode utilizar também, se preferir, dois módulos HC-05, já que ele aceita tanto o modo mestre como o modo escravo. Os módulos em si são muito parecidos, o que muda é a versão do firmware, e geralmente os módulos Arduino Bluetooth HC-06 possuem apenas 4 pinos, e o HC-05 tem 6 pinos. Na dúvida, consulte a documentação do módulo que você tem em mãos. Um dos pinos adicionais é o pino Status/Key, que vamos utilizar para programar o HC-05 em modo master, pareando-o com o HC-06. 16 O processo é um pouco extenso e recomendamos não pular nenhum passo, pois cada etapa depende da correta execução da etapa anterior. Lista de Materiais 2 Arduino Uno (podem ser utilizadas outras placas) 1 módulo Arduino Bluetooth HC-05 1 módulo Arduino Bluetooth HC-06 4 resistores para montagem do divisor de tensão 1 led de qualquer cor 1 resistor limitador de corrente para o led Antes de iniciarmos a ligação dos componentes, vamos prestar atenção que esses módulos trabalham com nível de sinal de 3.3v, o que significa que vamos precisar de um divisor de tensão para evitar a queima do módulo. O divisor de tensão é composto por dois resistores, e na página https://www.arduinoecia.com.br/p/calculador-divisor-de- tensao-function.html encontra-se a calculadora para este fim.r a tensão Na página, digite 5 para a tensão de entrada (Input Voltage), digite os valores dos resistores (R1 e R2) que você possui, e pressione o botão Compute para verificar no campo Output Voltage qual será a tensão de saída, lembrando que por segurança esta deve ser, no máximo, de 3.3v. https://www.arduinoecia.com.br/p/calculador-divisor-de-tensao-function.html https://www.arduinoecia.com.br/p/calculador-divisor-de-tensao-function.html 17 Configurando Arduino Bluetooth HC-05 em modo mestre: Monte primeiro o circuito acima, que será usado para programar o HC-05 em modo master. Agora, carregue o seguinte programa no segundo Arduino antes de montar o circuito do módulo escravo: //Programa : Modulo Arduino Bluetooth HC-05 - Programacao //Autor : FILIPEFLOP //Carrega a biblioteca SoftwareSerial #include <SoftwareSerial.h> //Define os pinos para a serial SoftwareSerial mySerial(10, 11); // RX, TX String command = ""; // Stores response of bluetooth device // which simply allows n between each // response. void setup() 18 { //Inicia a serial Serial.begin(115200); Serial.println("Digite os comandos AT :"); //Inicia a serial configurada nas portas 10 e 11 mySerial.begin(38400); } void loop() { // Read device output if available. if (mySerial.available()) { while(mySerial.available()) { // While there is more to be read, keep reading. command += (char)mySerial.read(); } Serial.println(command); command = ""; // No repeats } // Read user input if available. if (Serial.available()) { delay(10); // The DELAY! mySerial.write(Serial.read()); } } 19 CONFIGURANDO ARDUINO BLUETOOTH HC-06 EM MODO ESCRAVO: Efetue a ligação dos componentes no segundo Arduino e utilize uma fonte externa para alimentação. Note que no primeiro circuito estamos utilizando os pinos 10 e 11 do Arduino como pinos RX e TX de uma porta serial. Isso é possível, pois vamos utilizar a biblioteca Software Serial. No Arduino desse circuito, carregue o seguinte programa: //Programa : Modulo Arduino Bluetooth HC-05 - Recepcao //Autor : FILIPEFLOP //Armazena o caracter recebido char buf; void setup() { //Define o pino 13 como saida pinMode(13, OUTPUT); Serial.begin(9600); } 20 void loop() { while(Serial.available() > 0) { buf = Serial.read(); //Caso seja recebido o caracter L, acende o led if (buf == 'L') { digitalWrite(13, HIGH); } //Caso seja recebido o caracter D, apaga o led if (buf == 'D') { digitalWrite(13, LOW); } } } Comandos AT: Entre no serial monitor e selecione a velocidade de 115200 na parte inferior (destaque em vermelho), assim como o comando de fim de linha para Ambos NL & CR (destaque em azul). A mensagem “Digite os comandos AT :” será exibida: 21 Digite o comando AT, que deve retornar com a mensagem “OK” indicando que o módulo está respondendo aos comandos. Digite AT+VERSION para exibir a versão do firmware, que pode ser diferente da imagem abaixo: Digite agora os seguintes comandos na sequência. Cada um deles deve retornar “OK“, indicando que o comando foi aceito pelo módulo: AT+ORGL (Reseta o módulo para a configuração padrão) AT+RMAAD (remove dispositivos anteriormente pareados) AT+ROLE=1 (define o modo de operação do módulo como MASTER) 22 AT+RESET (Reset do módulo após a definição do modo de operação) AT+CMODE=1 (Permite a conexão a qualquer endereço) AT+INQM=0,5,10 (Modo de varredura : padrão, procura por 5 dispositivos ou pára a varredura após 10 s) AT+PSWD=1234 (define a senha do módulo mestre, que deve ser a mesma do módulo slave/escravo) AT+INIT (inicializa o perfil para transmissão/recepção) AT+INQ (inicializa a varredura por dispositivos bluetooth) Essa varredura vai mostrar o endereço dos dispositivo bluetooth detectados. No nosso caso temos apenas um dispositivo escravo: A parte que nos interessa dessa tela é o endereço, que no nosso caso é 2013:7:183190. Vamos precisar dessa informação para efetuar o pareamento, trocando os símbolos de “dois pontos” por vírgulas, ficando assim: 2013,7,183190 23 Digite agora o comando AT+PAIR=<endereco>,<timeout>. No nosso caso, o comando ficaria assim : AT+PAIR=2013,7,183190, 10 O serial monitor retornará “OK”. Por fim,digite o comando AT+LINK=<endereco>, que vai conectar os dois dispositivos. Nesse momento o led do módulo HC-05 em modo master deve piscar de forma mais lenta, indicando conexão ao módulo HC-06, cujo led deve parar de piscar. Essa série de comandos AT não precisa ser repetida a cada montagem. Uma vez configurado o módulo HC-05 em modo master, ele se conectará automaticamente ao módulo escravo todo vez que você energizar os módulos. Programando o Arduino: Para finalizar, desconecte o pino Key do HC-05 do pino 3.3v do Arduino, e carregue o seguinte programa no Arduino: //Programa : Modulo Arduino Bluetooth HC-05 - Envio //Autor : FILIPEFLOP //Carrega a biblioteca SoftwareSerial #include <SoftwareSerial.h> //Define os pinos para a serial SoftwareSerial mySerial(10, 11); // RX, TX void setup() { //Inicializa a serial nas portas 10 e 11 24 mySerial.begin(38400); } void loop() { //Envia pela serial o caracter L mySerial.print("L"); delay(3000); //Envia pela serial o caracter D mySerial.print("D"); delay(3000); } Esse programa envia os caracteres L (para acender o led) e D (para apagar o led) para a serial das portas 10 e 11, onde está ligado o HC-05 no primeiro Arduino. O segundo Arduino, com o HC-06, recebe esses caracteres, e acende o led ao receber o caracter L, e apaga o led ao receber o caracter D. 25 PROJETO 4: MICRO SERVO MOTOR 9G SG90 COM ARDUINO UNO O Micro Servo TowerPro 9g SG90 é um servo de alta qualidade e excelente para as suas necessidades seja em aeromodelismo ou em projetos mecatrônicos. Pensando nisso bolamos um post simples para fazer os primeiros movimentos com o seu Micro Servo 9g SG90 e um Arduino Uno. Especificações: – Voltagem de Operação: 3,0 – 7,2v – Velocidade: 0,12 seg/60Graus (4,8v) sem carga – Torque: 1,2 kg.cm (4,8v) e 1,6 kg.cm (6,0v) – Temperatura de Operação.: -30C ~ +60C – Dimensões.: 32x30x12 mm – Tipo de Engrenagem: Nylon – Tamanho cabo: 245 mm – Peso: 9g 26 Componentes necessários: ● Arduino Uno ● Micro Servo 9g SG90 ● Kit Jumper Macho-Macho Conecte a alimentação do Micro Servo 9g ao Arduino. Fio Marrom com GND, Fio Vermelho com 5v e Fio Laranja na Porta Digital 6. Programando: #include <Servo.h> #define SERVO 6 // Porta Digital 6 PWM Servo s; // Variável Servo int pos; // Posição Servo void setup () { s.attach(SERVO); Serial.begin(9600); s.write(0); // Inicia motor posição zero } void loop() { for(pos = 0; pos < 90; pos++) { s.write(pos); delay(15); } delay(1000); for(pos = 90; pos >= 0; pos--) { s.write(pos); delay(15); } } 27 PROJETO 4: MICRO SERVO MOTOR 9G SG90 COM ARDUINO UNO Vamos apresentar um projeto de um Robô seguidor de linha, por muito conhecido também por robô segue faixa. Segundo o fabricante deste shield, as portas utilizadas pelos motores são as seguintes : ● Controle de motores DC : Pinos 11, 3, 5 e 6 ● Controle de motores de passo : Pinos 4, 7, 8 e 12 ● Controle de servo motores : Pinos 9 e 10 Desta forma, as portas que podemos utilizar livremente são as 6 portas analógicas, assim como as digitais 2 e 13, isso se estivermos falando de um Arduino Uno. Em um Arduino Mega, por exemplo, todas as demais portas também estarão disponíveis. 28 Montando um Robô Seguidor de Linha: Um bom exemplo de utilização deste Arduino motor shield é em aplicações de robótica, como por exemplo na montagem de um robô seguidor de linha. Para facilitar sua vida existem Kits de chassi para robôs com 2 ou 4 rodas: Chassi 2 Rodas Robô Chassi 4 Rodas Robô Esses kits já vem com motores, suporte de baterias, acessórios e você só precisa adicionar o Arduino (ou outra placa de sua preferência), os sensores e o circuito controlador de motores. Para o caso do Arduino, recomendamos a utilização do Motor Shield citado acima, já que ele se encaixa perfeitamente em um Arduino Uno economizando espaço na montagem do robô. 29 Podemos utilizar como sensor os LDR´s (resistores dependentes de luz), ou então sensores ópticos reflexivos, como o TCRT5000, que terão a função de “enxergar” a linha e transmitir essa informação para o Arduino. Projeto Robô Seguidor de Linha Para o nosso “carrinho” segue faixa, vamos utilizar 3 sensores ópticos ligados lado a lado. Conforme a linha for detectada (ou não), cada sensor enviará ao Arduino as informações sobre a intensidade do sinal infravermelho refletido, e o programa usará essas informações para calcular a velocidade de cada motor. A ilustração abaixo mostra, de forma resumida, como os sensores se comportam: Imagem : RobotC Transportando essa ideia para o nosso motor shield, vamos utilizar as portas A0, A1 e A2 para ligação dos sensores. O motor da esquerda será ligado ao conector M1, e o motor da direita ao conector M4, utilizando a própria alimentação do Arduino (mantenha o jumper PWR na placa). Demonstramos a ligação dos sensores em uma protoboard, utilizando resistores de 330 ohms para o led infravermelho (parte superior/azul do sensor), e resistores de 10 K na parte inferior (receptor) : 30 Shield Ponte H Protoboard com os componentes de infravermelho A maneira mais conveniente de ligar os sensores ao shield é utilizar uma barra de pinos (macho ou fêmea) soldada à placa, como na imagem abaixo : 31 Controle do Robô Seguidor de Linha com Arduino: Para acionar o circuito vamos utilizar, com algumas adaptações, o programa criado por Michael McRoberts e disponível no livro Arduíno Básico. Adicionamos as funções da biblioteca AFMotor, responsável por comandar o motor shield. A biblioteca AFMotor pode ser encontrada nesse link. Descompacte a pasta, renomeie para AFMotor, e coloque essa pasta dentro da pasta LIBRARIES do programa (IDE) do seu Arduino. Não esqueça de sair e carregar a IDE novamente para que a biblioteca seja reconhecida pelo programa. //Programa : Motor shield com sensor TCRT5000 //Adaptações : FILIPEFLOP //Baseado no programa original de Michael McRoberts #include <AFMotor.h> AF_DCMotor motor_esq(1); //Seleciona o motor 1 AF_DCMotor motor_dir(4); //Seleciona o motor 4 int SENSOR1, SENSOR2, SENSOR3; //deslocamentos de calibracao int leftOffset = 0, rightOffset = 0, centre = 0; //pinos para a velocidade e direcao do motor int speed1 = 3, speed2 = 11, direction1 = 12, direction2 = 13; //velocidade inicial e deslocamento de rotacao https://github.com/adafruit/Adafruit-Motor-Shield-library/zipball/master 32 int startSpeed = 70, rotate = 30; //limiar do sensor int threshold = 5; //velocidades iniciais dos motores esquerdo e direito int left = startSpeed, right = startSpeed; //Rotina de calibracao do sensor void calibrate() { for (int x=0; x<10; x++) // 10 vezes p/obter uma media { delay(100); SENSOR1 = analogRead(0); SENSOR2 = analogRead(1); SENSOR3 = analogRead(2); LeftOffset = leftOffset + SENSOR1; centre = centre + SENSOR2; rightOffset = rightOffset + SENSOR3; delay(100); } //obtem a media para cada sensor leftOffset = leftOffset /10; rightOffset = rightOffset /10; centre = centre / 10; //calcula deslocamentos para os sensores esquerdo e direito leftOffset = centre - leftOffset; rightOffset = centre - rightOffset; } void setup() { calibrate(); delay(3000); } 33 void loop() { //utiliza a mesma velocidade em ambos os motores left = startSpeed; right = startSpeed; //le os sensores e adiciona os deslocamentos SENSOR1 = analogRead(0) + leftOffset; SENSOR2 = analogRead(1); SENSOR3 = analogRead(2) + rightOffset; //Se SENSOR1 > sensor do centro + limiar, // vire para a direita if (SENSOR1 > SENSOR2+threshold) { left = startSpeed+ rotate; right = startSpeed - rotate; } //Se SENSOR3 for maior do que o sensor do centro + limiar, // vire para a esquerda if (SENSOR3 > (SENSOR2+threshold)) { left = startSpeed - rotate; right = startSpeed + rotate; } //Envia os valores de velocidade para os motores motor_esq.setSpeed(left); motor_esq.run(FORWARD); motor_dir.setSpeed(right); motor_dir.run(FORWARD); } Conforme o motor e chassi que for utilizar, você deve ajustar os parâmetros de velocidade (startSpeed) e deslocamento de 34 rotação (rotate), evitando que os motores girem muito rápido ou muito devagar. 35 Sugestão de Kits KIT ARDUINO MAKER 01 - Placa Uno R3 01 - Cabo USB 30cm 01 - Adaptador Bateria 9v para Arduino 01 - Display LCD 16x2 (com conectores soldados) 02 - Display de 7 segmentos com 1 digito 01 - Sensor de Distância Ultrassônico 01 - Controle Remoto Ir 01 - Receptor Universal Ir 01 - Real Time Clock DS1307 01 - Módulo Leitor RFID-RC522 01 - Cartão Padrão S50 em branco 01 - Tag (tipo chaveiro) Padrão S50 01 - Módulo Sensor de Chuva 01 - Sensor de Umidade do Solo 01 - Placa de controle para Sensor de Solo 01 - Teclado Matricial De Membrana 01 - Sensor De Umidade e Temperatura Dht11 01 - Protoboard 830 Pontos 30 - Jumper Macho-Macho variados 20 - Jumper Macho-Femea 01 - Módulo Relé 2 Canais 01 - Motor DC 01 - Micro Servo 9g SG90 TowerPro 01 - Sensor de Temperatura NTC 01 - Sensor de Luz LDR 01 - Buzzer Ativo 5V 05 - LED Vermelho 05 - LED Amarelo 05 - LED Verde 15 - Resistor 330Ω 05 - Resistor 1KΩ 05 - Resistor 10KΩ 04 - Diodo 1N4007 01 - Potenciômetro 10KΩ 01 - Potenciômetro Trimpot 10KΩ 04 - Capacitor Cerâmico 10nF 04 - Capacitor Cerâmico 100nF 02 - Capacitor Eletrolítico 10uF 02 - Capacitor Eletrolítico 100uF 05 - Chave Tactil (Push-Button) 36 KIT CHASSI 4WD ROBÔ PARA ARDUINO 02 - Chassi em acrílico 04 - Motores DC (3-6v) 04 - Rodas de Borracha 06 - Espaçadores 01 - Jogo de Parafusos e Porcas https://www.eletrogate.com/motor-dc-3-6v-com-caixa-de-reducao-e-eixo-duplo https://www.eletrogate.com/roda-68mm-para-chassi-robo-robotica 37 REFERÊNCIAS LDG. Tutorial: Como utilizar Termistor NTC com Arduino. Disponível em <http://labdegaragem.com/profiles/blogs/ tutorial-como-utilizar-o-termistor-ntc-com-arduino/>. ___. Projeto de sensor de detecção de Luz com som. <http://labdegaragem.com/profiles/blogs/projeto-de-sensor- de-detec-o-de-luz-com-som>. ___. Tutorial: como utilizar o controle remoto IR com Arduino. Disponível em <http://labdegaragem.com/profiles/blogs/ tutorial-como-utilizar-o-controle-remoto-ir/>. THOMSEN, Adilson. Como usar o Arduino Bluetooth HC-05 em modo mestre. Disponível em <https://www.filipeflop.com /blog/tutorial-arduino-bluetooth-hc-05-mestre/>. ___. Micro Servo Motor 9g SG90 com Arduino Uno. Disponível em <https://www.filipeflop.com/blog/micro-servo-motor-9g- sg90-com-arduino-uno/>. MCROBERTS, Michael. Arduino Básico. São Paulo: Novatec, 2015. https://novatec.com.br/autores/michaelmcroberts.php 38
Compartilhar