TrigonoDuino - Как да измерим разстоянието без сензор: 5 стъпки
TrigonoDuino - Как да измерим разстоянието без сензор: 5 стъпки
Anonim
TrigonoDuino - Как да измерваме разстоянието без сензор
TrigonoDuino - Как да измерваме разстоянието без сензор
TrigonoDuino - Как да измерваме разстоянието без сензор
TrigonoDuino - Как да измерваме разстоянието без сензор
TrigonoDuino - Как да измерваме разстоянието без сензор
TrigonoDuino - Как да измерваме разстоянието без сензор

Този проект е направен за измерване на разстояние без търговски сензор. Това е проект за разбиране на тригонометрични правила с конкретно решение. Може да се адаптира за някои други тригонометрични изчисления. Cos Sin и други функционират с Math.h.

Това е първа версия на прототип на този вид мярка с лазерни лъчи, всякакви предложения или съвети са добре дошли.

Използва се математически за измерване на разстояние с правила за тригонометрия.

Работи с два лазерни диода, серво мотор SG90, един потенциометър 10k и Arduino Uno.

Точността е около +- 2 мм за разстояние <1 метър, разстоянието се показва на сантиметър. Ако искате да конвертирате на инч, 1 см = 0, 393701 инча, трябва да разделите на 2, 54. Може да загубите точна прецизност с по -голямо разстояние, причина за малък ъгъл на отместване на А (вместо 90 ° може да имате 90,05 °).

Обяснение:

Потенциометърът премества лазера C на серво мотора, това дава ъгъл C на Arduino. Лазерна точка дава прав ъгъл. Преместете точката на лазера (C) с потенциометър нагоре, за да наслагвате двата лазерни лъча, това дава точка B.

Съвети: Регулирайте лазерните лъчи с лазерна винтова леща нагоре, за да получите перфектна лазерна точка.

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

Списък на частите
Списък на частите
Списък на частите
Списък на частите
Списък на частите
Списък на частите
Списък на частите
Списък на частите

Основен:

-Два лазера:

- Arduino Uno:

-Серво мотор:

-10k потенциометър:

-Dupont Wire:

Инструмент:

-Поялник:

(Имам този и е много добър поялник, на работа използвам Weller, но за себе си го използвам)

Опционално:

-Резистори:

Стъпка 2: Окабеляване на електроника

Електроника за окабеляване
Електроника за окабеляване
Електроника за окабеляване
Електроника за окабеляване
Електроника за окабеляване
Електроника за окабеляване
Електроника за окабеляване
Електроника за окабеляване

Свържете диодни излъчватели, 5V към червен проводник и GND към син проводник.

Свържете Servo Red към 5V, черно към GND и оранжево към Arduino Digital Pin 3.

Свържете левия щифт на потенциометъра към цифров пин 8, десния щифт към цифров пин 9 и средния щифт към аналоговия щифт A0. За мен левият щифт е виолетов.

Вижте схемата преди да включите захранването. Внимавайте с лазерните лъчи, това може да увреди очите ви. Можете да добавите резистори между червения проводник на диоди и arduino, 10k се използва на модул KY008.

Съвет: Нуждаете се от запояващо желязо за подготовка на проводници Dupont за лазери и потенциометър.

Стъпка 3: 3D печат на плочата

3D печат на плочата
3D печат на плочата
3D печат на плочата
3D печат на плочата
3D печат на плочата
3D печат на плочата
3D печат на плочата
3D печат на плочата

Проектиран с Autocad и експортиран в STL формат.

www.autodesk.fr/products/autocad/overview

Печатната опростена версия е по -добра за вас, използвайте винт, присъстващ с SG90, за да го поправите. Центърът на серво трябва да бъде вдясно на поддръжката изглежда като снимки.

Важно:

Задайте серво на (0) градус, преди да залепите второто парче към серво мотора. Поставете лазерните указатели на паралелно положение със Servo (0), заменете val с 0: monServomoteur.write (0);.

Не поставяйте още, изчакайте края на следващата стъпка.

Стъпка 4: Кодът на Arduino

Кодът на Ардуино
Кодът на Ардуино
Кодът на Ардуино
Кодът на Ардуино
Кодът на Ардуино
Кодът на Ардуино

Можете да намерите кода, за да го използвате.

Изтеглете и инсталирайте Arduino IDE:

Изисква се добавяне на библиотеката Math.h към проекта.

Триъгълникът е правоъгълник на ъгъла А, ние знаем, че AC е 14 см, а сервомоторът дава ъгъла C, също така изчисляваме ъгъла B за измерване на разстоянието AB с Tan (B), B е кръстовището между 2 лазерни точки. Общият ъгъл на триъгълника е равен на 180 °, с ъгъл 90 ° на А.

Измерването на разстоянието започва близо до лазера на ъгъл А.

Ако нямате OLED екран, използвайте TrigonoDuinoSerial.ino. Използвах SSD1306 Oled екран, за да го използвам без компютър.

Nb: Може ли да промените 4064 до 1028, зависи от дъската на Arduino. За мен аналоговият извод на Wavgat R3 върна стойност между 0 и 4064, но за някои други е 0 и 1028.

Редактиране: функцията на картата не е подходяща за прецизност, режимът на изчисление е променен в новата версия на кода за използване двойно вместо дълъг тип променлива. Цикълът "за" беше увеличен за по -добра стабилна стойност на серво мотора.

Монтирането на лазери на техните места задайте servo.write на 0 и поставете задържащия лазерен корпус в центъра на серво. Лазерите трябва да са паралелни. Регулирайте лазерните лъчи на същата височина и показалките трябва да са на същото разстояние като самите лазери.

Стъпка 5: Тестова мярка

Тестова мярка
Тестова мярка
Тестова мярка
Тестова мярка
Тестова мярка
Тестова мярка

Сега преминете към измервателния тест. Ако е необходимо, регулирайте дължината на променлив ток към центъра до центъра на корпусите на лазерите.

Завъртете потенциометъра бавно с малка стъпка. Можете да регулирате лазерния фокус (завъртете лазера с винтова глава) за прецизно насочване на голямо разстояние.

Можете да измерите няколко метра с този уред, но прецизността ще бъде по -малко точна. Измерванията под 1 метър са наистина добри.

Напред:

Например, можете да поставите второ серво под първия лазер за измерване, но се нуждае от повече изчисления. Това би могло да бъде чудесно нещо за младите ученици, изучаващи тригонометрия, като даде истинско приложение на математиката.

Можете да поставите по -добър серво мотор и да добавите някои потенциометри за увеличаване на прецизността (1 потенциометър за 15 ° например) и обхвата на измерване на разстоянието.

Може да добави странично изместване на серво за бърза промяна на AC дължината.

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