Мазмуну:

Arduino-Raspberry Pi үн тактасы: 9 кадам (сүрөттөр менен)
Arduino-Raspberry Pi үн тактасы: 9 кадам (сүрөттөр менен)

Video: Arduino-Raspberry Pi үн тактасы: 9 кадам (сүрөттөр менен)

Video: Arduino-Raspberry Pi үн тактасы: 9 кадам (сүрөттөр менен)
Video: Marlin configuration 2.0.9 - Basic firmware installs 2024, Ноябрь
Anonim
Arduino-Raspberry Pi үн тактасынын прототиби
Arduino-Raspberry Pi үн тактасынын прототиби

Arduino жана Raspberry Pi менен түзүлгөн үн тактасы 4 түрдүү үндү же ызы -чууну ойнотуунун жөнөкөй жолу болуп саналат, ал эми үн топтомун баскыч менен алмаштырууга жана учурдагы үн топтомун ЖК экран менен көрсөтүү мүмкүнчүлүгүнө ээ.

*Көңүл буруңуз: Долбоордун коду 99% аткарылды, бирок иштебейт.

Raspberry Pi 16x2 ЖК экранын жана айлануучу коддогучту башкарат, ал эми Arduino аналогдук кирүүлөрдү сезгич резисторлордон (FSRs) окуп, үндү ойнотуу үчүн Arduinoго сигнал жөнөтөт. Биз экөөбүз тең ушул класска чейин эч качан Arduino же Pi колдонгон эмеспиз, бирок биздин профессор бул долбоорду оңой коддоо жана куруу үчүн бизге керектүү куралдарды жана көрсөтмөлөрдү берди. TinkerCad, AutoDesk тарабынан бекер онлайн 3D моделдөө куралы, биздин долбоорду моделдөө үчүн колдонулган.

Долбоордун эң татаал бөлүгү Arduino менен Raspberry Piнин сериялык байланыш менен байланышуусуна жол табуу болгон. Биз башында долбоорду толугу менен колдонууну каалаганбыз, бирок FSRден аналогдук сигналды окуу үчүн бизге Arduino керек болчу. Биз жонокой Arduinoдон сөздөрдү же сандарды жөнөтө алдык жана аны Piде көрсөтө алдык, бирок көйгөй кайда болду, биз ошол баалуулуктарды Pythonго окуп, аларды иштетүү үчүн шарт билдирүүлөрүнө киргизүүгө аракет кылдык.

Чеберчилик талап кылынат

  • Arduino коддоо үчүн C/C ++ жөнүндө жөнөкөй түшүнүк
  • Raspberry Pi коддоо үчүн Python жөнүндө жөнөкөй түшүнүк
  • Нан тактасы кандайча зымдалганын билүү
  • Негизги 3D моделдөө көндүмдөрү
  • Программалоону, зымдарды жана кандайдыр бир тыкан нерсени үйрөнүүнү жана кеңейтүүнү каалоо

Тетиктер тизмеси

1 x Raspberry Pi 3

1 x Elegoo Uno ЖЕ Arduino Uno

1 x 830 Tread Breadboard

1 x GPIO Breakout Board (RSP-GPIO)

Breakout Board үчүн 1 лента кабели

4 x Small Force Сезгич резисторлор

1 x Негизги 16x2 Character LCD Screen

1 х Rotary Encoder Module

24 x Эркек -аял зымдары

10 x Эркектен эркекке зым

4 x 10k каршылыгы

1 x 10k потенциометр

1 х бак пенопластик тизе (доллар дүкөнү)

1 -кадам: FSRди Arduino менен текшериңиз

Arduino менен FSRди сынап көрүңүз
Arduino менен FSRди сынап көрүңүз

Биз биринчи Arduino менен FSR сынап көрүүнү чечтик. FSRs аналогдук сигналды жөнөтөт, ошондуктан биз Arduino колдонууга туура келди, анткени Pi башка схемаларсыз аналогду албайт. Биз пресстер жакшы басымда экенине ынануу үчүн босоголорду текшерүүнү кааладык. Биз аны 1000дин ичинен болжол менен 150 деп таптык. Arduino IDEдеги сериялык плоттер бул кадамга абдан жардам берди.

2 -кадам: Башкармалыктын пландарын түзүңүз

Башкармалыктын пландарын тартыңыз
Башкармалыктын пландарын тартыңыз
Башкармалыктын пландарын түзүңүз
Башкармалыктын пландарын түзүңүз

Андан кийин биз коллегиянын пландарын түзүп, өлчөдүк. Биз үндөрдү ойнотуу үчүн 4 подкладка, учурдагы үн тобун көрсөтүү үчүн ЖК экраны үчүн орун жана үн тобун өзгөртүү үчүн айлануучу коддогучка ээ болууну кааладык.

3 -кадам: TinkerCad программасын башкарыңыз

TinkerCad программасын башкарыңыз
TinkerCad программасын башкарыңыз
TinkerCad программасын башкарыңыз
TinkerCad программасын башкарыңыз
TinkerCad программасын башкарыңыз
TinkerCad программасын башкарыңыз

Пландар түзүлгөндөн кийин, биз тактайды Autodesk by TinkerCad деп аталган онлайн, бекер, 3D моделдөө веб -сайтында моделдештирдик. Биз муну чоң 3D моделдөө программасына көп акча коротууну каалабагандарга сунуштайбыз, анткени аны колдонуу оңой, булутка негизделген жана 3D басып чыгарууну толук колдойт.

Модель болгондон кийин, аны принтерге орнотуу үчүн 2 бөлүккө бөлүүгө туура келди. Бул чынында эле жакшы басылып чыкты, бирок менин катам ЖК экрандын уячасын анча жакшы эмес болчу (мындай ката кетирбеңиз!) Биз аларды текшерүүнү кааласаңыз сол жана оң жагы. STL файлдарын жүктөдүк.

4 -кадам: ЖК экранын текшериңиз

ЖК экранын сыноо
ЖК экранын сыноо

Биз буга чейин экранды Arduinoдо колдонгон элек жана аны орнотуу абдан оңой эле. Бирок, аны Pi менен иштетүү кыйыныраак болгон. Гуглда бир нече мүчүлүштүктөрдү оңдоо жана зымдар менен чуркоо менен биз акыры иштей баштадык. Сураныч, кантип иштээрин билүү үчүн аягында акыркы Python кодун караңыз. Бизге зым менен кодду жазууга жардам берүү үчүн бир нече веб -сайттарды колдондук.

learn.adafruit.com/drive-a-16x2-lcd-direct…

www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…

5 -кадам: ЖК экраны менен Ротари коддогучту сынап көрүңүз

ЖК экраны менен Ротари коддогучту сынап көрүңүз
ЖК экраны менен Ротари коддогучту сынап көрүңүз

Андан кийин биз кодер айландырылганда LCD экрандын текстин өзгөртө алаарыбызды көргүбүз келди. Коддогучта бурчтардын же айлануулардын белгиленген саны жок, андыктан коддо биз аны сааттын жебеси менен же сааттын жебесине каршы канча жолу айландырылганын санап, 3кө чейин чыгардык. Эгерде ал 0гө чейин болсо, анда ал 3кө чейин кайтып келет. Бул сандар сиз каалаган көптөгөн үн топтомдоруна коюлушу мүмкүн, бирок биз бир гана үн топтомун сынап көрүүнү токтоттук. Үндөрүңүз Pythonдун негизги коду аткарылып жаткан папкада/жайгашкан жерде экенине ишениңиз.

6 -кадам: Башкарманы чогултуу

Такта чогултуу
Такта чогултуу
Такта чогултуу
Такта чогултуу
Такта чогултуу
Такта чогултуу

FSRлер төрт башка уячанын астында жылат. Биз аларды борборлоштуруп, скотч менен жаздык. Биз скотчту же балким жабыштырууну сунуштайбыз, анткени жөнөкөй скотч 3D басылган материалга жабышып калуу коркунучтуу болгон. Доллар дүкөнүнө тез баргандан кийин, биз тактайдын баскычтары катары колдонуу үчүн төрт бөлүккө бөлө турган жумшак, бирок жумшак бакча тизесин таптык. Биз аларды өз ордуларына так жайгашып турушу үчүн кесип салдык, бирок керек болсо оңой эле алып салышты.

7 -кадам: Баарын бириктирүү

Wire It All Up
Wire It All Up
Wire It All Up
Wire It All Up

Такта чогултуп, FSRлерди, коддогучту жана экранды ордуна койгондон кийин, биз баарын зым менен байланыштырдык. Сиз 2 нан тактасын колдонсоңуз болот, бирок биз бардыгын бир жерге батыра алдык. Сүрөт башаламан окшойт, бирок биз Fritzing аттуу бекер программада схема түздүк. Белгилей кетчү нерсе, сиз каалаган нерселерди өзгөртө аласыз, бирок диаграмма биздин кодго туура келет.

8 -кадам: Бардыгын коддоону бүтүрүңүз

Бул татаал бөлүгү болду. Киришүүдө айтылгандай, биз бул бөлүктү аягына чыгара алган жокпуз. Бул жерде код 99% ды түзөт, бирок иштебеген бөлүгү Ардуинодон Пиге чейин сериялык байланыш болгон. Ардуинону USB кабели менен Piге туташтырганда маалыматты оңой эле жөнөтө алмакпыз, бирок Пи бул маалыматты экранда көрсөтүүдөн башка эч нерсе кыла алган эмес. Биз кайсы баскыч басылганын айтып, белгилүү бир үндү чыгарууну кааладык, бирок байланыш аркылуу келе жаткан маалыматтарды кайсы баскыч басылганын текшерүү үчүн шарт билдирүүсүнө коюу мүмкүн эмес болчу.

Сураныч, тиркелген кодду караңыз, Pi үчүн Python кодунда комментарийлер жазылган. Arduino коду 100%болушу керек.

9 -кадам: Корутунду

Жыйынтыктоо
Жыйынтыктоо

Жалпысынан алганда, бул долбоор экөөбүз үчүн чоң окуу тажрыйбасы болду жана биз бул жазуу болочок студенттерге, мугалимдерге же каракчыларга өздөрүнүн проектиси үчүн дем берип, биздин каталарыбыздан сабак алуу менен аларга жол көрсөтөт деп үмүттөнөбүз. Биздин робототехника боюнча укмуштуудай профессорубузга кыйкыргыла, ал биздин сабак учурунда абдан жардам берди жана бизге бир топ көңүл ачууга жана жогорку класстагы COMP сабагында көп нерсени үйрөнүүгө мүмкүнчүлүк берди! Окуу үчүн рахмат:)

Сунушталууда: