Мазмуну:
- 1-кадам: Окуяга негизделген программалоо деген эмне?
- 2-кадам: Окуяга негизделген программалоонун логикалык агымы
- 3 -кадам: Окуя жаратуучу
- 4 -кадам: Окуя процессору
Video: FTCдеги окуяга негизделген программалоо: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул жылы биздин команда роботубуз үчүн окуяга негизделген программалык камсыздоону иштеп чыгуу менен көп иштерди аткарды. Бул программалар командага автономдуу программаларды так иштеп чыгууга, ал тургай кайталануучу телепортивдүү окуяларга мүмкүнчүлүк берди. Программалык камсыздоонун иши татаал болгондуктан, биз FTC роботтору үчүн окуяга негизделген кодду иштеп чыгуу боюнча алган билимибиз менен бөлүшүүнү чечтик.
1-кадам: Окуяга негизделген программалоо деген эмне?
Жалпысынан алганда, окуяга негизделген программалоо, Techopedia боюнча, колдонуучулардын киришине жооп берген программаларды иштеп чыгуу. Бул жагынан алганда, көптөгөн программалар окуяга негизделген деп эсептелет, анын ичинде кандайдыр бир иш-аракетти жүргүзүү үчүн адам башкарган контролердун киришине таянган команданын телеберүү программасы. Бирок, биздин команда аткарып жаткан иштерге карата, окуяга негизделген программалоо ар кандай киргизүүлөрдөн программалык камсыздоону түзүү жөнүндө; башкача айтканда, биз окуяларды контроллерлердин жана сенсорлордун негизинде документтештиребиз, андан кийин бул окуяларды кезекке коюп, файлды жазылган окуяны кайра иштетүү үчүн колдоно алабыз.
Биздин робот үчүн программаларды иштеп чыгуунун бул ыкмасы бир нече артыкчылыктарга ээ:
- Бул так автономдуу программаларды түзүүгө мүмкүндүк берет. Биз программалык камсыздоону реалдуу убакытта түзүп жаткандыктан, иш-чара өтүп жаткандыктан, чогултулган жана колдонулган сенсор баалуулуктары абдан так болот, анткени алар түздөн-түз окуядан келип чыгат.
- Бул бизге автономдуу программаларды тез түзүүгө мүмкүндүк берет. Автономдуу программаларды түзүү, бир катар окуяларды жазуу жана иш -чараны зарылдыгына жараша жөнгө салуу сыяктуу жөнөкөй.
- Бул бизге теле-оп үчүн автоматтык процесстерди түзүүгө мүмкүндүк берет. Теле-опто кайталанган аракеттер үчүн, окуяга негизделген программалоо, бул аракеттерди жаздырууга жана матчтарды айдоочу көзөмөлдөгөн мезгилде окуяны бир баскычка дайындоого мүмкүнчүлүк берет. Бул автоматташтырылган окуяларга сенсорлор таасир этип, алардын так аткарылышына мүмкүндүк берет.
2-кадам: Окуяга негизделген программалоонун логикалык агымы
Төмөндө окуяга негизделген программанын логикалык агымы сүрөттөлөт: кызыл окуяны, ал эми көк окуяны чакырууну чагылдырат. Окуяны түзүү үчүн, кирүү тизмеги роботтун аракети аркылуу алынат жана окуя катары жазылат; бул окуялар файлга жазылат. Окуяны чакыруу үчүн, бул файл окулат жана кирүүлөр файл кодун роботтун аракетине айландыруу үчүн окуя процессоруна жөнөтүлөт.
3 -кадам: Окуя жаратуучу
Окуя жаратуучулар ар кандай сенсорлорго жана баскычтарга негизделген аракеттерди же "окуяларды" документтештирүү үчүн колдонулат. Робот талаада аракеттерди жасаганда, окуя жаратуучулардын классы окуялардын классында классификацияланган окуяга шилтеме кылып, ошол аракеттердин ар бирине параллелдүү окуяларды түзүүдө. Түзүлгөндөн кийин, окуя окуялар классындагы окуялардын кезегине коюлат: биринчи окуя биринчи орунду ээлейт, андан кийин экинчи окуя эң жогорку орунду ээлейт жана анын астындагы бардык окуяларды сүрүп салат жана бул программа токтогонго чейин уланат. Программа токтотулганда, окуялар JSON файлы сыяктуу адам окуй турган формат файлына өтөт. Бул файл автономдуу күн тартибин жакшыртуу үчүн колдонулушу мүмкүн.
Жогорудагы мисал коду иш -чаранын параметрлерин орнотот, бул учурда IMU сенсорун колдонуу кезеги. Биз андан кийин окуяны кезекке турабыз. Акыр -аягы, биз окуяны кыскартабыз, ал иш -чараны баштапкы абалга келтирет, ошону менен биз аны келечектеги окуяларга кезекке коюу үчүн колдоно алабыз.
4 -кадам: Окуя процессору
Окуя сабактары окуяларды жаратуучу класста өндүрүлгөн адам окуй турган файлды алат жана кезек күткөн ар бир окуяны процессор классында айтылган ыкмаларды чакыруу аркылуу айтат. Окуя процессору классы роботко кайсы окуяны кайра ойнотуу керектигин айтат. Жөнөкөй "алдыга жылуу" окуясы болобу же аралыктарга, бурулуштарга жана стафаларга толгон татаал окуя болобу, процессор ага берилген бардык окуяны кайра ойнотот. Бул процесс автономия учурунда абдан пайдалуу, анткени команда матчка чейин сенсорлорду жана Tele-Op аракеттерин жаздыра алат, андан кийин окуяларды автономдуу түрдө кайра ойнотот. Бул процесс Memory Replay деп аталат. Бул автономдуу программаны бир файл аркылуу 100% конфигурациялоого мүмкүндүк берет. Окуянын жаратуучусу жана процессору түзүлгөндөн кийин, команда жөн гана адам окуй турган файл аркылуу автономдуу тартиптерди өзгөртө алат.
Жогорудагы мисал адегенде окуя үчүн JSON файлын текшерүүдөн башталат, андан кийин окуяны текшерүү менен, бул кандай окуя экенин көрүү үчүн, бул учурда IMU сенсорун колдонуу менен башталат. Бул IMU иш -чарасын колдонуу кезеги экенин айткандан кийин, ал окуяны кайра иштетүү менен алектенет, бул адатта окуя мурунку болгон окуяны кайталоо үчүн берилген окуядан келген өзгөрмөлөрдү колдонуп келген кодду иштетүүнү камтыйт.
Сунушталууда:
Z80-MBC2 Atmega32a программалоо: 6 кадам
Z80-MBC2 Atmega32aны программалоо: z80-MBC2ди колдонуудан мурун, аны кургандан кийин, сиз Atmeg32ди программалашыңыз керек. Бул көрсөтмө кодду жүктөө үчүн арзан arduino mini программист катары кантип колдонууну көрсөтөт
Оңой Infinity Mirror Cube жасаңыз - 3D басып чыгаруу жана программалоо жок: 15 кадам (сүрөттөр менен)
Оңой Infinity Mirror Cube жасаңыз | 3D басып чыгаруу жана программалоо жок: Ар бир адам жакшы чексиздикти жакшы көрөт, бирок аларды жасоо кыйын окшойт. Бул Нускамага менин максатым-кантип жасоону этап-этабы менен көрсөтүү. Муну менен эле чектелбестен, мен берген көрсөтмөлөрдүн жардамы менен сиз бир нерсени жасай аласыз
DIY программалоо кабели Arduino Uno аркылуу - Baofeng UV -9R Plus: 6 кадам (сүрөттөр менен)
DIY программалоо кабели Arduino Uno-Baofeng UV-9R Plus колдонуу менен: Эй баардыгы, бул Baofeng UV-9R (же плюс) гарнитураңызды / кулагыңыздын кабелин USB катары Ardunio UNO аркылуу программалоо кабелине айландыруу боюнча жөнөкөй колдонмо. Сериялык конвертер. [DISCLAIMER] Мен келтирилген зыян үчүн эч кандай жоопкерчилик тартпайм
Ардуиного негизделген байланышсыз инфракызыл термометр - IR негизделген термометр Arduino колдонуу: 4 кадам
Ардуиного негизделген байланышсыз инфракызыл термометр | IR негизделген термометр Arduino колдонуу: Салам балдар бул көрсөтмөлөрдө биз ардуинону колдонобуз. ошол сахнада температура
Аба ырайына негизделген музыка генератору (ESP8266 негизделген Midi генератору): 4 кадам (сүрөттөр менен)
Аба ырайына негизделген музыка генератору (ESP8266 негизделген Midi генератору): Саламатсызбы, мен бүгүн өзүңүздүн кичинекей аба ырайына негизделген музыкалык генераторду кантип жасоону түшүндүрүп берем. жана жарыктын интенсивдүүлүгү. Бул бүтүндөй ырларды же аккорд программасын түзөт деп күтпөңүз