Эль Крокетор 3000 (диспенсер для еды и воды)............
Введение:
Мы трое старшеклассников, увлеченных технологиями и кошками. В рамках курса инженерных наук нам предстоит реализовать проект в последний год обучения в средней школе. У нас не было никакого проекта, пока друг не предложил нам сделать дозатор для кормов и воды. Мы были полны решимости приложить все усилия. Так родился «Эль Крокетор 3000». Название отсылает к «крокетам», французскому слову, обозначающему кусочки.
Мы подумали о том, что мы, владельцы кошек, хотели бы улучшить в своей повседневной жизни, особенно когда нас нет дома. Каждый владелец кошек хочет избегать таких ситуаций: кошки, которые съели все подряд, ленивые кошки, которые толстеют, кошки, которые едят слишком быстро, беспокойство о том, что кошка обезвожена, когда нас нет дома.
Функции:
доставляет кусочки
настраиваемые размеры порций гранул
доставляет воду
работает удаленно
Порядок работы:
Открыть приложение
Подключиться по Bluetooth
нажмите кнопку «кормить» или «гидратировать»
Как это работает?
-После процедуры эксплуатации гранулы, хранящиеся в резервуаре, попадают в мельницу. Затем мельница вращается благодаря шаговому двигателю. Затем кусочки попадают на горку, пока не достигнут миски.
-После процедуры работы второй шаговый двигатель открывает клапан (кран), и вода течет в чашу.
Используемое программное обеспечение:
Для 3D-моделирования: Freecad 21.1 (с открытым исходным кодом).
Для программирования: Arduino (с открытым исходным кодом).
Для моделирования проводки: Fritzing (с открытым исходным кодом).
Для приложения: AppInventor (с открытым исходным кодом).
Используемое оборудование:
Ардуино УНО Р3
Двойной биполярный контроллер шагового двигателя DFROBOT DRI0023
МОДУЛЬ BLUETOOTH HC-05 Ведущий-ведомый
Биполярный шаговый двигатель с редуктором 42СТХ38-100
Упрощенная схема подключения:
эта схема не является идеальным представлением проводки, а является упрощенным
Код:
#include
#define rxPin 11 // Брошь 11 в момент приема RX на проигрывателе TX du HC-05
#define txPin 10 // Брошь 10 в момент TX, на приемнике RX du HC-05
SoftwareSerial mySerial(rxPin, txPin);
int M1dirpin = 7; //Вывод направления X двигателя
int M1steppin = 6; //Шпилька двигателя X
интервал M1en=8; //Вывод включения двигателя X
int M2dirpin = 4; //Вывод направления Y двигателя
int M2steppin = 5; //Вывод шага двигателя Y
интервал M2en=12; //Вывод включения двигателя Y
интервал темпа = 10;
интервал valbt = 0;
недействительная настройка()
{
// определяем режимы контактов для контактов tx, rx:
pinMode(rxPin, INPUT);
pinMode(txPin, ВЫХОД);
мойSerial.begin(9600);
Серийный.начало(9600);
pinMode(M1dirpin,OUTPUT);
pinMode(M1steppin,OUTPUT);
pinMode(M1en, ВЫХОД);
digitalWrite(M1en,LOW);// Включение низкого уровня
}
недействительный цикл()
{
если (mySerial.available())
{
valbt = mySerial.read();
если (valbt == 2){
Serial.println(valbt);
digitalWrite(7, ВЫСОКИЙ); // On met la broche DIR à l'état haut
для (длинный я = 0; я <= 140000; я ++) {
digitalWrite(M1steppin, LOW);
задержкамикросекунды (темп); // On envoie 200 impulsions pour faire Tourner le Moteur de 200 pas dans un sens
digitalWrite(M1steppin, ВЫСОКИЙ); // Значение темпа определяет время между двумя импульсами в мс
задержкамикросекунды (темп);
}
digitalWrite(M1steppin, LOW);
цифровая запись (M1en, LOW);
digitalWrite(7, НИЗКИЙ);
}
если (valbt == 3){
Serial.println(valbt);
digitalWrite(M2dirpin, ВЫСОКИЙ); // On met la broche DIR à l'état haut
для (длинный я = 0; я <= 140000; я ++) {
digitalWrite(M2steppin, LOW);
задержкамикросекунды (темп); // On envoie 200 impulsions pour faire Tourner le Moteur de 200 pas dans un sens
digitalWrite(M2steppin, ВЫСОКИЙ); // Значение темпа определяет время между двумя импульсами в мс
задержкамикросекунды (темп);
}
digitalWrite(M2steppin, LOW);
цифровая запись (M2en, LOW);
digitalWrite(M2dirpin, LOW);
задержка (2000);
для (длинный я = 0; я <= 140000; я ++) {
digitalWrite(M2steppin, LOW);
задержкамикросекунды (темп); // On envoie 200 impulsions pour faire Tourner le Moteur de 200 pas dans un sens
digitalWrite(M2steppin, ВЫСОКИЙ); // Значение темпа определено





























