Fala Pessoal! Tudo Beleza? 🙂
Bom, hoje vamos falar sobre um pequeno protótipo, de uma suposta esteira de supermercado 🙄 , feita totalmente de materiais que em outro caso, iriam para o lixo! E claro, feita em casa! Vamos em frente… 💡
A ideia de controlar o protótipo da esteira não é mais “tão” original, até porque nós mesmos já vimos, postamos e trabalhamos com esta mesma esteira, mas utilizando a plataforma do próprio Arduino UNO – mcu ATmega328P.
Neste caso agora, substituímos a “grande” placa Arduino UNO pela “mini” placa Digispark ATtiny85 para realizar o mesmo tipo de controle e utilizando também o sensor de infravermelho – Modelo: E18-D80NK – que pode detectar a presença de objetos a uma distância de até 80 centímetros de distância! 😮
Vejam algumas fotos do Sensor IR abaixo:
Bom, então pessoal, este aí é o sensor IR que vamos utilizar para fazer o papel de “barreira invisível” para os “produtos (rolhas de garrafa :))” que estarão “correndo/passando” pela esteira serem devidamente “identificados” ou melhor dizendo, “visualizados” não é mesmo? Afinal de contas, nosso circuito eletrônico não “sabe o que é que está na frente“, MAS sabe que algo está obstruindo a passagem da luz no espectro de infravermelho! ❗
Os demais componentes que vamos necessitar para colocar a esteira em funcionamento serão:
– Placa Digispark ATtiny85;
– Placa Driver baseada no circuito integrado ULN2003;
– Fonte de Alimentação Externa;
– Sensor Infravermelho (IR) – Modelo E18-D80NK;
– Motor de Passo (Step Motor) – Modelo 28BYJ-48 5VDC
💡 Lembrando que todas as informações, detalhes e até mesmo fotos sobre o motor de passo que vamos utilizar já estão disponíveis aqui. 🙂
💡 Ahh! E também não podemos deixar de mencionar que caso desejem mais informações, detalhes, programas sobre a plaquinha de desenvolvimento Digispark Attiny85, também já possui um material disponível aqui. 😉
Assistam ao video a seguir e observem de perto o funcionamento da esteira além de todo o conjunto de componentes devidamente interligados:
VEJAMOS O CÓDIGO-FONTE (Sketch) UTILIZADO PARA O CONTROLE DO MOTOR DE PASSO E CONTROLE DO SENSOR INFRAVERMELHO:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
// Controle de Motor de Passo - Modo Passo Completo baixo torque (Wave step) // Motor 28BYJ48/5V com Módulo ULN20023 - DIGISPARK - MCU ATMEL ATtiny85 // Blog: https://eletronicaparatodos.com // Créditos: Gustavo Murta - LabGaragem // Matriz dos bytes das Fases do Motor - sentido Anti-Horário WaveStep byte AHO[4] = {0x08,0x04,0x02,0x01}; // Intervalo de tempo entre as fases em milisegundos - min 2 para Wave Step int atraso_fase = 3; // Declaramos as variaveis para o sensor IR (MODELO:E18-D80NK --> 80cm max) int pinoSensor = 4; // Pino do Sensor setado como PB4 do Arduino GEMMA/ Digispark ATtiny85 int leituraSensor; // Armazenamos o valor lido pelo sensor IR void Motor_AHO() // Movimento no sentido anti-horário { for(int j = 0; j < 4; j++) // incrementa o contador j de 0 a 3 { PORTB = AHO[j]; // Carrega bytes da Matriz AHO na Porta B delay (atraso_fase); // Atraso de tempo entre as fases em milisegundos } } void setup() { //DDRB = 0x0F; // Configura Portas D08,D09,D10 e D11 como saída pinMode(0, OUTPUT); // Configuramos o pino P0 da placa Digispark ATtiny85 como SAÍDA pinMode(1, OUTPUT); // Configuramos o pino P1 da placa Digispark ATtiny85 como SAÍDA pinMode(2, OUTPUT); // Configuramos o pino P2 da placa Digispark ATtiny85 como SAÍDA pinMode(3, OUTPUT); // Configuramos o pino P3 da placa Digispark ATtiny85 como SAÍDA pinMode(pinoSensor, INPUT); // Configuramos o Pino do Sensor como ENTRADA PORTB = 0x00; // Reset dos bits da Porta B (D08 a D15) } void loop() { leituraSensor = digitalRead(pinoSensor); // Armazenamos na variavel a atual leitura do sensor if(leituraSensor == 0) // Verifica se o objeto foi detectado { //Motor_AHO(); // Gira motor no sentido Anti-Horário } else { Motor_AHO(); // Gira motor no sentido Anti-Horário } } |
Bom, é isso aí pessoal! Espero muito que tenham gostado e claro, que o conteúdo seja de ajuda para todos em determinado momento da nossa eterna caminhada em busca de novos conhecimentos! 😎
Compartilhem!
- Medindo e Monitorando a Temperatura com Arduino (Sensor LM35) - 5 de setembro de 2021
- Controle de Cargas através de Entrada Analógica com Arduino - 30 de agosto de 2021
- REVIEW E DICAS – ALICATE AMPERÍMETRO (UNI-T UT210E PRO) - 28 de agosto de 2021