Автор Arduino Project Hub под ником ashraf_minhaj рассказывает, как сделать урну или коробку с лёгкой крышкой самооткрывающейся. Лицензия - LGPL.
Мастер составляет схему. Сервопривод - Tower Pro MG996R, запитать его следует так, чтобы стабилизатор, встроенный в Arduino, задействован не был.
Компоненты отдельно:


Мастер берёт рычаг из комплекта сервопривода:
Приклеивает его к такой самодельной детали:

Устанавливает всё это вместе на сервопривод:

Затем берёт дальномер:
Размещает его на самодельной урне под углом как показано ниже, а заодно и всё остальное устанавливает. Сервопривод размещает так, чтобы он открывал крышку. Конструкция урны или коробки произвольная, при условии, что крышка лёгкая.

Сервопривод в положении, соответствующем открытой крышке:

Мастер заливает короткий скетч (30 строк), требующий этой библиотеки:
#include<Servo.h>
Servo servo;
int const trigPin = 6;
int const echoPin = 5;
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
servo.attach(3);
}
void loop()
{ int duration, distance;
digitalWrite(trigPin, HIGH);
delay(1);
digitalWrite(trigPin, LOW);
// Measure the pulse input in echo pin
duration = pulseIn(echoPin, HIGH);
// Distance is half the duration devided by 29.1 (from datasheet)
distance = (duration/2) / 29.1;
// if distance less than 0.5 meter and more than 0 (0 or less means over range)
if (distance <= 50 && distance >= 0) {
servo.write(50);
delay(3000);
} else {
servo.write(160);
}
// Waiting 60 ms won't hurt any one
delay(60);
}
В программе можно подкорректировать углы поворота, особенно при применении сервопривода отличающегося типа, а также чувствительность дальномера. Мастер проверяет конструкцию:

Затем проделывает небольшой моддинг и снова проверяет:

Переделав аппаратную и программную части, можно получить самовыдвигающийся ящик стола.
Источник (Source)
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.