Агуулгын хүснэгт:

LED ба таталцал?: 4 алхам
LED ба таталцал?: 4 алхам

Видео: LED ба таталцал?: 4 алхам

Видео: LED ба таталцал?: 4 алхам
Видео: РАЗДАЕТ WIFI СЛЕДИТ ЗА ЧЕЛОВЕКОМ 4G камера видеонаблюдения 2024, Арваннэгдүгээр
Anonim
LED ба хүндийн хүч?
LED ба хүндийн хүч?

Энэхүү төсөл нь ямар ч практик хэрэглээ биш боловч таталцлын хүчний физикийн томъёог Arduino дээрх C-код дээр хэрэгжүүлэх дасгал болгон эхлүүлсэн. Аливаа зүйлийг харагдуулахын тулд 74 LED бүхий неопиксел LED туузыг ашигласан. Таталцлын хурдатгалын объектод үзүүлэх нөлөөг MPU-6050 акселерометр ба гироскопын чип ашиглан харуулдаг. Энэхүү чип нь LED туузанд физик байдлаар холбогдсон тул LED туузыг тодорхой өнцгөөр барих үед чип нь LED зурвасын өнцгийг хэмждэг бөгөөд Arduino нь энэхүү мэдээллийг ашиглан виртуал объектын байрлалыг шинэчилж байгаа мэт шинэчилдэг. нь дам нуруун дээр тэнцвэртэй, нэг талаас нөгөө тийш эргэлддэг бөмбөг байв. Виртуал объектын байрлалыг LED зурвас дээр гэрэлтүүлэгтэй ганц LED байдлаар зааж өгсөн болно.

Хүндийн хүчний нөлөөн дор дэлхий рүү унаж буй виртуал объектын байршлыг шинэчлэхийн тулд бид дараах томъёог ашиглана.

y = y0 + (V0 * t) + (0.5 * a * t^2)

Хамт:

y = метрээр явсан зай y0 = метрээр эхлэх зай v0 = метр/секундээр эхлэх хурд a = метрээр хурдатгал (хүндийн хүч)^2 t = секундээр цаг

Алхам 1: Хэлхээ

Хэлхээ
Хэлхээ

Arduino Pro Mini нь +5V -ийн тэжээлийг +5V -ийн зүүгээр тэжээх замаар тэжээгддэг бөгөөд энэ нь 5V -ийн зохицуулагчийн гаралт юм. Энэ нь жаахан ортодокс мэт санагдаж магадгүй, гэхдээ Винийг нээлттэй орхиход туйлыг нь буцаахгүй бол энэ нь асуудал үүсгэхгүй, учир нь энэ нь таны Arduino -г шарах болно.

MPU6050 акселерометр ба гироскопын чип нь бага хүчдэлийн 5V -аас 3V3 хүртэл хөрвүүлэгч модулаар тэжээгддэг бөгөөд I2C интерфэйсээр (SDA, SCL) дамжуулан Arduino -той ярьдаг. Arduino Pro Mini -ийн тусламжтайгаар SDA нь A4, SCL нь A5 -тэй холбогдсон бөгөөд хоёулаа Arduino Pro Mini ПХБ дээр байрладаг. Миний ашигладаг Pro Mini хувилбартай бол A4 ба A5 нь ПХБ -ийн дотор байрладаг (2 цооног) бөгөөд ПХБ -ийн хажуугийн зүү толгойгоор дамжуулан нэвтрэх боломжгүй байв. MPU6050 нь тасалдлын гаралттай (INT) бөгөөд энэ нь шинэ мэдээлэл байгаа үед Arduino -д мэдэгдэхэд ашиглагддаг. 74 LED бүхий WS2812B неопикселийн LED зурвас нь 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: Arduino утас номын санг ашиглан I2C драйвер
  • LEDMotion.cpp / LEDMotion.h: MPU6050 хэмжсэн LED тууз ба өнцгийг ашиглан хүндийн хүчний LED тэнцвэрийг хэрэгжүүлэх.

Алхам 3: Зураг

Зөвлөмж болгож буй: