[Música] pessoal o nosso robô ficou mais inteligente do que a gente viu nos vídeos anteriores dá uma olhada ele anda para frente mas se ele encontrar uma barreira Ele simplesmente desvia ele não vai bater ele tá vendo alguma coisa na frente olha só que que será que a gente fez aqui nesse projeto hein eu vou mostrar para vocês nesse vídeo inclusive parecem dois olhinhos aqui na frente é um sensor Mas será que ele tá enxergando Será que são câmeras processamento de Margem com Arduino é bem mais simples do que você imagina eu vou explicar como
fazer as ligações a programação e como todo vídeo aqui na série maratona Maker no final tem aquele pulo do gato para você ficar mais esperto na programação do seu robô vamos lá vem comigo [Música] vamos começar entendendo o Como que funciona esse sensor do robô dá uma olhadinha mais de perto parecem dois olhinhos mas olha não são duas câmeras não o que nós temos aqui é um sensor de ultrassom parecido com o como os morcegos enxergam no escuro olha só que que legal né a tecnologia lá do morcego nós vamos utilizar aqui no robô repare
só o morcego ele consegue enxergar as coisas utilizando o ultrassom então ele emite esse som que ele chama ele rebate em algum obstáculo e ele consegue detectar o tempo em que esse som retornou para ele esse tempo do som indica Qual é a distância entre alguma coisa na frente então se eu estou me aproximando de alguma coisa eu estou emitindo o som estou vendo que o retorno está mais rápido é dessa forma que nós o funcionamento desse sensor esse sensor você vocês encontram com o código sr04 HC sr04 então com ele vejam que temos dois
olhinhos 1 é uma espécie de um alto-falantezinho que utiliza ultrassom a gente não consegue ouvir mas ele emite esse som e se não tem nada na frente esse som não volta para o outro que é uma espécie de um microfonezinho São muito parecidos mas um emite o som e o outro recebe o retorno do sol por isso que ele consegue através dessa desse tempo de retorno do som ele consegue calcular a distância entre alguma coisa na frente legal né então vamos entender como que eu fiz as ligações e antes se você é novo aqui no
canal Então seja muito bem vindo eu sou Flávio Guimarães formado em software em programação fiz ciências da computação na trabalhei toda minha carreira em empresas que desenvolvem tecnologia e criei o canal brincando com ideias para compartilhar o meu conhecimento e também para ajudar vocês a não ficarem quebrando a cabeça para que as coisas sejam mais fáceis e divertidas em tudo que está relacionado a programação Arduino eletrônica robótica também criei três cursos o curso de Arduino para principiantes para quem vai começar do zero o curso de Arduino 2.0 onde a gente se aprofunda na programação e
temos o curso de Arduino avançado com placas avançadas internet das coisas dá uma olhadinha aqui na minha tela veja o que nós temos de ligação nesse robô Olha só pessoal primeiro que o que nós estamos vendo aqui é uma continuação dos vídeos da série maratona Maker Power vai Petrobras nessa série nós estamos trazendo mini aulas cada vídeo é célula te dando aí uma pílula para você fazer o seu robô com essa pílula você vai conseguir Pouco a Pouco desenvolver o seu robô e olha vai ficar bem legal bem inteligente principalmente para quem está começando é
uma ótima oportunidade e também Lembrando que nós temos aquele nosso na maratona a gente tem aqui os códigos escondidos né em algum lugar desse vídeo se você for colecionando todos os códigos cada vídeo tem um código coleciona todos eles é só assistir os vídeos você vai encontrar o código escondido em algum lugar vai colecionando os códigos não compartilha com ninguém porque porque se você tiver todos os códigos no final dessa dessa temporada a gente vai explicar onde vocês vão entrar na internet para trocar Esses códigos por um cupom um cupom vai dar direito a participar
de um sorteio e nós vamos sortear um robô completo com Arduino um kit mesmo mas não esse aqui não é parecido mas mais completo porque é o robô que nós estamos desenvolvendo aqui no brincando com ideias sim é tudo kit que a gente utiliza como material didático lá do curso de Arduino para principiantes tem o robô tem o braço robótico arduinos os motores as baterias carregador tem tudo bem legal a gente vai sortear a primeira unidade que a gente tá produzindo será sorteado no final dessa série não perde hein e olha só falando então de
uma continuidade essa parte do motor nós utilizamos esse módulo chamado Ponte H E já está explicado lá no vídeo anterior dessa série lá você vai poder entender o porquê que estamos utilizando esse modo aqui no robô nós estamos utilizando duas baterias essas baterias vocês encontram com o código 18650 são baterias um pouquinho maiores do que pilhas por isso precisa desse suporte específico e também do carregador específico para elas Tá bom então encontrando essas duas baterias e esse suporte ligamos aqui na Ponte H temos um regulador interno que reduz essa tensão para 5 volts então estamos
usando esse 5 volts ligado aqui no Arduino Aqui nós só não desenhamos mas também ligamos o GNV ou terra que o preto Nós ligamos também no gnd do Arduino é importantíssimo não está na tela mais considere que esse negativo aqui tem que estar também ligado no Arduino tá bom assim a gente dá energia para o Arduino repare Nós ligamos aqui em 5 volts de energia tanto para o Arduino quanto para os módulos nesse caso usando aqui o módulo HC sr04 o nosso sensor de distância o mesmo sisteminha lá dos morcegos bom Aqui nós temos então
a ligação do vcc que é nesse mesmo 5 volts do gnd normalmente e olha dois fios de conexão ligados em duas portas digitais tanto faz as portas porque na programação a gente só vai informar onde temos a ligação de um Trigger e de um eco o Trigger se a gente traduzir significa gatilho é o fio ligado naquele alto-falante Zinho ou seja o gatilho é o que emite O som depois nós temos o eco é o fio que está ligado no microfonezinho o que recebe o retorno do solo os dois são ligados em portas digitais e
isso já é suficiente para a gente fazer a programação Bora lá vamos entender como que é a programação Então veja aqui na minha tela que nós temos já o ambiente Arduino instalado e tudo mais e olha vamos usar essa biblioteca New Pink eu já estou utilizando o ambiente novo da versão 2.0 da Arduino Mas se você tiver usando antigo é a mesma forma vem aqui em disquete e aqui vocês vão encontrar em Clube librar vai abrir essa opção tá aqui do lado ou numa tela por cima tanto faz E aí vocês Digitam New Pink Tá
vendo como eu digitei aqui e dá um pesquisar vocês vão encontrar essa biblioteca instalar ela a minha já está instalada Nessa versão olha um ponto 9.3 você instala ela e pronto uma vez instalada agora a gente já tem o uso da biblioteca no nosso programa Vamos definir o pino né do Eco lá do nosso sensor o pino do Trigger e também a distância máxima que ele precisa detectar aqui ele está com 200 cm ou seja dois metros eu achei mais do que suficiente o sensor ele tem uma capacidade de acordo com a documentação do fabricante
de até quatro metros eu acho que é muito tentar até 4 metros mas se precisar ali três metros três metros e pouco acho que ele vai funcionar legal tá no caso aqui para eles parar né de se movimentar com dois metros já tá sobrando depois nós vamos criar um objeto e olha pessoal objeto né biblioteca se tudo isso tá muito diferente para você para o que você conhece de programação tá você tá começando com programação então eu sugiro você dá uma olhadinha lá nos nossos cursos aqui na descrição tem o link dos três cursos cada
um tem uma página com todos os detalhes do que que tem nos cursos e também tem um chat para vocês conversarem com a nossa equipe tirar as dúvidas lá sobre o curso tá E dá uma olhadinha lá o curso de Arduino 2.0 Ele explica desde o início todos esses conceitos que eu vou estar falando aqui nesse vídeo não dá para explicar lá a gente tem mais de 50 aulas a maioria são né só 10 aulas a gente fala sobre eletrônica eletrônica básica a maioria é sobre programação então a gente não consegue resumir tudo aqui nesse
vídeo mas se você já tem uma noção de programação vamos lá vamos seguir se não tem vale a pena também porque muitas vezes copiando esse esquete que está aí na descrição do vídeo Você já consegue fazer o programinha mas cuidado tá Eu recomendo você realmente fazer um curso aprender o passo a passo porque só copiar se você quiser mudar alguma coisa provavelmente já vai ficar quebrando a cabeça principalmente se quiser juntar com outros programas que você encontra por aí fica a dica para você não ficar quebrando a cabeça vamos lá então aqui eu tô criando
esse objeto chamado sensor Ultra na classe da biblioteca que a gente tá utilizando e veja que já está definindo Qual é o pino do Trigger o eco e a distância máxima criado Então a gente vai chamar sensor Ultra daqui para baixo tudo que se refere a esse sensor essa parte nós já explicamos lá no vídeo de Ponte H aqui também porque é pro funcionamento dos motores e olha só aqui nós temos a lógica principal que nós queremos no robô que você viu funcionando no início do vídeo Aqui para baixo nós temos o mesmo esquete que
nós usamos promotor para ele andar para frente para ele andar para trás e aqui para ele parar o único que a gente adicionou foi esse virar não tínhamos lá no outro esquete e com a mesma lógica do para frente e tal a gente simplesmente programou aqui o virar uma dica para vocês não terem dor de cabeça com a movimentação dos motores sempre que for executar algum comando para mudar a ação dos motores é legal executar o comando parar assim ele não mistura um comando com outro e resulta talvez numa movimentação que a gente não quer
tá então manda ele parar é instantaneamente ou seja se ele tiver em movimento e a gente por exemplo quiser para ele ir para trás a gente nem vai perceber que ele parou tá porque se parar é muito instantâneo simplesmente para anular os comandos E aí em seguida te dar o comando que a gente quer no caso de virar é a mesma coisa ou seja se ele tá andando e eu mando ele virar ele vai instantaneamente parar a gente nem vê ele vira e vira durante 200 milissegundos que é um tempo para ele dar aqui uma
volta meia volta mais ou menos e depois ele para também instantaneamente para seguir o movimento que que a gente queira tá então com essas funções de movimento nós Montamos a lógica aqui na função principal recorrente que é o loop e olha só é aqui que nós estamos medindo a distância usando aquele objeto sensor Ultra e esse comando nesse método ping cm para retornar a distância em centímetros na biblioteca tem como usar a distância em polegadas e outros recursos mas aqui a gente tá com o básico dela só medindo a distância ainda vou falar do Pulo
do Gato calma aí que vai também ajudar a ficar bem melhor a programação feito isso mediu a distância coloquei numa variável tudo isso explicado lá no curso tá pessoal cama variável e tudo mais e aqui olha eu vou medir né se essa distância é maior do que 10 cm se for ele anda para frente se não ele vira a lógica depois que a gente preparou toda a movimentação e tudo mais ficou simples né ou seja se a distância for maior do que 10 anda para frente se não vira e aqui espera um tempinho só para
funcionamento para não ficar tão travada a programação Ok então é isso esses Cat está aí na descrição também para você baixar Lembrando que copiando ele vai funcionar Se você usar essa mesma ligação que eu fiz ou se você também mudar Aí é que entra a lógica de programação para você fazer outras coisas né incrementar esse projeto e deixar um robô ainda mais inteligente com as suas ideias Antes de mostrar que o pulo do gato eu quero trazer para vocês os depoimentos que a gente recebeu essa semana dá uma olhadinha Olha que legal Tchau pessoal Muito
obrigado aí pelos depoimentos bom vamos então agora entender esse pulo do gato né Lembrando que esse vídeo é um patrocínio tanto da Petrobras quanto da audium também nos ajuda aqui no canal a trazer esse conteúdo todo gratuito para vocês a última desenvolve um software chamado altion designer para vocês desenharem placas de circuito impresso as placas dos equipamentos eu Imaginem que você já tá fazendo o seu robô ele tá avançado você pode desenhar uma placa para ele para fazer todas as ligações dos componentes dá uma olhada aqui na descrição também tem o link do audio designer
para você baixar ele gratuito por alguns dias olha é bem legal esse só Vamos então agora voltar aqui para a nossa tela de programação porque eu vou mostrar o pulo do gato que eu faria aqui nesse programa do jeito que está É do jeito que vocês viram funcionar mas tem um detalhezinho aqui olha só ele funcionando não tem muito segredo ele anda para frente encontrou um obstáculo ele vira nesse caso Ele até virou demais enfim não importa isso quanto que ele vira o que importa é que ele desvie sempre obstáculo Mas acontece que sempre quando
ele mede a distância olha só aqui nessa função para medida distância essa função ela dá uma travadinha em toda a programação do Arduino porque porque tem uma espera do retorno do som né Desse ultrassom então enquanto ele emitiu o ultrassom está esperando o retorno ele tá travado Isso é uma característica dessa biblioteca tá aí é uma biblioteca bacana porém ela tem isso então qual que é a sugestão é que a gente meça a distância um menos intervalo de tempo a gente não precisa ficar medindo distância com tanto com tanta frequência porque ele está executando esse
loop A cada 10 mil e segundos ou seja em um segundo ele está executando isso 100 vezes veja só em um segundo sem vezes a gente não precisa de tanta medição assim por isso a gente vai colocar aqui um controlezinho de tempo para que ele faça essa medição menos frequência por exemplo eu chutaria que a cada 200 milissegundos já é suficiente ou até meio segundo tá 200 milissegundos seriam cinco vezes por segundo ou duas vezes por segundo né Cada meio segundo já tá suficiente então o que que a gente vai fazer a gente vai criar
aqui uma variável do tipo insign de long e queremos que essa vareta conte tempo aqui dentro então a gente coloca o static tudo isso está explicado lá no curso hein pessoal fiquem tranquilo Se você não tá entendendo o que que é cada coisa a gente tá só tá criando uma variável que eu já vou chamar aqui de tempo já vou colocar um valor nessa variável que é o valor do que da leitura do tempo depois o que que a gente vai colocar aqui na distância eu vou primeiro deixar aqui a variável distância criada em cima
para que a distância a gente meça aqui embaixo e a gente vai colocar uma condição olha um if se Olha só se aquele tempo tá ou seja se o tempo atual menos aquele tempo da última vez que eu medi for maior do que por exemplo 500 isso porque a gente quer duas vezes por segundo né 500 milissegundos Então se o tempo se o tempo da última medição for maior do que 500 milissegundos então mede novamente assim só preciso sempre que ele medir colocar de novo atualizar né variável tempo com o milho Então desse jeito eu
estou fazendo com que apenas a cada 500 milissegundos ele mede o tempo nas outras nos outros momentos que ele está processando aqui o programa ele não vai ficar medindo tempo logo não vai ficar travando deixa eu pegar aqui o nosso cabo Vamos carregar esse esquete no robô é normal que ao carregar eu possa ter esquecido de alguma coisa então se dá erro isso é normal eu viria aqui e alteraria né ou seja o bom do Arduino é que ele vai me mostrar o que que tem de errado né isso para qualquer linguagem de programação né
ela te mostra o que que tá errado a gente vem corrige E aí pronto vai para o funcionamento dessa vez deu sorte funcionou tudo certinho então vamos agora testar eu vou ligar com a bateria e continua funcionando da mesma forma Olha lá parece que não fez diferença nenhuma Claro e talvez ele só tem um tempo um pouco maior de resposta mas eu tô vendo aqui que com a velocidade dele muitas vezes ele já tá desviando aqui do obstáculo então perfeito pessoal reparem que com a mesma lógica a gente tem agora a programação do sensor evitando
que o Arduino fique travado durante as leituras evitando que ele faça tanta leitura desnecessária Esse é o pulo do gato ou seja eu só vou fazer leitura no momento que eu preciso aqui eu calculei duas leituras por segundo se você vê que precisa de mais vai aumentando um pouquinho diminuindo aquele valor Olha esse 500 aqui você vai diminuindo se eu quiser mais leituras Então se colocar aqui 200 Na verdade eu tô pedindo para ele ler cinco vezes por segundo tá então se você vê que o robô não tá vendo ou seja não tá tendo tempo
de ver e tá batendo Então vai diminuindo esse valor até ficar bom ok então é isso espero que ajude aí vocês com esse vídeo a fazer o robô lendo né os objetos vendo os objetos na frente não batendo e com essas dicas para que você faça um robô bem bacana não esquece de deixar aqui nos comentários O que que você achou desse robô e se você tem outras ideias para a gente aplicar também nesse robô aguarde no próximo vídeo da série maratona Maker vai ter mais mini aula e tá chegando no final da série hein
Não esquece do código do vídeo de hoje para você colecionar todos e participar do sorteio do primeiro kit completo de robótica do brincando com ideias Sim a gente vai sortear o primeiro então não perde espero vocês aqui no próximo vídeo hein um forte abraço e até lá tchau tchau