Сортировщик Распаковщик Вкусностей — различия между версиями
Bars-ik98 (обсуждение | вклад) (→Arduino прошивка) |
(→Результаты по проекту) |
||
(не показано 7 промежуточных версий 2 участников) | |||
Строка 22: | Строка 22: | ||
|Ознакомление с Arduino | |Ознакомление с Arduino | ||
|На данном этапе проблем не возникло | |На данном этапе проблем не возникло | ||
− | |Собран "скелет" Arduino и написана прошивка | + | |Собран "скелет" Arduino и написана прошивка |
|- | |- | ||
| 30.04.18 | | 30.04.18 | ||
Строка 32: | Строка 32: | ||
|Сборка механического каркаса | |Сборка механического каркаса | ||
|Выяснилось, что мощности имеющегося двигателя не хватает для того, чтобы крутить шестеренки с натянутой лентой | |Выяснилось, что мощности имеющегося двигателя не хватает для того, чтобы крутить шестеренки с натянутой лентой | ||
− | |Решено отказаться от использования двигателя постоянного тока (в связи с | + | |Решено отказаться от использования двигателя постоянного тока (в связи с дороговизной более мощного) |
|- | |- | ||
| 14.05.18 - 28.05.18 | | 14.05.18 - 28.05.18 | ||
|Сборка корпуса со всеми составляющими | |Сборка корпуса со всеми составляющими | ||
− | | | + | |Вместо автоматического "открытия" упаковки было решено использовать механическое |
|Корпус собран | |Корпус собран | ||
|} | |} | ||
==Результаты по проекту== | ==Результаты по проекту== | ||
+ | Наблюдается выполнение основных функций установкой. Для большего эффекта требуется увеличить количество тестирований с целью выявления мест конструкции, требующих усовершенствований. Например, более рациональным и зрелищным способом вскрытия упаковки может оказаться её сдавливание и дальнейшее расхождение по швам, вероятность которого возможно увеличить путём расчёта места приложения усилия. Проблем, связанных с написанным скетчем к Arduino не обнаружено, сама программа не занимает много места в памяти Arduino UNO и обрабатывается быстро. Таким образом, использование микроконтроллера Arduino отлично подходит для реализации проекта такого рода. | ||
==Arduino прошивка== | ==Arduino прошивка== | ||
− | <syntaxhighlight lang=" | + | <div class="mw-collapsible mw-collapsed"> |
+ | <div class="mw-collapsible-content"> | ||
+ | <syntaxhighlight lang="javascript" line start="1" enclose="div"> | ||
#include <Servo.h> // Библиотека для сервопривода | #include <Servo.h> // Библиотека для сервопривода | ||
Строка 99: | Строка 102: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | </div> | ||
+ | </div> | ||
==Литература и ссылки== | ==Литература и ссылки== | ||
+ | 1. Видео уроки по Arduino: | ||
+ | http://alexgyver.ru/arduino_lessons/ | ||
+ | |||
+ | 2. Итернет-класс обучения работы с Arduino: | ||
+ | http://robotclass.ru | ||
+ | |||
+ | 3. Лекции по Arduino: | ||
+ | http://boteon.com/blogs/obuchayuschie-lekcii-po-arduino |
Текущая версия на 02:40, 31 мая 2018
Содержание
Описание[править]
Актуальность[править]
Данный проект был интересен с точки зрения реализации (опробовать оборудование в Фаб-Лабе и поработать с микроконтроллерами).
Проектная команда[править]
Поставленные цели[править]
Создать полуавтоматическую машину, которая будет открывать упаковки с вкусностями и делить поровну на заданное количество человек.
Работа по проекту[править]
Срок | Задача | Возникающие проблемы | Что сделано к сроку |
23.03.18 | Ознакомление с Arduino | На данном этапе проблем не возникло | Собран "скелет" Arduino и написана прошивка |
30.04.18 | Работа с 3D принтером | На данном этапе проблем не возникло | Смоделированы две шестеренки |
07.05.18 | Сборка механического каркаса | Выяснилось, что мощности имеющегося двигателя не хватает для того, чтобы крутить шестеренки с натянутой лентой | Решено отказаться от использования двигателя постоянного тока (в связи с дороговизной более мощного) |
14.05.18 - 28.05.18 | Сборка корпуса со всеми составляющими | Вместо автоматического "открытия" упаковки было решено использовать механическое | Корпус собран |
Результаты по проекту[править]
Наблюдается выполнение основных функций установкой. Для большего эффекта требуется увеличить количество тестирований с целью выявления мест конструкции, требующих усовершенствований. Например, более рациональным и зрелищным способом вскрытия упаковки может оказаться её сдавливание и дальнейшее расхождение по швам, вероятность которого возможно увеличить путём расчёта места приложения усилия. Проблем, связанных с написанным скетчем к Arduino не обнаружено, сама программа не занимает много места в памяти Arduino UNO и обрабатывается быстро. Таким образом, использование микроконтроллера Arduino отлично подходит для реализации проекта такого рода.
Arduino прошивка[править]
1 #include <Servo.h> // Библиотека для сервопривода
2 Servo servo1; // Объявление переменных
3 int timestep;
4 int timestep1;
5 boolean flag = 0;
6 boolean flag1 = 0;
7 boolean battle;
8 byte i;
9 byte j;
10 byte v;
11 byte c;
12 void setup() {
13 servo1.attach(4); // Задание пинов на вход и выход
14 pinMode(3,INPUT_PULLUP);
15 pinMode(2,INPUT);
16 pinMode(9,OUTPUT);
17 Serial.begin(9600);
18 servo1.write(0);
19 // digitalWrite(9,LOW);
20 }
21
22 void loop() {
23 v = !digitalRead(2);
24 battle = !digitalRead(3);
25 if (battle==1 && flag==0 && (millis()-timestep)>300){ // Отрабатываем нажатие кнопки..
26 flag = 1;
27 i++;
28 Serial.println(i);
29 timestep = millis();
30 }
31 if (battle==0 && flag==1){ // ..и отжатие
32 flag = 0;
33 }
34 if ((millis()-timestep)>2500 && i>1){ // Через 2.5 секунды после последнего нажатия кнопки запускается дальнейший скрипт
35 j = i;
36 }
37 //if (j>0 && (millis()-timestep)>5000 && (millis()-timestep)<6000){ Прошивка для двигателя (не использовалась)
38 // digitalWrite(9,HIGH);
39 //} else {
40 // digitalWrite(9,LOW);
41 //}
42 if (j>0 && v==HIGH && flag1==0 && c<180 && (millis()-timestep1)>1000){ // Снятие показания с датчика препятствий и
43 flag1 = 1;
44 timestep1 = millis();
45 c += 180/j;
46 servo1.write(c); // подача сигнала на сервопривод
47 }
48 if (j>0 && v==LOW && flag1==1 && (millis()-timestep1)>300){
49 flag1 = 0;
50 timestep1 = millis();
51 }
52
53 }
Литература и ссылки[править]
1. Видео уроки по Arduino:
http://alexgyver.ru/arduino_lessons/
2. Итернет-класс обучения работы с Arduino:
http://robotclass.ru
3. Лекции по Arduino:
http://boteon.com/blogs/obuchayuschie-lekcii-po-arduino