Умный подсолнух на Arduino: поворачивается к свету — проект к Дню св. Валентина
Компоненты и материалы
| Arduino Pro Mini 5V/16MHz (компактный, для встраивания) | × | 1 |
| Фоторезистор (мини-фотоэлемент) — датчик освещённости | × | 1 |
| Сервопривод металлический (MG996R или аналогичный) | × | 1 |
| 3D-печатаемые детали (PETG/PLA + гибкий филамент для травы) | × | 1 комплект |
| Тонкая стальная проволока (для лепестков и сепалей) | × | ~1 м |
| Гвоздик/винтики М2 (крепеж сервы и сепаля) | × | несколько |
Инструменты
- 3D-принтер (для гибкой травы — Filaflex/TPU)
- Паяльник, припой, термоусадка
- Arduino IDE + кабель USB-UART для Pro Mini
Сервисы
- circuito.io — автоматическая генерация схемы, кода и BOM
- Arduino IDE
О проекте
К Дню св. Валентина хотели сделать романтичный гаджет. На окне стоял пластиковый подсолнух — идея: сделать цветок, который поворачивается за светом, как настоящий гелиантус. После нескольких итераций печати получился Valentine's Sunflower.
Электроника
- Откройте готовый билд на circuito.io с нужными компонентами.
- При необходимости замените Pro Mini на другой Arduino — проверьте, помещается ли в корпус.
- Нажмите Generate (красная кнопка).
- Проверьте список деталей (Step-by-Step guide) — там же ссылки на покупку.
- Соберите схему по пошаговому гайду (проводка, резисторы, джамперы).
- Скачайте сгенерированный код, откройте в Arduino IDE, загрузите в Pro Mini.
- Замените функцию
loop()на финальный код ниже (верхнюю часть с пинами/библиотеками оставьте).



Механика (3D-печать и сборка)
Печатаемые детали (STL в разделе «Custom parts»):
- 1 × base (основание)
- 1 × bar (рычаг)
- 1 × tie (связка)
- 1 × sepal (чашелистик)
- 6 × petal (лепестки)
- 10 × grass (трава) — обязательно гибкий филамент (Filaflex/TPU)
Сборка:
- Лепестки, рычаг и чашелистик соединяются тонкой стальной проволокой (в моделях есть технологические отверстия).
- Сервопривод: 2 винтика к базе, гвоздик/ось к чашелистику.
- Фоторезистор устанавливается в отверстии в базе, под ногой сервы.
Код (финальная версия 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)
- Sunflower bar
- Sunflower - Petal
- Sunflower - base
- Sunflower - Sepal
- Sunflower - grass
- Sunflower - tie
Ссылки на скачивание доступны в оригинальном проекте.
Советы
- Калибруйте пороги
map()под ваш фоторезистор и освещение комнаты. - Для плавности можно добавить сглаживание (EMA) угла сервы.
- Питание: 5В от USB или Li-ion через LDO.
Производственный процесс
- Семена подсолнечника: вкусный, питательный снек с древними корнями
- Система избегания препятствий с ИИ (Q-learning) на Arduino и ультразвуковых датчиках
- Интерактивный гироскопический LED-дисплей на NeoPixel Ring и Arduino
- DIY USB-геймпад на Arduino: собственный высокопроизводительный контроллер
- DIY-костюм «Облако»: LED-лента, Arduino Nano и детали SparkFun
- Промышленный робот-линейный следователь для транспортировки материалов
- Pixie: DIY-наручные часы на Arduino Pro Mini и NeoPixel — стильный светодиодный тахометр времени
- Умная бутылка для воды на Arduino: мониторинг и напоминания в реальном времени
- DIY Теневой театр на Arduino и адресной LED-ленте: световое шоу к праздникам
- Arduino Sunflower: электронный подсолнух, следящий за солнцем