Imprimir STL Comedouro para caes com motor de passo 28BYJ 48 Modelo 3D - 3388137
Things 3D Fila
Comedouro para caes com motor de passo 28BYJ 48
Impressão 3D
Se você ainda não tem uma máquina para imprimir este arquivo pode comprar uma impressora 3d aqui!
Você pode imprimir este modelo 3d com estes filamentos ou com estas resinas 3D.
Sobre o objeto 3D Comedouro para caes com motor de passo 28BYJ 48
Este é um arquivo desenvolvido e projetado com ferramenta CAD.
Se você ainda não sabe criar seu próprio modelo 3D eu te ensino neste artigo tutorial sobre Tinkercad.
Comedouro para caes com motor de passo 28BYJ 48 foi projetado para Impressora 3D. Esta coisa foi feita com o Tinkercad: https://www.tinkercad.com/things/drpsvhq0YkREste e um design simples de um sistema de alimentador de animais de estimacao usando o Motor de Passo 28BYJ-48 5VDC.E um projeto inicial que sera atualizado.Voce deve dividir este item em duas partes:Parte interna que ira girar com um motor de passo.Parte externa com o depurador e um involucro da parte interna (para permitir que a parte interna gire livremente).Voce pode colocar este depurador embaixo de um depurador manual e transforma-lo em um depurador automatico.Sera um prazer se este item for util para algum de voces.Se voce fizer um, por favor, poste uma foto da sua montagem com a tampa. Obrigado.Aqui voce tem um exemplo de arduino (com arduino mini, motor de passo e um relogio credito para: https://www.luisllamas.es/motor-paso-paso-28byj-48-arduino-driver-uln2003/)://AJUSTES / AJUSTE MANUALconst int ajustefino_cw = 10; // entrada de ajuste: um passo cwconst int ajustefino_ccw = 11; // entrada de ajuste: um passo ccwconst int alimentarmanual = 13; // alimentacao manual//TEMPORIZADOR / TEMPORIZADORinclude "Wire.h"include "RTClib.h"// A4 -> SDA// A5 -> SCL// RTC_DS1307 rtc;RTC_DS3231 rtc;//String diasDaSemana[7] = { "Domingo", "Segunda", "Terca", "Quarta", "Quinta", "Sexta", "Sabado" };//String nomesDosMeses[12] = { "Janeiro", "Fevereiro", "Marco", "Abril", "Maio", "Junho", "Julho","Agosto","Setembro","Outubro","Novembro","Dezembro" };String diasDaSemana[7] = { "Domingo", "Segunda", "Terca", "Quarta", "Quinta", "Sexta", "Sabado" };String nomesDosMeses[12] = { "Janeiro", "Fevereiro", "Marco", "Abril", "Maio", "Junho", "Julho","Agosto","Setembro","Outubro","Novembro","Dezembro" };const int outputPin = LED_BUILTIN;bool estado = false;//MOTOR DE PASSO//-----//definicao de pinosconst int motorPin1 = 6; // 28BYJ48 In1const int motorPin2 = 7; // 28BYJ48 In2const int motorPin3 = 8; // 28BYJ48 In3const int motorPin4 = 9; // 28BYJ48 In4// definicao de variaveisint velocidadeMotor = 1200; //variavel para definir a velocidade / velocidade do motor de passoint contadorPassos = 0; // contador para os passos / contador de passosint passosPorRevolucao = 4076; // passos para uma volta completa / passos/volta//tabelas com a sequencia de acionamento (descomentar a que precisar) / tabelas com a sequencia//sequencia 1-fase / 1 fase//const int numPassos = 4;//const int passosLookup[4] = { B1000, B0100, B0010, B0001 };//sequencia 2-fases / 2 fases//const int numPassos = 4;//const int passosLookup[4] = { B1100, B0110, B0011, B1001 };//sequencia meio fase / Meio faseconst int numPassos = 8;const int passosLookup[8] = { B1000, B1100, B0100, B0110, B0010, B0011, B0001, B1001 };void setup(){//AJUSTE FINO / AJUSTE FINEpinMode(ajustefino_cw, INPUT);pinMode(ajustefino_ccw, INPUT);pinMode(alimentarmanual, INPUT);//TEMPORIZADOR / TEMPORIZADORSerial.begin(9600);delay(1000);if (!rtc.begin()) {Serial.println(F("Nao foi possivel encontrar o RTC"));while (1);}// Se houve perda de energia, definir data e hora / Se perder a corrente, ajustar hora e dataif (rtc.lostPower()) {// Ajustar para a data e hora de compilacaortc.adjust(DateTime(F(DATE), F(TIME)));// Ajustar para a data e hora especifica. No exemplo, 21 de Janeiro de 2019 as 03:00:00 / para ajustar hora e data, pe 21 de janeiro de 2019// rtc.adjust(DateTime(2019, 1, 21, 3, 0, 0));}estado = false;//MOTOR DE PASSO//declarar pinos como saida / declaracao dos pinospinMode(motorPin1, OUTPUT);pinMode(motorPin2, OUTPUT);pinMode(motorPin3, OUTPUT);pinMode(motorPin4, OUTPUT);}void loop(){//AJUSTE FINO / AJUSTE FINEif (digitalRead(ajustefino_cw)==HIGH) passoHorario();if (digitalRead(ajustefino_ccw)==HIGH) passoAntiHorario();// Obter data atual e mostrar por Serial / obter e serializar a data e hora atualDateTime agora = rtc.now();printDate(agora);if (digitalRead(alimentarmanual)==true || (estado == false && isScheduledON(agora))) // Desligado e deveria estar ligado / Verificar se deve estar ligado{digitalWrite(outputPin, HIGH);estado = true;Serial.print("Ativado");for (int i = 0; i < passosPorRevolucao 0.7; i++){horario();delayMicroseconds(velocidadeMotor);}for (int i = 0; i < passosPorRevolucao 0.7; i++){antiHorario();delayMicroseconds(velocidadeMotor);}}else if (estado == true && !isScheduledON(agora)) // Ligado e deveria estar desligado / Verificar se deve estar desligado{digitalWrite(outputPin, LOW);estado = false;Serial.print("Desativar");}delay(5000);}//AJUSTE FINO / AJUSTE FINE// Funcao para ajustar um pouco em anti-horariovoid passoHorario(){for (int i = 0; i < 100; i++){horario();delayMicroseconds(velocidadeMotor);}}// Funcao para ajustar um pouco em horariovoid passoAntiHorario(){for (int i = 0; i < 100; i++){antiHorario();delayMicroseconds(velocidadeMotor);}}//TEMPORIZADOR / TEMPORIZADORvoid printDate(DateTime data){Serial.print(data.year(), DEC);Serial.print('/');Serial.print(data.month(), DEC);Serial.print('/');Serial.print(data.day(), DEC);Serial.print(" (");Serial.print(diasDaSemana[data.dayOfTheWeek()]);Serial.print(") ");Serial.print(data.hour(), DEC);Serial.print(':');Serial.print(data.minute(), DEC);Serial.print(':');Serial.print(data.second(), DEC);Serial.println();}// Verificar se esta programado para ligarbool isScheduledON(DateTime data){int diaDaSemana = data.dayOfTheWeek();float horas = data.hour() + data.minute() / 60.0;// De 10:30 a 11:30 e de 20:15 a 23:15bool condicaoHora = (horas > 10.50 && horas < 11.50) || (horas > 20.25 && horas < 23.25);Serial.println();// Segunda, Sexta ou Domingobool condicaoDia = (diaDaSemana == 1 || diaDaSemana == 5 || diaDaSemana == 0);if (condicaoHora && condicaoDia){return true;}return false;}//MOTOR DE PASSOvoid horario(){contadorPassos++;if (contadorPassos >= numPassos) contadorPassos = 0;setOutput(contadorPassos);}void antiHorario(){contadorPassos--;if (contadorPassos < 0) contadorPassos = numPassos - 1;setOutput(contadorPassos);}void setOutput(int passo){digitalWrite(motorPin1, bitRead(passosLookup[passo], 0));digitalWrite(motorPin2, bitRead(passosLookup[passo], 1));digitalWrite(motorPin3, bitRead(passosLookup[passo], 2));digitalWrite(motorPin4, bitRead(passosLookup[passo], 3));}
Não deixe de imprimir e compartilhar este modelo 3d. Não deixe sua impressora 3D parada. Mas se você não tem uma impressora 3D ainda, escolha a sua agora.

