Мазмұны:

Жарық диодтары мен гравитация?: 4 қадам
Жарық диодтары мен гравитация?: 4 қадам

Бейне: Жарық диодтары мен гравитация?: 4 қадам

Бейне: Жарық диодтары мен гравитация?: 4 қадам
Бейне: Мир! Труд! Линк! ► 3 Прохождение The Legend of Zelda: Breath of the Wild (Nintendo Wii U) 2024, Шілде
Anonim
Жарық диодтары мен гравитация?
Жарық диодтары мен гравитация?

Бұл жоба іс жүзінде қолданылмайды, бірақ Arduino-да C-кодтағы гравитацияға байланысты физика формулаларын енгізуге арналған жаттығу ретінде басталды. Көрінетін көріну үшін 74 светодиоды бар неопиксельді жарықдиодты жолақ қолданылды. Гравитациялық үдеудің объектіге әсері MPU-6050 акселерометр мен гироскоп чипінің көмегімен көрсетіледі. Бұл чип жарық диодты жолаққа физикалық түрде бекітілген, сондықтан жарық диодты жолақ белгілі бір бұрышта ұсталған кезде, чип жарық диодты жолақтың бұрышын өлшейді және Arduino бұл ақпаратты виртуалды объектінің орнын жаңарту үшін қолданады. пучкаға теңестірілген және егер бұрыш бұрышта ұсталса, бір жағынан екінші жағына домалайтын шар болды. Жарық диодты жолақта виртуалды объектінің орналасуы жарықтандырылған жалғыз жарықдиод ретінде көрсетіледі.

Ауырлық күшінің әсерінен жерге құлап түсетін виртуалды объектінің орнын жаңарту үшін мына формуланы қолданамыз:

y = y0 + (V0 * t) + (0,5 * a * t^2)

Бар:

y = метрмен жүріп өткен қашықтық y0 = метрдегі бастапқы қашықтық v0 = метрдегі/секундтағы старт жылдамдығы a = метрдегі үдеу (гравитация)^2 t = секундтағы уақыт

1 -қадам: Схема

Схема
Схема

Arduino Pro Mini +5В штепсельіне +5В қосқышты тікелей 5В реттегіштің шығысы болып табылады. Бұл сәл православиелік болып көрінуі мүмкін, бірақ Вин ашық қалса, сіз полярлықты өзгертпесеңіз, ол проблема туғызбайды, себебі бұл сіздің Arduino -ны қуыратыны сөзсіз.

MPU6050 акселерометр мен гироскоп микросхемасы 5В -тен 3В3 дейін төмен қуатты түрлендіргіш модулі арқылы жұмыс істейді және I2C интерфейсі (SDA, SCL) арқылы Arduino -мен сөйлеседі. Arduino Pro Mini көмегімен SDA A4 -ке, SCL A5 -ке қосылған, екеуі де Arduino Pro Mini ПХД -де орналасқан. Мен қолданатын Pro Mini нұсқасымен A4 және A5 ПХД ішінде орналасқан (2 тесік) және ПХД бүйіріндегі түйреуіштер арқылы кіру мүмкін емес. MPU6050 -де жаңа деректер болған кезде Arduino -ға хабарлау үшін қолданылатын үзіліс шығысы (INT) бар. 74 светодиоды бар WS2812B неопиксельді жарықдиодты жолақ 5В тікелей қоректенеді және Arduino шығысына қосылған 1 деректер желісі (DIN) бар.

2 -қадам: Бағдарламалық қамтамасыз ету

Мен эскиз (.ino) пайдаланатын барлық драйверлерді кітапханаларды пайдаланудың орнына нобаймен бір қалтаға саламын. Мұның себебі - мен драйверлердің жаңартылуын қаламаймын, қателердің кіріп кетуіне жол бермеу үшін және драйверлерге жасаған өзгертулер жаңартулармен қайта жазылады.

Міне, жоба файлдарының тізімі:

  • Balancing_LED_using_MPU6050gyro.ino: эскиздік файл
  • MPU6050.cpp / MPU6050.h: MPU6050 акселерометр және гироскоп драйвері
  • MPU6050_6Axis_MotionApps20.h: MPU6050 DMP (цифрлық қозғалыс процессоры) анықтамалары мен функциялары
  • helper_3dmath.h: Кватерниондар мен бүтін немесе өзгермелі векторлардың класс анықтамалары.
  • I2Cdev.cpp / I2Cdev.h: I2C драйвері Arduino сымдық кітапханасын қолданады
  • LEDMotion.cpp / LEDMotion.h: MPU6050 арқылы өлшенген жарық диодты жолақ пен бұрышты қолдана отырып, гравитациялық жарық диодты балансты енгізу.

3 -қадам: Суреттер

Ұсынылған: