Самооткрывающаяся урна или коробка
10.05.2020 6 471 0 +263 Rexton

Самооткрывающаяся урна или коробка

---
+263
В закладки
Самооткрывающаяся урна или коробка distance, самодельной, чтобы, const, можно, берёт, duration, Сервопривод, servowrite50, range, means, meter, duration2, datasheetdistance, devided, Distance, pinduration, pulseInechoPin, servowrite160, input

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

Мастер составляет схему. Сервопривод - Tower Pro MG996R, запитать его следует так, чтобы стабилизатор, встроенный в Arduino, задействован не был.

Самооткрывающаяся урна или коробка distance, самодельной, чтобы, const, можно, берёт, duration, Сервопривод, servowrite50, range, means, meter, duration2, datasheetdistance, devided, Distance, pinduration, pulseInechoPin, servowrite160, input

Компоненты отдельно:

Самооткрывающаяся урна или коробка distance, самодельной, чтобы, const, можно, берёт, duration, Сервопривод, servowrite50, range, means, meter, duration2, datasheetdistance, devided, Distance, pinduration, pulseInechoPin, servowrite160, input

Самооткрывающаяся урна или коробка distance, самодельной, чтобы, const, можно, берёт, duration, Сервопривод, servowrite50, range, means, meter, duration2, datasheetdistance, devided, Distance, pinduration, pulseInechoPin, servowrite160, input

Самооткрывающаяся урна или коробка distance, самодельной, чтобы, const, можно, берёт, duration, Сервопривод, servowrite50, range, means, meter, duration2, datasheetdistance, devided, Distance, pinduration, pulseInechoPin, servowrite160, input

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

Самооткрывающаяся урна или коробка distance, самодельной, чтобы, const, можно, берёт, duration, Сервопривод, servowrite50, range, means, meter, duration2, datasheetdistance, devided, Distance, pinduration, pulseInechoPin, servowrite160, input

Приклеивает его к такой самодельной детали:

Самооткрывающаяся урна или коробка distance, самодельной, чтобы, const, можно, берёт, duration, Сервопривод, servowrite50, range, means, meter, duration2, datasheetdistance, devided, Distance, pinduration, pulseInechoPin, servowrite160, input

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

Самооткрывающаяся урна или коробка distance, самодельной, чтобы, const, можно, берёт, duration, Сервопривод, servowrite50, range, means, meter, duration2, datasheetdistance, devided, Distance, pinduration, pulseInechoPin, servowrite160, input

Затем берёт дальномер:

Самооткрывающаяся урна или коробка distance, самодельной, чтобы, const, можно, берёт, duration, Сервопривод, servowrite50, range, means, meter, duration2, datasheetdistance, devided, Distance, pinduration, pulseInechoPin, servowrite160, input

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

Самооткрывающаяся урна или коробка distance, самодельной, чтобы, const, можно, берёт, duration, Сервопривод, servowrite50, range, means, meter, duration2, datasheetdistance, devided, Distance, pinduration, pulseInechoPin, servowrite160, input

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

Самооткрывающаяся урна или коробка distance, самодельной, чтобы, const, можно, берёт, duration, Сервопривод, servowrite50, range, means, meter, duration2, datasheetdistance, devided, Distance, pinduration, pulseInechoPin, servowrite160, input

Мастер заливает короткий скетч (30 строк), требующий этой библиотеки:

#includeServo 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 pinduration = 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 onedelay(60);}

В программе можно подкорректировать углы поворота, особенно при применении сервопривода отличающегося типа, а также чувствительность дальномера. Мастер проверяет конструкцию:

Самооткрывающаяся урна или коробка distance, самодельной, чтобы, const, можно, берёт, duration, Сервопривод, servowrite50, range, means, meter, duration2, datasheetdistance, devided, Distance, pinduration, pulseInechoPin, servowrite160, input

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

Самооткрывающаяся урна или коробка distance, самодельной, чтобы, const, можно, берёт, duration, Сервопривод, servowrite50, range, means, meter, duration2, datasheetdistance, devided, Distance, pinduration, pulseInechoPin, servowrite160, input

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

уникальные шаблоны и модули для dle
Комментарии (0)
Добавить комментарий
Прокомментировать
[related-news]
{related-news}
[/related-news]