Конфетница для TIC-TAC под управлением Arduino

BlackBug Engineering

★★✩✩✩✩✩
10 Ноя 2019
47
66
Однажды сын мне рассказал, что они с друзьями из LEGO собирают так называемые "КОНФЕТНИЦЫ", например, такие:
Смысл заключается в том, чтобы собрать устройство, которое за монетку дает конфетку. В данном случае драже TIC-TAC. Чем не техническое задание для пытливого ума. Поэтому вызов был принят и я принялся за дело. О том, что у меня получилось я снял целый ролик:
Для сборки использовались:
1 x Arduino Pro Mini
1 x Сервопривод SG90
1 x Оптический сенсор TCRT5000
1 x Распаечная коробка из магазина электрики
1 x Аккумулятор 9V
C++:
/**************************************************************
sweet.ino
BlackBug Engineering
07.11.2018
https://github.com/dbprof/sweet
***************************************************************/

///////////////////////////////ДАТЧИК_ПРИСУТСТВИЯ///////////////////////////////
#define SENSOR_PIN 10

///////////////////////////////СЕРВОПРИВОД///////////////////////////////
// добавляем библиотеку для работы с сервоприводами
#include <Servo.h>
#define SSERVO_PIN 9
Servo SServo;
bool isServoAttached = false;
void attachServo() {
  if (!isServoAttached) {
    SServo.attach(SSERVO_PIN);
    isServoAttached = true;
  }
}
void detachServo() {
  if (isServoAttached) {
    SServo.detach();
    isServoAttached = false;
  }
}
void closeGate() {
  attachServo();
  SServo.write(100);
  delay(300);
  SServo.write(98);
  delay(300);
  SServo.write(102);
  delay(300);
  SServo.write(100);
  delay(300);
  detachServo();
}
void openGate() {
  attachServo();
  SServo.write(108);
  delay(300);
  SServo.write(106);
  delay(300);
  SServo.write(110);
  delay(300);
  SServo.write(108);
  delay(300);
  detachServo();
}
void passOne() {
  openGate();
  delay(2000);
  closeGate();
}

void setup() {
  closeGate();

}

void loop() {
  if (digitalRead(SENSOR_PIN))
  {
    delay(1000);
    passOne();
    delay(1000);
    return;
  }
}
Схема подключения (Скетч для Arduino, схема и другие подробности также на GitHub):
 
  • Лойс +1
Реакции: TAUFYN