Пристрій для биття крашанками через Інтернет

 

Великдень – чудовий привід провести час у сімейному колі. Карантин це коло сильно звужує. Але важливо пам’ятати, що залишатися вдома – один з найбільш дієвих способів протидії епідемії. Тому ми зробили пристрій для того, щоб битися крашанками через Інтернет. Таку штуку можна за декілька годин зібрати з дітьми не виходячи з дому. Найскладнішу частину ми взяли на себе, створивши спеціальний сайт (eggboom.today) для зв’язку користувачів та запуску яєць. Усі інші частини потребують лише базових навичок деревообробки та роботи з Arduino.

На відміну від інших інструкцій на нашому сайті – ця максимально несерйозна. Кожен крок можете зробити по своєму. Не відмовляйте собі у своїх фантазіях. Ми віримо, що у такі складні часи немає нічого кращого, ніж посміхнутися та пограти з близькими.

Конструкція розрахована на двох людей, для зручності назвемо першу людину ґазда, а другу гість. Ґазда збирає конструкцію, та забезпечує всі умови для гри. 

Головна проблема – як передати сигнал про запуск яйця від ґазди до гостя. Ви можете використовувати любий зручний спосіб для цього, ми ж вибрали для цього фоторезистор. Ґазда та гість створюють відео-чат та вибирають спосіб для активації фоторезистора. Аби полегшити комунікацію, ми створили веб сторінку, на якій ґазда та гість можуть під’єднатись до відеочату. Ґазда має закріпити фоторезистор так, щоб він був направлений у лівий нижній кут екрану. У обох є кнопка “Го!”, яка засвічує кут екрану та приводить механізм у дію. Якщо ви не розумієте що до чого – не переживайте, далі буде пояснення.

Механічна частина може вироблятися як за допомогою ЧПК-верстата на основі вкладеного файлу для Fusion 360, так і з використанням деревообробних верстатів у майстерні, або навіть виключно ручним інструментом.

Для виробництва механічної частини вам знадобляться наступні матеріали:

  • певна кількість 18-мм фанери (або брусу) для корпусу та важелів;
  • декілька шматків 8 або 10-мм фанери для тримачів яєць;
  • дві прищіпки;
  • 5.8-мм шпилька довжиною приблизно 15 см.
  • декілька шайб і гайок.
  • у випадку виконання на ЧПК-верстаті знадобиться Fusion 360 файл egg-beater-2.

Список компонентів електроніки:

  • плата Arduino UNO/Nano/Micro;
  • 2 сервоприводи Tower Pro 9g SG90;
  • фоторезистор (готовий модуль або фоторезистор + резистор 10 кОм);
  • Блок живлення – 5V, потужність від 200mA. 

Спектр можливого обладнання найширший і може включати в себе буквально будь-який інструмент і верстат із деревообробної майстерні або скарбнички мейкера, а саме:

  • ручний, електричний лобзик або лобзиковий стіл;
  • ручна пила;
  • молоток;
  • шуруповерт;
  • свердлильний верстат;
  • стрічкова пила;
  • торцювальна пила;
  • шліфувальні верстати;
  • фрезерний верстат з ЧПК;

В цій інструкції ми покажемо, як зробити механічну частину переважно ручним інструментом.

Крок 1 Виготовлення важелів

Для простоти виробництва вручну можна роздрукувати креслення потрібних елементів і випилювати деталі, орієнтуючись на креслення, але можна робити і без цього, головне дотримуватись форми і розмірів для того, щоб механіка точно працювала.

Крок 1.1 Просвердлювання отворів під яйця  

Беремо пару шматків тонкої фанери (в нашому випадку це 8-мм фанера) і за допомогою свердлильного верстата або звичайного шуруповерта робимо в одному з них отвір діаметром 44 мм, а в іншому – 35 мм. Такі отвори можна зробити або коронкою по дереву, або форстнером, або, в крайньому випадку, ручним або електричним лобзиком.

Крок 1.2 Вирізання ложок по формі 

Далі навколо отворів треба відтворити форму ложок. На дошці з великим отвором – ложку з малою ручкою, на дошці з малим отвором – велику ложку.

Виріжіть ложки по формі, яку ви щойно накреслили.

Зашліфуйте поверхні, щоб позбутися скалок.

Крок 1.3 Вирізання важелів

З 18-мм фанери або дошки треба вирізати шматок розміром 220х40 мм.

Після цього треба з одного краю зробити скіс довжиною 120 мм на відстані 15 мм від протилежного краю на вузькій стороні дошки.

Далі треба на іншому кінці дошки зробити заокруглення радіусом 20 мм. В цьому вам допоможе штангенциркуль або звичайний циркуль та лобзик. Накресліть півколо так, щоб три сторони дошки були дотичними до нього. Також позначте центр кола.

В центрі кола просвердліть отвір діаметром 6 мм, якщо ви використовуєте 5.8 мм шпильку або меншого діаметру, якщо ви використовуєте меншу шпильку.

Зашліфуйте заготовку. 

Всі елементи першого важеля готові, тепер можна зробити другий комплект на другий важіль.

Другий важіль має бути абсолютно ідентичним першому, тому найпростіший спосіб його відтворити – просто обвести на заготовках елементи першого важеля і вирізати все так само, як у випадку з першим комплектом. Після того, як обидва комплекти будуть вирізані, можна приступити до збирання.

Крок 1.4 Збирання важеля

Перш за все проведіть лінію на відстані 53 мм від тонкого краю важеля на рівному його торці.

Приклейте по цій лінії малу ложку так, як зображено на фото. З іншого боку лінії приклейте прищіпку, розташувавши її посередині важеля. Краще за все використовувати клей ПВА, він ідеально клеїть дерево і фанеру і при цьому дає право на помилку та можливість її безболісно виправити протягом короткого часу після склеювання.

Змастіть верхню поверхню прищіпки клеєм і приклейте ложку так, щоб її кінець співпадав із кінцем прищіпки, в такій орієнтації, щоб форма співпадала з формою вже приклеєної ложки.

Стягніть важіль струбциною, щоб клей правильно і надійно схопився. 

Поки важелі сохнуть, час зробити раму пристрою.

 

Крок 2 Виготовлення рами пристрою

Перш за все вам знадобляться наступні за розмірами елементи рами (все робиться з 18-мм фанери або брусу):

  • Дві дошки розміром 40х650 мм;
  • Дві дошки розміром 40х42 мм;
  • Чотири дошки розміром 40х320 мм; 

Крок 2.1 Підготовка ніжок. 

4 дошки майбутніх ніг треба обрізати з одного краю під кутом 15 градусів.

Крок 2.2 Підготовка рами.

На кінцях довгих палиць рами і в торцях коротких треба накреслити по дві точки на відстані 9 мм від сусідніх країв і просведлити тонким свердлом.

Сюди ми згодом вкрутимо саморізи і таким чином зберемо раму.

Отвори у довгих елементах рами треба зазенкувати.

В нижній частині ложок, приклеєних до важеля, просвердліть отвір. Через цей отвір потрібно продіти петличку з нитки, яка буде тримати важіль у “зарядженому” стані

Просвердліть отвори чітко посередині довгих перекладин.

Продіньте шпильку через цей отвір, далі через шайби послідовно перший важіль, далі другий у дзеркальному відображенні і, врешті, надіньте на шпильку другу довгу перекладину.

Затягніть шпильку гайками так, щоб рама одночасно була не дуже розхлябаною, але при цьому важелі вільно пересувалися відносно своєї осі обертання.

Крок 2.3 Збирання рами

Розкладіть ножки у формі букви Л, малі елементи рами змастіть клеєм і приклейте так, щоб канали отворів були паралельні землі.

Для надійності із’єднання можете ще прибити цвяхами.

Проставте ножки між перекладинами рами таким чином, щоб важелі на рамі ходили нижче рами. Закрутіть саморізи у відповідні отвори рами, таким чином зібравши раму воєдино.

Механічна частина готова!

Столярні роботи завершено, тепер час засісти за комп’ютер і виконати програмну та електронну частину проєкту.

Крок 3 Монтаж електроніки

Список компонентів електроніки:

  • плата Arduino UNO/Nano/Micro;
  • 2 сервоприводи Tower Pro 9g SG90;
  • фоторезистор (готовий модуль або фоторезистор + резистор 10 кОм);
  • Блок живлення – 5V, потужність від 200mA. 

Принципова схема:

Ми використовували готовий модуль фоторезистора із набору “37 Sensort kit”, різниця лише у тому, что він вже має на борту резистор 10 кОм. (дивіться нижче фото резистора та окремого модуля)

 

За допомогою термоклею прикріплюємо плату Arduino UNO та сервоприводи. Вісь обертання сервопривода може бути як вертикальною, так і горизонтальною. Якщо ви використовуєте слабенький привід (як в нашому випадку), робіть так, аби навантаження на привід було мінімальне. 

Встановлюємо фторезистор таким чином, аби він дивився у лівий нижній кут монітора, для цього ідеально підійде брусок та ізолента. Радимо вам зробити дроти до фоторезистора довжиною не менше ніж 1.5 метри, щоб встановити конструкцію на певному віддаленні від монітора/ноутбука.

Порада стосовно підключення Arduino до живлення: струм, який споживають сервоприводи SG90 є досить малим, але ми не радимо вам тестувати схему під навантаженням при підключенні Adruino тільки до USB порта вашого комп’ютера, бо є ризик спалити USB порт. Ми тестували схему без навантаження з USB живленням, а потім переключались на зовнішній блок живлення. 

Крок 4 Пишемо програму для Arduino

Для мейкерів, які знайомі з Arduino, не буде жодних проблем написати програму, головна задача – правильно детектувати сигнали з фоторезистора та вмикати відповідні сервоприводи. 

Якщо у вас немає бажання це робити – просто завантажте цей файл з кодом та перейдіть до наступного кроку.

Кожну ітерацію циклу ми оновлюємо значення змінної sensorInitial задля того, щоб підлаштуватись під коливання освітлення у приміщенні. Також ми регулюємо значення змінної SENSOR_THRESHOLD_RATE – це процентне відношення яскравості, яке запускає механізм сервоприводу, Якщо ваш фоторезистор не детектить спалах білого прямокутника на моніторі, спробуйте погратись із константою SENSOR_THRESHOLD_RATE. 

Константи SERVO_0_INITIAL/SERVO_0_HIT, SERVO_1_INITIAL/SERVO_1_HIT відповідають за початкові кут сервоприводів та за кути активації механізму, будьте уважними, ці кути будуть відрізнятись для вашої конструкції. Ми спочатку приклеїли корпус сервопривода, далі встановили важіль вихідного вала під подтрібним кутом та відрегулювали його точно за допомогою констант SERVO_0_INITIAL/SERVO_0_HIT, SERVO_1_INITIAL/SERVO_1_HIT.

#include <Servo.h>
Servo servo_0;
Servo servo_1;
int SERVO_0_PIN = 3;
int SERVO_1_PIN = 5;
int SERVO_0_INITIAL = 90;
int SERVO_1_INITIAL = 4;
int SERVO_0_HIT = 0;
int SERVO_1_HIT = 90;

int SENSOR_PIN = 1; // A1 pin
float SENSOR_THRESHOLD_RATE = 0.85;
int sensorInitial;
bool first_triggered = false;

void setup() {
servo_0.attach(SERVO_0_PIN);
servo_1.attach(SERVO_1_PIN);
servo_0.write(SERVO_0_INITIAL);
servo_1.write(SERVO_1_INITIAL);
Serial.begin(115200); // for debug only
sensorInitial = getSensorValue();
}

void loop() {
int sensorValue = getSensorValue();
int blink = sensorValue < sensorInitial * SENSOR_THRESHOLD_RATE;

if (blink) {
if (!first_triggered) {
triggerServo(0, SERVO_0_HIT);
first_triggered = true;
} else {
triggerServo(1, SERVO_1_HIT);
first_triggered = false;
delay(5000);
sensorInitial = getSensorValue();
}
} else {
sensorInitial = sensorValue;
}
delay(50);
}

int getSensorValue() {
return analogRead(SENSOR_PIN);
}

void triggerServo(int index, int angle) {
Servo servo;
int pin;
int initial;
switch (index) {
case 0: servo = servo_0; pin = SERVO_0_PIN; initial = SERVO_0_INITIAL; break;
case 1: servo = servo_1; pin = SERVO_1_PIN; initial = SERVO_1_INITIAL; break;
default: return;
}
servo.write(angle);
delay(200);
servo.write(initial);
}

Крок 5 Завантажуємо код на Arduino

Якщо у Вас немає програми для роботи з Arduino, завантажте її тут.

Якщо ви це ще не зробили, завантажте цей файл  з кодом, та відкрийте його у Arduino IDE.

Під’єднайте Arduino через USB та зазначте модель вашого контролеру у вкладці Інструменти -> Плата

Перевірте, чи зазначили ви правильний Порт

Тепер можна завантажити код. Для цього натисніть  на кнопку “Завантажити”. Код спочатку скомпілюється, а потім завантажиться на плату.

Вітаємо! Залишилось ще трошки і можна буде гратися.

Крок 6 Робимо крашанки

Напевно, ви знаєте багато способів це зробити. Покладіть яйця у кастрюлю. та зачекайте 10 хвилин як вода закипить.

Розмалюйте яйця фломастерами, занурте їх у підкрашену воду, або якщо часу обмаль – скористайтеся пластиковою плівкою

Крок 7 Заряджаємо пристрій

Вставте яйця у тримачі на кінцях важелів. Для того, щоб крашанки фізично могли зіткнутися, радимо вставити яйця “гострими” частинами одне до одного.

Потягніть важіль за петличку з нитки та розташуйте петличку на пластиковому елементі сервоприводу.

 

Все, пристрій готовий до гри!

Крок 8 Дзвонимо друзям і граємось

Зайдіть на сайт eggboom.today, який ми спеціально розробили для цього проекту.

Послідовність кроків:

1. Ґазда заходить на вебсайт https://eggboom.today. Краще використовувати брайзер Chrome.
Браузер запитує доступ до відеокамери та мікрофону, треба погодитись.


Через деякий час у формі “Перешліть оце посилання своєму другу” з’явиться посилання, ви копіюєте посилання та відправляєте другу.


2. Гість переходить за посиланням, так само дає згоду на доступ до камери та мікрофону та натискає на кнопку “Почати”

3. Ґазда получає дзвінок та відповідає на нього.


4. Обидва учасники бачать кнопку “Го!”, при натисканні на яку запускається механізм.
Гість рахує 1, 2, 3 і на рахунок 3 обидва натискають на кнопку “Го!”. Дуже важливо, щоб рахував гість, бо якщо рахує ґазда – нічого не вийде, бо подвійна затримка звуку унеможливлює одночасний запуск яєць.


5. Після того, як ви зробили запуск, перезаряджаєте яйця та граєте знову

Крок 9 Якщо наш сайт не працює

При тестуванні ми помітили, що для деяких мереж та моделей роутерів наша система зв’язку може працювати нестабільно.

Наш пристрій запускається коли обидва користувачі натиснули на кнопку “Го!”. Одразу після цього, у лівому нижньому куточку екрана ґазди (там де розташований фоторезистор) замість чорного з’являється білий прямокутник. Фоторезистор реагує на зміну кольору, та “говорить” про це Arduino. Тому якщо у вас не виходить скористуватися нашою сторінкою – є альтернативний спосіб:

Оберіть будь-який сервіс відео-зв’язку, наприклад Skype чи Hangouts. Попроcіть вашого співразмовника розташувати веб-камеру таким чином, щоб позаду був якійсь темний фон. Це може бути чорний екран телевізору, або темна тканина. Якщо ваш гість візьме білий шмат паперу, там швідко розташує його у куточку кадру, фотоелемент зреагує на це та запустить зіткнення крашанок. У такому разі, у вас є два варіанти:  спостерігати за тим, як гість запускає обидва важелі, або відпускати важіль зі своєю крашанкою руками.

гість на чорному фоні
гість тримає аркуш паперу
гість підносить аркуш паперу у куточок, щоб запустити пристрій

Це потребує деякої практики, проте з третього разу в нас вийшло налаштувати таку гру навіть коли наша сторінка не працювала.

Все. Мийте руки, посміхайтеся, залишайтеся вдома. Веселих свят!

 

1 коментар до “Як зробити з дітьми паперових сов”

Залишити коментар