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

Arduino дээрх улсын машин - явган хүний гэрлэн дохио: 6 алхам (зурагтай)
Arduino дээрх улсын машин - явган хүний гэрлэн дохио: 6 алхам (зурагтай)

Видео: Arduino дээрх улсын машин - явган хүний гэрлэн дохио: 6 алхам (зурагтай)

Видео: Arduino дээрх улсын машин - явган хүний гэрлэн дохио: 6 алхам (зурагтай)
Видео: 35 видео со страшными призраками: мегасборник 2023 года [V1] 2024, Долдугаар сарын
Anonim
Arduino дээрх улсын машин - явган хүний гэрлэн дохио
Arduino дээрх улсын машин - явган хүний гэрлэн дохио

Сайн байна уу, би YAKINDU Statechart хэрэгслүүдийг ашиглан Arduino -ийн явган хүний гэрлэн дохиог C ++ дээр хязгаарлагдмал төлөвт машинаар хэрхэн яаж програмчлахыг танд үзүүлэх гэж байна. Энэ нь төрийн машинуудын хүч чадлыг харуулах бөгөөд цаашдын төслүүдэд зураг төсөл болгон ашиглаж болно.

Хангамж

Танд зөвхөн Arduino, зарим товчлуур, LED, холбогч, резистор хэрэгтэй болно.

Техник хангамж

  • 2x товчлуур
  • 2 удаа гэрлэн дохио эсвэл 220 Ом эсэргүүцэлтэй LED ашиглаж болно
  • 2х 10 к Ом эсэргүүцэл
  • Талхны самбар
  • Үсрэгч
  • Arduino Uno/Mega (эсвэл дор хаяж 8 GPIO авсан бусад)

Програм хангамж

  • YAKINDU Statechart хэрэгсэл
  • Arduino -д зориулсан Eclipse C ++ IDE

Алхам 1: Энэ нь хэрхэн ажилладагийг тодорхойлно уу: Явган хүний гэрлэн дохио

Эхлээд бид явган хүний гэрлэн дохио хэрхэн ажиллах ёстойг тодорхойлох хэрэгтэй. Би сумны цэгүүдийг тоймлохыг хичээсэн.

  • Хоёр гэрлэн дохио ашигладаг - нэг нь машинд, нөгөө нь явган зорчигчдод зориулагдсан
  • Гэрлэн дохиог товчлуур ашиглан асааж болно
  • Явган хүн товчлуур дарж гудамжинд гарах хүсэлт гаргаж болно
  • Гэрлэн дохиог унтраасан нь шар өнгийн LED хоёр гэрлийг анивчих замаар харуулдаг
  • Гэрлэн дохио ассаны дараа аюулгүй горимд 10 секунд хүлээнэ
  • Аюулгүй горимыг хийсний дараа явган зорчигч хүсэлт гаргах хүртэл машинууд үргэлж ногоон үе шаттай байдаг
  • Явган хүний гарцаар гарах хүсэлтийг шар өнгийн LED -ийг асаах замаар илэрхийлнэ

Нэмж дурдахад, гэрлэн дохио хэрхэн яаж ажиллахаас хамаарч цаг хугацааны зарим арга хэмжээ байдаг.

Алхам 2: Хэлхээг бий болгох

Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох

Цахилгаан хэлхээг тохируулж эхэлье. Миний жишээн дээр, урьдчилж харах зурган дээрээс харж байгаачлан би Arduino Mega 2560 -ийг ашигласан боловч дор хаяж найман GPIO -тэй бусад Arduino бүгд зүгээр байх ёстой. Нэмж хэлэхэд би Амазоноос 5V гэрлэн дохио худалдаж авсан. Замын гэрлэн дохио Arduino -г хайхад л болно. Үгүй бол та зургаан өөр LED ашиглаж болно. Цаашилбал, танд хоёр товчлууртай товчлуур ба хоёр 10к Ом эсэргүүцэл хэрэгтэй болно.

Зүүн гурван LED нь машины хөдөлгөөнд, баруун гурван LED нь явган зорчигчдод зориулагдсан бөгөөд шар гэрэл нь хүсэлтийг илэрхийлж болно.

Алхам 3: Төрийн машиныг бий болгох

Төрийн машиныг бий болгох
Төрийн машиныг бий болгох

Таны харж байгаагаар нийлмэл гишүүдтэй хоёр үндсэн муж байдаг - мужийг асаах ба унтраах. ON/OFF товчлуур дээр холбогдсон onOff үйл явдлыг ашиглан та хоёр муж хооронд шилжих боломжтой. Эхний төлөвт унтарсан төлөвт шар өнгийн LED хоёулаа секунд тутамд анивчиж эхэлдэг. Гэрлэн дохио ассаны дараа аюулгүй орчинд эхэлнэ. 10 секундын дараа гэрлэн дохионы ердийн зан үйлийг зохицуулна. Улаан, шар өнгийн LED нь StreetPrepare төлөвт асах бөгөөд гэрлэн дохио 2 секундын дараа ногоон болно. Одооноос эхлэн төрийн машин нь явган зорчигчийн хүсэлтийг хүлээж байна. Үйл явдлыг илгээсэний дараа PedWating төлөвт шар LED -ийг секунд тутамд асаах замаар хүсэлтийг зааж өгөх болно. 7 секундын дараа явган зорчигчид Ногоон төлөвт явах дохиог авах хүртэл гэрлэн дохиог эхлээд шар, дараа нь улаан болгож асаах болно. Үүний дараа PedestrianRed идэвхжиж, мөчлөг давтагдана. Үүнийг зөвхөн гэрлэн дохиог дахин унтрааж байж л тасалдуулж болно.

Алхам 4: Жишээ ажиллуулах

Алхам 5: C ++ код үүсгэсэн

Үүсгэсэн C ++ код нь төрийн машины логикийг зохицуулах сонгодог түлхүүр юм. Энэ бол хэрхэн харагдах тухай кодын хэсэг юм.

хүчингүй TrafficLightCtrl:: runCycle () {clearOutEvents (); for (stateConfVectorPosition = 0; stateConfVectorPosition <maxOrthogonalStates; stateConfVectorPosition ++) {switch (stateConfVector [stateConfVectorPosition]) {case main_region_on_r1_StreetGreen: {main_region_on_r1_StreetGreen_react () завсарлага; } case main_region_on_r1_PedWaiting_r1_waitOn: {main_region_on_r1_PedWaiting_r1_waitOn_react (үнэн); завсарлага; } анхдагч: завсарлага; } clearInEvents (); }

Алхам 6: Жишээ авах

Бүх жишээг эмхэтгэх, ажиллуулахад бэлэн байна. Энэ нь арилжааны бус зорилгоор үнэгүй ашиглах боломжтой YAKINDU Statechart Tools-тэй хамт ирдэг. Татаж авсны дараа та жишээг хэрэгсэлд шууд оруулах боломжтой.

Файл -> Шинэ -> Жишээ -> YAKINDU Statechart -ийн жишээ -> Next -> Arduino -ийн гэрлэн дохио (C ++)

> Эндээс та YAKINDU Statechart хэрэгслүүдийг татаж авах боломжтой <<

Та 30 хоногийн туршилтаар эхлүүлж болно. Үүний дараа та арилжааны бус зорилгоор ашиглах үнэгүй лиценз авах ёстой.

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