На информационном ресурсе применяются рекомендательные технологии (информационные технологии предоставления информации на основе сбора, систематизации и анализа сведений, относящихся к предпочтениям пользователей сети "Интернет", находящихся на территории Российской Федерации)

Сам себе мастер

161 473 подписчика

Свежие комментарии

  • Вера Федорова
    Давно уже сделала вывод; ничто не заменит собственные ручки. Этими плоскорезами сегодня траву содрал, а завтра- то же...Увидела у хитрого...
  • Сергей Семенов
    Ну, а что вы хотите, дети еГЭ, мозг на уровне 5 летнего ребёнка СССР.Увидела у хитрого...
  • Ингерман Ланская
    НИЩЕТА!!!Папа называет мен...

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

Автор 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); }

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

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

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

 

 

Ссылка на первоисточник

Картина дня

наверх