Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Тоног төхөөрөмж
- Алхам 2: Энэ нь хэрхэн ажиллах ёстойг тодорхойл
- Алхам 3: Төрийн машинтай харилцах
- Алхам 4: HMI хяналт
- Алхам 5: Улс орнуудыг зохицуулах
- Алхам 6: Секундомер
- Алхам 7: Тоолуур
- Алхам 8: Симуляци
- Алхам 9: Жишээ авах
Видео: Төрийн машиныг ашиглах Arduino HMI: 9 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Энэхүү зааварчилгаанд би Arduino -д зориулсан 16х2 хэмжээтэй LCD товчлуурын бамбай ашиглан энгийн, өргөтгөх боломжтой HMI -ийг хэрэгжүүлэхийн тулд YAKINDU Statechart хэрэгслүүдийг хэрхэн ашиглахыг танд үзүүлэх болно.
Хязгаарлагдмал төлөвт машинууд (FSM) нь хүний машины нарийн төвөгтэй интерфэйсийг (HMI) хөгжүүлэх хүчирхэг загвар юм. HMI -ийн үйл ажиллагаа нэмэгдэхийн хэрээр төрийн машин шиг дизайны загварыг ашиглах нь ашигтай байдаг.
Бүрэн жишээг YAKINDU Statechart Tools -д оруулсан болно. Нэмж дурдахад, Arduino Plugin -д зориулсан Eclipse C ++ IDE нь IDE -ийг эмхэтгэх, анивчихад ашиглагддаг.
YAKINDU Statechart хэрэгслүүдийн товч тойм
Энэхүү хэрэгслийн тусламжтайгаар график төлөв байдлын машиныг бий болгох боломжтой. Энэ нь хэрэглэгчийг улсын машинаас C, C ++ эсвэл Java код үүсгэх боломжийг олгодог. Энэхүү хандлагын тусламжтайгаар загварыг өөрчилж эсвэл өргөтгөх боломжтой бөгөөд хэрэглэгч кодыг дахин үүсгэх боломжтой бөгөөд энгийн эх код бичих шаардлагагүй болно.
Хангамж
Эд анги:
- Ардуино (Uno, Mega)
- USB кабель
- 16x2 хэмжээтэй LCD товчлуурын бамбай
Хэрэгсэл:
- YAKINDU Statechart хэрэгсэл
- Arduino -д зориулсан Eclipse C ++ IDE
Алхам 1: Тоног төхөөрөмж
LCD товчлуурын бамбайг Arduino -д залгаж болно. Энэ нь 16x2 хэмжээтэй LCD дэлгэцтэй бөгөөд зургаан товчлууртай.
- Зүүн
- Зөв
- Дээш
- Доошоо
- Сонгоно уу
- (Дахин тохируулах)
Мэдээжийн хэрэг, тэдгээрийн тавыг нь ашиглах боломжтой. Түлхүүрүүдийг хүчдэл хуваагч руу холбосон бөгөөд хүчдэлээс хамаарч Pin A0 ашиглан илрүүлдэг. Тэдгээрийг зөв илрүүлэхийн тулд би програм хангамжаа тайлах програмыг ашигласан.
Алхам 2: Энэ нь хэрхэн ажиллах ёстойг тодорхойл
Аппликешн нь гурван зүйлийг хийх чадвартай байх ёстой.
- Энд товчлууруудыг ашиглан дээд, дунд, доод, зүүн, баруун гэсэн таван муж хооронд шилжихийг хүсч байна.
- Секундомер Эхлэх, зогсоох, дахин тохируулах боломжтой энгийн секундомер. Үүнийг 100 миллисекунд тутамд нэмэгдүүлэх шаардлагатай
- Гурав дахь хэсэг нь энгийн дээш/доош тоолууртай. Энэ нь эерэг тоог тоолох чадвартай байх ёстой бөгөөд үүнийг дахин тохируулах ёстой
Идэвхтэй цэс (эсвэл төлөв) нь 16x2 LCD дэлгэц дээр дээд мөрөнд харагдана. Програмыг (муж, таймер эсвэл тоолуур) доод мөрөнд харуулах болно. Жолоодлогын хувьд зүүн ба баруун товчлуурыг ашиглах ёстой.
Алхам 3: Төрийн машинтай харилцах
Товчлууруудыг задалж, төрийн машинд холбох болно. Тэднийг төрийн машин дахь үйл явдлын нэгэн адил ашиглаж болно. Нэмж дурдахад одоогийн цэсийг харуулах үйлдлүүдийг тодорхойлдог. Мөн дор хаяж хоёр хувьсагчийг тодорхойлдог бөгөөд нэг нь таймер, нөгөө нь тоолуур юм.
интерфэйс:
// товчлуурууд нь үйл явдлын үйл явдлын оролт хэлбэрээр, үйл явдлын зүүн талд, үйл явдлын зүүн талд, үйл явдлын дараа доош нь сонгоно уу // HMI -ийн тодорхой утгыг харуулна LCDString (утга: мөр, урт: бүхэл тоо, байрлал: бүхэл тоо) үйл ажиллагааны дэлгэц LCDInteger (утга: бүхэл тоо, байрлал: integer) ажиллагаа clearLCDRow (байрлал: бүхэл тоо) дотоод: // хадгалах хувьсагчид var cnt: integer var timeCnt: integer = 0
C ++ кодыг үүсгэсний дараа үйл явдлуудыг дебютээ хийж, интерфэйс рүү холбох ёстой. Энэ кодын хэсэг нь үүнийг хэрхэн хийхийг харуулж байна.
Эхлээд товчлууруудыг тодорхойлно.
#тодорхойлох ҮГҮЙ 0 #тодорхойлох SELECT 1 #Зүүн 2 тодорхойлох
Дараа нь товчлуурыг уншихаар тодорхойлсон функц байдаг. LCD Shield үйлдвэрлэгчээс хамаарч үнэ цэнэ өөр байж болно.
статик int readButton () {int үр дүн = 0; үр дүн = analogRead (0); if (үр дүн <50) {ЗӨВ буцах; } if (үр дүн <150) {буцах UP; } if (үр дүн <300) {буцах DOWN; } if (үр дүн <550) {LEFT буцах; } if (үр дүн <850) {буцах SELECT; } буцах NONE; }
Төгсгөлд нь товчлууруудыг тайлах болно. Би 80 ms -тэй сайн үр дүнд хүрсэн. Нэг товчлуурыг гаргасны дараа энэ нь шаардлагатай тохиолдолд тохиргоог нэмэгдүүлэх болно.
int oldState = NONE; static void boostEvents () {int buttonPressed = readButton (); саатал (80); oldState = товчлуур дарагдсан; if (oldState! = NONE && readButton () == NONE) {switch (oldState) {case SELECT: {stateMachine-> upgrade_select (); завсарлага; } тохиолдолд Зүүн: {stateMachine-> lift_left (); завсарлага; } тохиолдол DOWN: {stateMachine-> upgrade_down (); завсарлага; } тохиолдолд UP: {stateMachine-> boost_up (); завсарлага; } тохиолдолд ЗӨВ: {stateMachine-> boost_right (); завсарлага; } анхдагч: {завсарлага; }}}}
Алхам 4: HMI хяналт
Муж бүрийг цэсийн нэг хэсэгт ашигладаг. Програмыг (жишээлбэл, секундомер) ажиллуулах дэд мужууд байдаг.
Энэхүү дизайны тусламжтайгаар интерфэйсийг хялбархан өргөжүүлж болно. Нэмэлт цэсийг ижил загварын загварыг ашиглан нэмж болно. Мэдрэгчийн утгыг уншиж, цэсийн дөрөв дэх хэсэгт харуулах нь тийм ч том асуудал биш юм.
Одоогийн байдлаар хяналт болгон зөвхөн зүүн, барууныг ашиглаж байна. Гэхдээ дээш, доошоо үндсэн цэсэнд навигацийн өргөтгөл болгон ашиглаж болно. Зөвхөн сонгох товчийг ашиглан цэсийн тодорхой зүйлийг оруулна.
Алхам 5: Улс орнуудыг зохицуулах
Бариулын төлөв байдлын цэсийг зөвхөн навигацийн дараагийн жишээ болгон ашигладаг. Дээш, доош, баруун эсвэл зүүн ашиглах нь муж хооронд шилжих боломжийг олгодог. Одоогийн байдлыг үргэлж LCD дэлгэц дээрх хоёр дахь мөрөнд хэвлэх болно.
Алхам 6: Секундомер
Секундомер нь маш энгийн. Эхний ээлжинд таймерын утгыг дахин тохируулах болно. Таймерыг зүүн товчлуурыг ашиглан эхлүүлж, зүүн ба баруун тийш шилжүүлж болно. Дээш эсвэл доош ашиглах нь таймерыг дахин тохируулдаг. Таймерыг сонгох товчлуурыг хоёр удаа дарж тэг болгож болно, цэсийг орхиж дахин оруулна уу.
Алхам 7: Тоолуур
Наад зах нь лангуу хэрэгжүүлсэн байгаа. Лангууны төлөвт орсноор тоолуурыг дахин тохируулна. Үүнийг сонгох товчийг эс тооцвол дурын товчлуурыг ашиглан эхлүүлж болно. Энэ нь 0 -ээс бага байж болохгүй энгийн дээш/доош тоолуур хэлбэрээр хэрэгждэг.
Алхам 8: Симуляци
Алхам 9: Жишээ авах
Та IDE -г эндээс татаж авах боломжтой: YAKINDU Statechart Tools
IDE -ийг татаж авсны дараа та жишээг File -> N ew -> Example дээрээс олж болно
Хобби сонирхогчдод үнэгүй ашиглах боломжтой, гэхдээ та 30 хоногийн туршилтыг ашиглах боломжтой.
Зөвлөмж болгож буй:
[2020] RC машиныг хянахын тулд хоёр (x2) микро: бит ашиглах: 6 алхам (зурагтай)
[2020] RC машиныг хянахын тулд хоёр (x2) микро: бит ашиглах: Хэрэв танд хоёр (x2) микро: бит байгаа бол тэдгээрийг RC машиныг алсаас удирдахад ашиглах талаар бодож байсан уу? Та дамжуулагчийн хувьд нэг микро: бит, хүлээн авагчийн нэгийг ашиглан RC машиныг удирдах боломжтой.Микро кодлохын тулд MakeCode засварлагчийг ашиглахдаа
[2020] RC машиныг удирдахын тулд iPhone эсвэл IPad болон Micro: bit Game Pad програмыг ашиглах: 23 алхам
[2020] RC машиныг удирдахын тулд IPhone эсвэл IPad болон Micro: bit Game Pad програмыг ашиглах: Та өөрийн микро эсвэл битийг удирдахын тулд iPhone эсвэл iPad -аа ашиглах талаар бодож байсан уу? Micro: bit Educational Foundation нь iOS програмыг iOS програмаар хангадаг гэдгийг та мэдэх үү? Апп дэлгүүр үү? &Quot; микро: бит " App store -д байгаа бөгөөд та програмыг үнэгүй татаж авах боломжтой
Төрийн машинтай Ардуино Отто робот: 4 алхам
Төрийн машинтай Arduino Otto робот: Төслийн тойм Энэхүү төсөлд би танд Arduino дээр суурилсан DIY робот болох Отто роботыг програмчлах аргыг үзүүлэхийг хүсч байна. YAKINDU Statechart хэрэгслүүдийг ашиглан (арилжааны бус үнэ төлбөргүй) бид төлөв байдлыг хялбарчлах замаар зан төлөвийг графикаар загварчлах боломжтой болно
Төрийн машин ба SPI өргөтгөгчтэй Arduino дээр олон ажил хийх: 3 алхам
Төрийн машин ба SPU өргөтгөгчтэй Arduino дээр олон ажил хийх: Өнгөрсөн долоо хоногт би ардуино ашиглан салют буудуулах системийг бий болгохыг хүсч байсан. Түймрийг унтраахад 64 орчим гаралт шаардлагатай байв. Үүнийг хийх нэг арга бол IC өргөтгөгчийг ашиглах явдал юм. Тиймээс 2 шийдэл боломжтой:- I2C өргөтгөгч, гэхдээ та үүнийг хийхдээ инвертер хэрэгтэй болно
Mac терминалыг хэрхэн ашиглах, гол функцийг хэрхэн ашиглах вэ: 4 алхам
Mac терминалыг хэрхэн ашиглах, гол функцийг хэрхэн ашиглах талаар: Бид танд MAC терминалыг хэрхэн нээхийг үзүүлэх болно. Бид танд терминалын дотор ifconfig, лавлахыг өөрчлөх, файлд хандах, arp гэх мэт цөөн хэдэн онцлог шинж чанаруудыг харуулах болно. Ifconfig нь танд IP хаяг болон MAC зараа шалгах боломжийг олгоно