08.12.2015 19:05 Количество просмотров материала 3036 Время на чтение ~5.5 мин
Увеличить | Уменьшить Распечатать страницу

Карандашный диспенсер своими руками

Карандашный диспенсер своими руками

Снова всем мозгопривет! На досуге для своей школы собрал я интересную мозгоподелку - электронный диспенсер, выдающий карандаши, и будет здорово, если кто-то решит повторить этот мозгоаппарат. А как именно, читаем дальше.

 

karandashnyiy-dispenser-svoimi-rukami1

 

(На видео представлен не окончательный вариант поделки, которая украшена наклейками).

 

 

Шаг 1: Материалы

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

Вот и сам список, в который, кстати, не вошли некоторые материалы. Это незначительные компоненты, которые вы можете добавить самостоятельно. А еще не обозначены в списке такие детали, как провода, паяльник, резисторы.

 

 

Шаг 2: Диспенсер

 

karandashnyiy-dispenser-svoimi-rukami3

 

karandashnyiy-dispenser-svoimi-rukami4

 

karandashnyiy-dispenser-svoimi-rukami5

 

Начинаем с крепления акрилового диспенсера к основанию корпуса самоделки посредством двух металлических полосок. Для этого в основании высверливаем отверстия, ориентируясь при этом на отверстия в полосках, устанавливаем сами полоски и скрепляем болтами и гайками. Сверлить отверстия в самом диспенсере не вариант, потому что сделать это будет довольно неудобно. (Последний мой мозгоболт был скрытый, поэтому на фото не показан).

 

 

Шаг 3: Шаговый двигатель

 

karandashnyiy-dispenser-svoimi-rukami6

 

karandashnyiy-dispenser-svoimi-rukami7

 

Следующая задача - монтаж шагового двигателя, также на основание корпуса мозгоподелки. При этом вал двигателя необходимо выравнять для связки с концом вращающегося стержня акрилового диспенсера. Это позволит сделать шкивную передачу для поворачивания стержня и выдачи карандаша.

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

 

 

Шаг 4: Доработка лицевой стороны корпуса

 

karandashnyiy-dispenser-svoimi-rukami8

 

В лицевой стороне делаем две прямоугольные прорези, одну под монетоприемник, а вторую под лоток выдачи карандашей. А еще высверливаем в правом верхнем углу два отверстия под светодиоды.

 

 

Шаг 5: Установка лотка для скатывания карандашей

 

karandashnyiy-dispenser-svoimi-rukami9

 

Чтобы сделать этот лоток нужно лишь вырезать лист акрила и приклеить с помощью клея для акрила к одной из его сторон два кусочка акрила, которые будут выступать ограничителями. А затем вставить эту конструкцию в диспенсер  в то место, куда будут падать карандаши. (Но перед этим, если вы используете такой же мозгодиспенсер как на фото, придется сточить уже имеющийся ограничитель).

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

 

 

Шаг 6: Отверстия под сенсор

 

karandashnyiy-dispenser-svoimi-rukami10

 

karandashnyiy-dispenser-svoimi-rukami11

 

Высверливаем отверстия под фотоэлектрический сенсор, затем в ним вставляем компоненты сенсора и закрепляем гайками. Причем размещаем сенсор так низко, чтобы оставалось как можно меньшее количество карандашей при опустошении контейнера с карандашами. Саму разметку проводим исходя из ваших возможностей.

 

 

Шаг 7: Микроконтроллер

 

karandashnyiy-dispenser-svoimi-rukami12
Переходим к настройке Arduino, софт для этого можно скачать здесь. Будьте уверены, что микроконтроллер запрограммирован и работает корректно. В своей мозгосборке я использовал Arduino Uno, но вы можете взять любой другой из у вас имеющихся.

Не обращайте внимания на расположение проводов на фото, я тестировал другую самоделку. Кроме того, я использовал другой, запасной микроконтроллер, не Uno, чтобы сделать это фото.

 

 

Шаг 8: Запуск двигателя

 

karandashnyiy-dispenser-svoimi-rukami13

 

karandashnyiy-dispenser-svoimi-rukami14

 

karandashnyiy-dispenser-svoimi-rukami15

 

karandashnyiy-dispenser-svoimi-rukami16

 

Самое время заняться подключением шагового двигателя. Берем драйвер и проводим распайку проводов.

1. Четыре провода, идущие от двигателя, распаиваем таким образом:
- красный и желтый спарены и припаиваются к контактам, обозначенным на фото «А»
- серый и зеленый к контактам, обозначенным «В»

2. Шаговая подача:
К обозначенным на фото контактам припаиваем любые три провода. Один, обозначенный GND (пойдет на массу), а два других в порты Arduino, о них мы позаботимся позже.

3. Оталось припаять провода питания драйвера (12В и GND). Чтобы получить 12В я взял старый зарядник для ноутбука и обрезал штекер. Оплетка шнура это нулевой (зазаемление, масса) провод, а изолированный срединный провод - положительный.
К ним и контактам драйвера припаиваются разъемы (либо провода можно просто припаять к драйверу).

Для проверки работы мозгодвигателя можно использовать библиотеку «accel stepper library» и загрузить программу по умолчанию.

 

 

Шаг 9: Подключение сенсора

 

karandashnyiy-dispenser-svoimi-rukami17

 

По представленной схеме припаиваем провода сенсора. На этой схеме показано также подключение двигателя.

Примечание. Свою электроцепь я собрал на макетной мозгоплате.

Подключив сенсор, его функционирование можно проверить направив на него светодиод. Затем поместив между ними руку или что-то подобное, он должен среагировать.

 

 

Шаг 10: Настройка монетоприемника

 

karandashnyiy-dispenser-svoimi-rukami18

 

Для начала к контактам питания монетоприемника подключаем 12В и GND (от того же источника питания, что и для датчиков). При этом должен загореться светодиод, а монетоприемник подать звуковой сигнал. Затем, следуя приложенной мозгоинструкции, настраиваем его на монеты, которые планируете использовать.

 

 

Шаг 11: Установка замка и выемка под провода

 

karandashnyiy-dispenser-svoimi-rukami19

 

karandashnyiy-dispenser-svoimi-rukami20

 

karandashnyiy-dispenser-svoimi-rukami21

 

Для установки замка берем круговое сверло и делаем отверстие, достаточное, чтобы замок в него поместился. Затем крепим замок и вырезаем паз в боковой стороне корпуса, в который и будет входить язычок мозгозамка при запирании.

Затем стамеской делаем выемку через которую будут выходить провода при закрытой дверке корпуса поделки.

 

 

Шаг 12: Монтаж детектора выдачи карандаша

 

karandashnyiy-dispenser-svoimi-rukami22
Данный детектор останавливает шаговый двигатель после того, как карандаш действительно выпал. Три провода выходящих из детектора это:

- коричневый провод : положительный(+)
- черный : сигнальный
- синий: отрицательный(-).

К коричневому проводу припаиваем резистор на 330 Ом (разметка резистора: оранжевая полоса, оранжевая, коричневая), а затем присоединяем к 12В от блока питания. Синий, соответственно, присоединяем к массе (GND).

 

 

Шаг 13: Распиновка Arduino

- сигнальный провод идущий от фотоэлектрического сенсора подключается к контакту «5»,
- провод Dir идущий от шагового двигателя плдключается к контакту «9», а провод Step к контакту «8»,
- белый провод выходящий из монетоприемника подключается к контакту «2»,
- светодиод просто подключается к 5В и заземлению (индикация режима работы),
- светодиод, показывающий опустошение контейнера с карандашами подключается к контакту «13» и заземлению,
- GND провод от источника питания (12В-го) подключается к заземлению Arduino, таким образом заземлив все вместе (фотосенсор, монетоприемник).

 

 

Шаг 14: Загрузка кода на Arduino

//Parts of this is commented out for the infrared diffuser that will be placed in the instructions later

#include <AccelStepper.h>
//#define IRPIN A0 // Pin for the input from infrared diffuser

int ofs = 5; // pin for out of stock sensor
int led = 13; // out of stock led
const int coinInt = 0; // interrupt pin number (insert the wire into pin 2 in arduino)
int pencilDispensed = 11;
volatile float coinVal = 0.00; // set to volatile for the interrupt function(so it is properly updated)
int coinIn = 0; 
AccelStepper stepper(1,9,8);

void setup()
{
  Serial.begin(9600);       
  stepper.setMaxSpeed(3000);
  stepper.setSpeed(3000);
  attachInterrupt(coinInt, coin, RISING);  
 
  
  pinMode(ofs, INPUT);
  pinMode(led, OUTPUT);
  
  //pinMode(IRPIN, INPUT);
}

void coin()  
{
  coinVal = coinVal + 0.05; 

  coinIn = 1;       
}void pencil(){
  Serial.println("Pencil");
}

void loop()
{
  int outofstock = digitalRead(ofs);

  if(outofstock == 1){
  
  digitalWrite(led,HIGH);
  
  }
  else{ 
  digitalWrite(led,LOW);
  }
  if(coinIn == 1)    
//Check if coin has been inserted
 {
  
 if(outofstock == 1){
   coinIn = 0;
 }
 else{
  coinVal = 0;

 //while(!digitalRead(pencilDispensed)){
  
  stepper.runSpeed();
  
 //}
  coinIn = 0;
 }
}

}

 

Шаг 15: Поделка готова!

Благодарю за внимание и удачи в мозговорчестве!

( Специально для МозгоЧинов #Build-your-own-Electronic-Pencil-Dispenser

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]


Вверх