Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Умный подсолнух на Arduino: поворачивается к свету — проект к Дню св. Валентина

Компоненты и материалы

Arduino Pro Mini 5V/16MHz (компактный, для встраивания) × 1
Фоторезистор (мини-фотоэлемент) — датчик освещённости × 1
Сервопривод металлический (MG996R или аналогичный) × 1
3D-печатаемые детали (PETG/PLA + гибкий филамент для травы) × 1 комплект
Тонкая стальная проволока (для лепестков и сепалей) × ~1 м
Гвоздик/винтики М2 (крепеж сервы и сепаля) × несколько

Инструменты

Сервисы

О проекте

К Дню св. Валентина хотели сделать романтичный гаджет. На окне стоял пластиковый подсолнух — идея: сделать цветок, который поворачивается за светом, как настоящий гелиантус. После нескольких итераций печати получился Valentine's Sunflower.

Электроника

  1. Откройте готовый билд на circuito.io с нужными компонентами.
  2. При необходимости замените Pro Mini на другой Arduino — проверьте, помещается ли в корпус.
  3. Нажмите Generate (красная кнопка).
  4. Проверьте список деталей (Step-by-Step guide) — там же ссылки на покупку.
  5. Соберите схему по пошаговому гайду (проводка, резисторы, джамперы).
  6. Скачайте сгенерированный код, откройте в Arduino IDE, загрузите в Pro Mini.
  7. Замените функцию loop() на финальный код ниже (верхнюю часть с пинами/библиотеками оставьте).
Умный подсолнух на Arduino: поворачивается к свету — проект к Дню св. Валентина
Умный подсолнух на Arduino: поворачивается к свету — проект к Дню св. Валентина
Умный подсолнух на Arduino: поворачивается к свету — проект к Дню св. Валентина

Механика (3D-печать и сборка)

Печатаемые детали (STL в разделе «Custom parts»):

Сборка:

Код (финальная версия loop)

/* Настройка пинов и библиотек оставляется от circuito.io */
/* This code sets up the essentials for your circuit to work. It runs first every time your circuit is powered with electricity. */
void setup() {
  Serial.begin(9600);
  Serial.println("start");
  servo.attach(SERVO_PIN_SIG);
  servo.write(servoRestPosition);
}

/* This code is the main logic of your circuit. It defines the interaction between the components you selected. After setup, it runs over and over again, in an eternal loop. */
void loop() {
  // Текущее освещение, усреднённое за 1000 измерений
  ldrSample = ldr.readAverage(1000);
  Serial.print(ldrSample); Serial.print('\t');

  // Маппинг диапазона фоторезистора (200..900) → угол сервы (10..95°)
  servoRestPosition = map(ldrSample, 200, 900, 10, 95);
  servoRestPosition = constrain(servoRestPosition, 10, 95);
  Serial.println(servoRestPosition);

  servo.write(servoRestPosition);
  delay(1000 * 20); // опрос каждые 20 секунд
}

3D-модели (STL)

Ссылки на скачивание доступны в оригинальном проекте.

Советы

Производственный процесс

  1. Семена подсолнечника: вкусный, питательный снек с древними корнями
  2. Система избегания препятствий с ИИ (Q-learning) на Arduino и ультразвуковых датчиках
  3. Интерактивный гироскопический LED-дисплей на NeoPixel Ring и Arduino
  4. DIY USB-геймпад на Arduino: собственный высокопроизводительный контроллер
  5. DIY-костюм «Облако»: LED-лента, Arduino Nano и детали SparkFun
  6. Промышленный робот-линейный следователь для транспортировки материалов
  7. Pixie: DIY-наручные часы на Arduino Pro Mini и NeoPixel — стильный светодиодный тахометр времени
  8. Умная бутылка для воды на Arduino: мониторинг и напоминания в реальном времени
  9. DIY Теневой театр на Arduino и адресной LED-ленте: световое шоу к праздникам
  10. Arduino Sunflower: электронный подсолнух, следящий за солнцем