Съдържание:

OUCH: 6 стъпки
OUCH: 6 стъпки

Видео: OUCH: 6 стъпки

Видео: OUCH: 6 стъпки
Видео: ❤️ Моята формула за щастие в 6 стъпки 2024, Юли
Anonim
ОУЧ
ОУЧ
ОУЧ
ОУЧ

Ouch е вашият личен всепосочен безполезен помощник за катаракта. Тъй като разпознаването на лица удари Zeitgeist, OUCH ви удря! OUCH не само знае как изглеждате, но и знае как да бъде много досадно! За разлика от големия брат, тази машина е много видима и изпълнява само една цел: да направи живота ви малко по -гаден. Забравили ли сте някога слънчевите си очила у дома и сте били изненадани от ярко отражение? OUCH ви позволява да преживявате този момент отново и отново. Като отразява светлината от най -яркия светлинен източник около вас право в лицето ви, той ще се увери, че няма да се насладите на нито един момент около него.

Внимавайте, или ОУЧ може да е последното нещо, което някога ще видите!

Проектът се проведе като част от семинара за изчислително проектиране и цифрово производство в магистърската програма ITECH.

Август Лереке | Макс Зорн

Консумативи

Електронни части:

Arduino

  • Arduino UNO

    • 2x Reely Mini-Servo S0009
    • 4x фоторезистори
    • 4x 10k резистори
    • 2x потенциометри
    • 1x USB кабел за принтер

Малина Пи

  • Rasberry Pi 4

    • 1x RaspiCam
    • 4x Reely Mini-Servo S0009
    • 1x PCA9685 16-канален 12-битов PWM серво драйвер
    • 5v DC външно захранване
    • 1x Rasberry Pi 5.1V - 3Amp захранване (или външен еквивалент)
    • 1x MAKERFACTORY HC-SR05 Ultraschallsensor (MF-6402156)
    • 1x 470 ома резистор
    • 1x 320 Ohm резистор

3D отпечатани части:

OUCH се предлагат в различни форми и размери. За тази версия използвахме 3D принтер за отпечатване на персонализирани механизми.

  • 4 x стойка
  • 2 x Основа S
  • 1 x Основа L
  • 2 x Двойна ротационна основа
  • 1 x Основа за въртене единична
  • 1 x Комплект поддръжка на ос S
  • 1 x Комплект поддръжка на оста M
  • 1 x Комплект поддръжка на оста L
  • 1 x Стойка за камера
  • 1 x Light Mount
  • 1 x Огледален монтаж

По желание можете да използвате предоставения дизайн на Tower, за да преместите компонентите на:

  • 1 x кула (вместо 4 x стойка)
  • 1 x Base S & 1x Base M (вместо 2 x Base S)

Други части:

  • Милар
  • 1 х гумена лента
  • 1 x вратовръзка с цип
  • 12 винта M5 x 160 с плоска глава
  • 2 винта с плоска глава M5 x 80

Инструменти:

  • 3D принтер
  • Отвертка H3.0
  • Пистолет за горещо лепило

Стъпка 1: Стъпка 1: Отпечатване на частите

Ако имате достъп до 3D принтер, можете да отпечатате персонализирани механизми за поставяне на сервомоторите и монтиране на трите основни компонента.

За компонента Face се нуждаем от:

  • 2 x Стойки
  • 1 x Основа L
  • 1 x Двойна въртяща се основа
  • 1 x Комплект поддръжка на оста M
  • 1 x Монтаж на сензор за камера и разстояние

Светлинният компонент изисква:

  • 1 x стойка
  • 1 x Основа S
  • 1 x Двойна въртяща се основа
  • 1 x Комплект поддръжка на ос S
  • 1 x Light Mount

Компонентите на Mirror се състоят от следното:

  • 1 x стойка
  • 1 x Основа S
  • 1 x въртяща се база единична
  • 1 x Комплект поддръжка на оста L
  • Огледален монтаж

И накрая, можете също да отпечатате предоставената кула.

Ако искате да го използвате като основа за трите компонента, ще трябва да коригирате съответно векторната математика в кода. Освен това свържете компонента Face с Base M вместо Base L към кулата.

Стъпка 2: Стъпка 2: Направете огледалото

Стъпка 2: Направете огледалото
Стъпка 2: Направете огледалото
Стъпка 2: Направете огледалото
Стъпка 2: Направете огледалото

За да направите свой собствен огледален компонент, изрежете кръгло парче Mylar и го поставете върху 3D отпечатаната огледална част. След това първо използвайте гумена лента, за да я фиксирате на място. Гумената лента трябва да се впише в канала около компонента. След това използвайте цип, за да закрепите внимателно връзката, все още не я затягайте прекалено много. Сега можете да започнете да разтягате Mylar, докато не получите лъскава, огледална повърхност. И накрая, затегнете вратовръзката с цип и се насладете на отражението на красивото си лице!

Стъпка 3: Стъпка 3: Сглобяване на компонентите

Стъпка 3: Сглобяване на компонентите
Стъпка 3: Сглобяване на компонентите
Стъпка 3: Сглобяване на компонентите
Стъпка 3: Сглобяване на компонентите
Стъпка 3: Сглобяване на компонентите
Стъпка 3: Сглобяване на компонентите
Стъпка 3: Сглобяване на компонентите
Стъпка 3: Сглобяване на компонентите

Компонент за лице

  1. Горещо залепете юмручния серво в съответния изрез на въртящата се основа
  2. Залепете Servo конектора в жлеба, разположен в долната част на основната част
  3. Поставете двете основни части заедно, така че Servo да се заключи с конектора
  4. Използвайте винта на Servo, за да фиксирате конектора към Servo
  5. Горещо залепете второто съединително парче в съответния жлеб, разположен в горната част на опората на оста
  6. Използвайте 4 болта M5, за да завиете опората на оста към въртящата се основа
  7. Горещо лепило второто Servo към стойката
  8. Плъзнете камерата върху щифтовете
  9. Прикрепете ултразвуковия сензор за разстояние към стойката, чрез завинтване или горещо залепване
  10. Свържете стойката на камерата / сензора към опората на оста, Servo отново трябва да се плъзне в съединителя
  11. Използвайте винта на Servo, за да фиксирате конектора към Servo
  12. Завийте Raspberry Pi и серво драйвера към парче шперплат (Уверете се, че разстоянието съвпада с отворите на основата L)
  13. Завийте лицевия компонент към стойките, като използвате болтове M5

Огледален компонент

  1. Следвайте стъпки от 1 до 7
  2. Свържете огледалото към опората на оста
  3. Залепете стойка за огледала към шперплат, така че огледалото и лицето да са подравнени
  4. Завийте огледалния компонент към стойката, като използвате болтове M5

Лек компонент

  1. Следвайте стъпки от 1 до 7 отгоре
  2. Прокарайте сензорите за светлина през монтажните отвори в долната част на засенчващия кръст
  3. Свържете засенчващия кръст към опората на оста, Servo отново трябва да се плъзне в съединителната част
  4. Използвайте винта на Servo, за да фиксирате конектора към Servo
  5. Залепете стойка към шперплат, така че светлинният, огледалният и лицевият компонент да са подравнени, а огледалото да е между компонентите лице и светлина
  6. Завийте лицевия компонент към стойките, като използвате болтове M5

*Всички компоненти също могат да бъдат прикрепени към кулата, но имайте предвид увеличената сложност на кодирането и окабеляването и времето за печат. Ако искате да използвате кулата, използвайте частта Base M вместо база L за компонента Face и завийте базовите части към кулата, като използвате отворите и болтовете M5.

Стъпка 4: Стъпка 4: Конфигурирайте дъските

Стъпка 4: Конфигурирайте дъските
Стъпка 4: Конфигурирайте дъските
Стъпка 4: Конфигурирайте дъските
Стъпка 4: Конфигурирайте дъските
Стъпка 4: Конфигурирайте дъските
Стъпка 4: Конфигурирайте дъските

Ето схемата на свързване на трите компонента. Слънчевият тракер действа на свой собствен цикъл на Arduino и изпраща своите серво позиции към Rasberry Pi през серийния USB порт. Допълнителен сензор за разстояние може да бъде закачен към предната част на камерата за панорама/накланяне, за да се създаде по -здрава триангулация на целта. Тук ще ги подредим по права линия и просто ще осредним векторите, така че не се изисква.

Четири сервомотора са свързани към серво драйвера PCA9685, който се захранва от външно 5v захранване. Два от сервомоторите контролират панорамата и наклона за камерата за проследяване на лицето, докато останалите два контролират панорамата и наклона за огледалото.

Стъпка 5: Кодът:

Кодът
Кодът

Кодът за този проект може да бъде разделен на две части: Кодът за проследяване на светлината на Arduino и кодът за проследяване на лицето на огледалото/огледалото на Python.

Код на Arduino:

Този код е леко модифицирана версия на проекта за проследяване на слънцето от geobruce. Това е чудесна справка за научаване на повече за компонента за слънчево проследяване и повече подробности можете да намерите на тази страница с инструкции. Стойностите на интензитета на светлината се вземат от 4-те фоторезистора и се осредняват, за да се намери най-ярката зона и съответно да се настроят сервомоторите. След това записваме стойностите на ъгъла на серво към серийния порт.

Код на Python:

Този код интегрира отворена автобиография, за да създаде механизъм за накланяне на лицево проследяване на лицето, както и задвижва сервомоторите за огледалото. Ще трябва да преминете през някои стъпки, за да изтеглите отворено CV на вашия Raspberry pi. Има много ресурси за това, но много харесвам този от pyimagesearch. Пълно описание на този процес можете да намерите тук. Забележка: Ние сме изтеглили отворените CV библиотеки във виртуална среда, на която изпълняваме целия код, ако решите да направите това, уверете се, че изтегляте всички зависимости във виртуалната среда, в която изпълнявате програмата, а не самия Pi.

След като изтеглите отворена автобиография, този код също ще изисква още някои зависимости (инсталирани в конкретната среда, в която работите) за изпълнение:

  • Adafruit ServoKit: Пълна страница за процеса на изтегляне на малиновия Pi можете да намерите тук.
  • imutils
  • буца
  • gpiozero (ако използвате сензор за разстояние)

За проследяване на лица, скриптът изисква аргумент (--faces), който е.xml файл, който openCv използва за намиране на лица. Ще трябва да поставите този файл в същата директория като скрипта на python. Предоставих го при изтеглянията и може да се намери и тук.

Стъпка 6: Стартирайте кода

Изпълнение на кода
Изпълнение на кода
Изпълнение на кода
Изпълнение на кода

След като изтеглите целия код в една и съща директория и настроите виртуалната си среда с отворена автобиография, сте готови да я изпълните.

  1. Отворете командния ред на вашия pi
  2. Въведете workon cv (или каквото и име да изберете за вашата виртуална среда)
  3. Променете директорията на мястото, където имате съхранени файлове (cd (път към файлове))
  4. Последният ред изпълнява програмата и посочва каскадния файл haar. (python Face3.py -лица haarcascade_frontalface_default.xml)

Когато го стартирате, трябва да видите видео поток от picam изскачащ на екрана и командният ред ще започне да отпечатва серво стойностите от всичките шест серво.

И сте готови! В зависимост от качеството на сервомоторите, които имате, може да искате да ги калибрирате всеки специално, за да подобрите точността на вашата система. В крайна сметка се наложи да променим всички диапазони на ШИМ, за да работят правилно.

Препоръчано: