Агуулгын хүснэгт:
- Алхам 1: Шаардлагатай тоног төхөөрөмж
- Алхам 2: Blackbox диаграм/Хязгаарлагдмал төлөвийн машин
- Алхам 3: BlackBox дижитал цаг
- Алхам 4: Бүрэлдэхүүн хэсгүүдийг хамтад нь болон тайлбар
- Алхам 5: Код
- Алхам 6: Ирээдүйн өөрчлөлтүүд
- Алхам 7: Дүгнэлт
- Алхам 8: Эхлэл
Видео: Motion Sensor Lights Basys3: 8 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Дижитал дизайны эцсийн төсөл болохын тулд бид хөдөлгөөн мэдрэгч гэрэл дуурайхаар шийдсэн бөгөөд тэдгээр нь зөвхөн объект ойрхон байх үед идэвхждэг төдийгүй өдрийн тодорхой цагт л идэвхждэг. Бид үүнийг FPGA (Basys3 самбар) ашиглан загварчлах боломжтой. FPGA -ийг ашиглах явцад бид хэрэглэгчид хөдөлгөөн мэдрэгчийн идэвхжүүлж эхлэх хугацааг оруулахыг зөвшөөрсөн бөгөөд дараа нь мэдрэгч нь ямар мэдрэгчээс хамаарч дохио илгээх болно. Тухайн өрөөнд эсвэл тухайн хэсэгт байгаа гэрлийг асаах явдал юм. Бид үүнийг загварчилж, зөвхөн нэг хөдөлгөөн мэдрэгчийг тухайн үед идэвхжүүлж, үүний дагуу гэрэл асаах замаар загварчилсан. Цаг хязгаарлагдмал байгаа тул хэрэглэгчийн оруулсан цаг нь хөдөлгөөн мэдрэгчийн идэвхжилд нөлөөлж чадахгүй байна. Гэсэн хэдий ч бидний логикийн үндэс нь хэн нэгэнд амархан хуулбарлах, сайжруулах боломжийг олгох ёстой.
### Доорх линк дээр төслийн видео бичлэгийг үзүүлж байна
drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view?usp=sharing
Алхам 1: Шаардлагатай тоног төхөөрөмж
Энэ төслийн хувьд танд дараахь зүйлс хэрэгтэй болно.
-Basys3 зөвлөл
-USB -ээс microusb кабель
-8 талхны самбартай холбогч утас
-Талхны самбар
-2 сарнисан LED
Алхам 2: Blackbox диаграм/Хязгаарлагдмал төлөвийн машин
Энэхүү хар хайрцагны диаграм нь LED гэрлийг асаахад шаардлагатай оролтыг харуулав. Цагийн оролт ба Мин оролт нь хэрэглэгчийн basys3 самбар дээр оруулсан хугацааг харуулдаг (унтраалга ашиглан). Учир нь sw оролт нь өрөөний аль хэсэгт хэрэглэгчийн байрлаж байгааг харуулдаг (шилжүүлэгчийг ашиглан байршлын объектыг байрлуулж байгааг харуулна).
FSM нь тухайн үед объект байрлаж буй өрөөний нэг бүсээс нөгөө хэсэг рүү шилжих шилжилтийг харуулдаг. Өөр өөр өрөөнд 4 өөр мэдрэгч байдаг (s1, s2, s3, s4). Гаралт, эсвэл өөр өөр өрөөнүүдийн гэрлийг хянадаг, жишээлбэл гэрэл (L1, L2, L3). Мэдрэгч анхны төлөвт хэнийг ч илрүүлдэггүй тул бүх гэрэл унтарсан байдаг. Дараагийн төлөвт (1 -р төлөв) шилжихийн тулд s1 нь хэн нэгнийг илрүүлэх ёстой, s2, s3, s4 нь унтрах болно. Энэ нь L1 гаралтыг (1 -р гэрлийг асаах), L2 ба L3 -ийг унтраах болно. Төлөв 1 -ээс 2 -р төлөвт шилжихийн тулд s1, s3, s4 унтраалттай, s2 асаалттай байх ёстой. Энэ нь L1 ба L2 -ийг асаах болно. Энэ төлөвөөс дараагийн төлөв рүү шилжихийн тулд s3 асаалттай, бусад бүх мэдрэгчийг унтраасан байх ёстой. Энэ нь L2 ба L3 -ийг асаах болно, L1 унтрах болно. Эцсийн төлөвт шилжихийн тулд S4 асаалттай, бусад бүх мэдрэгч унтраалттай байх ёстой. Энэ нь зөвхөн L3 -ийг асаах болно, бусад бүх гэрэл унтрах болно. Хэрэв хүн өрөөнд s4 талаас орж, s1 -ээр гарвал бүх алхам урвуу дарааллаар явагдах болно.
Алхам 3: BlackBox дижитал цаг
Бидний бүтээсэн дижитал цагны зорилго нь мэдрэгчийн гэрэл өдрийн турш идэвхжихгүй бөгөөд зөвхөн хэрэглэгчийн оруулсан хугацаанд л ажилладаг. Дижитал цаг нь basys3 самбар дээрх унтраалгыг ашиглан hour_in оролт, mins_in -ийг авдаг бөгөөд үүнийг самбар дээр ачаалахын тулд та (led_btn) дарж самбар дээр харуулах хэрэгтэй. Бид дахин тохируулах товчийг (rst_b) нэмсэн тул та өөр цагийг дахин байршуулах боломжтой. Basys3 нь 3 өөр мэдээллийн тохиолдлыг харуулах хангалттай зайтай тул бид секундыг цаана нь хэрэгжүүлсэн. Энэ зорилгоор бид секундын унтраалгыг хэрэгжүүлсэн тул хэрэглэгч basys3 самбар дээрх (e_sec) оролтыг асаахаар шийдсэн үед л цаг хугацаа нэмэгдэх болно. Дижитал цаг доторх дотоод хүрээний ажил нь оруулсан цагийг хадгалдаг флип-флопс болон хэрэглэгчийн зөвхөн (e_sec) асаалттай үед оруулсан цагийг нэмэгдүүлдэг тоолууруудаас бүрдэнэ. Бид кодыг нэмж оруулах бөгөөд ингэснээр та үүнийг яг хэрхэн хэрэгжсэн болохыг харах боломжтой болно.
Алхам 4: Бүрэлдэхүүн хэсгүүдийг хамтад нь болон тайлбар
Дээрх зургууд нь бүрэлдэхүүн хэсгүүдийг хэрхэн хооронд нь холбож байгааг харуулж байна. Энэ нь эхлээд оролт, цаг, минутыг авахаас эхэлдэг. Эдгээр оролтоос ирсэн дохионууд нь битүүдийг нэгтгэсэн тоолуур, тоолуур руу илгээгддэг бөгөөд тоолууруудын гаралтын дохиог SSEG бүрэлдэхүүн хэсэгт илгээдэг бөгөөд битүүдийг basys3 самбар дээр харуулах тодорхой тэмдэгт болгон хөрвүүлдэг. Гэсэн хэдий ч хэрэглэгчид оролтыг (led_btn) дарах хүртэл тоолуураас ирсэн дохиог SSEG бүрэлдэхүүн хэсэгт илгээхгүй, учир нь бид дижитал цаганд зориулж FSM -ийг үүсгээгүй. Түүнчлэн оролтын товчлуур (e_sec) асах хүртэл оруулах хугацаа нэмэгдэхгүй, учир нь секундын тоолуур үргэлж арын дэвсгэр дээр ажилладаг. Тоолох секунд "59" хүрэхэд энэ нь минутанд дохио илгээдэг бөгөөд ингэснээр минутаас хэдэн цаг хүртэл нэмэгддэг. Түүнчлэн хөдөлгөөн мэдрэгчийн оролт байдаг бөгөөд дохио нь FSM бүрэлдэхүүн рүү илгээгддэг бөгөөд энэ нь мэдрэгчээс хамаарч ямар төлөвт орохыг тодорхойлдог. Түүний анхны төлөв нь бүх мэдрэгч унтарсан үе юм. FSM -ийн бүх тайлбарыг 2 -р алхамд тайлбарласан болно.
Алхам 5: Код
Алхам 6: Ирээдүйн өөрчлөлтүүд
Ирээдүйд төсөлд LED хосолсон бодит хөдөлгөөн мэдрэгчийг нэмж оруулах нь сайжрах болно, ингэснээр бид төслийн нарийн төвөгтэй байдлыг нэмэгдүүлж, орчин үеийн хөдөлгөөнт гэрэл мэдрэгчийг бий болгож чадах эсэхийг харах боломжтой болно. Энэ нь илүү их асуудал үүсгэх болно, учир нь та объектын ойролцоо байх ёстой бөгөөд ингэснээр гэрэл асах болно. Үүнээс гадна бусад бүх функцууд. Түүнчлэн, хэрэглэгчийг секунд асаахыг хүлээхийн оронд FSM ашиглан дижитал цагны функцийг сайжруулах (e_sec). Дижитал цагны FSM нь хөдөлгөөн мэдрэгчтэй төстэй байх болно.
Алхам 7: Дүгнэлт
Ерөнхийдөө энэхүү төсөл нь хязгаарлагдмал улсын машинууд хэрхэн ажилладаг талаар илүү сайн ойлгоход бидэнд тусалсан юм. Нэмж дурдахад, FSM -ийн тусламжтайгаар та ямар төлөв байдалд байгаагаа, мөн өөр мужид шилжихийг хүсч байгаагаа үргэлж мэдэж байх ёстой. Өөрөөр хэлбэл, та тухайн үед хаана байгаагаа, дараа нь хаана байхаа мэдэх хэрэгтэй. Ямар хүчин зүйлүүд (оролтууд) өөр төлөвт шилжих боломжтой болох, тэнд очоод юу хийхээ (гаралт) санаарай. Түүнчлэн basys3 самбар дотор мэдээллийг регистр болох флип-флоп ашиглан хэрхэн хадгалах, хоёртын тоог нийлүүлдэг тоолуур ашиглан цагийг хэрхэн нэмэгдүүлэх талаар сурсан.
Алхам 8: Эхлэл
Two_sseg.vhdl = universal_sseg_dec.vhd
Ратнер, Жеймс, Чен Самуэль.. Гадаргуугийн инженерчлэл.universal_sseg_dec.vhd
Зөвлөмж болгож буй:
Raspberry Pi Motion Sensor IFTTT: 4 алхам
Raspberry Pi Motion Sensor IFTTT: Сайн байна уу. Би 4 -р ангийн сурагч бөгөөд өнөөдөр бид IFTTT хөдөлгөөн мэдрэгч хийх гэж байна
DIY VR гүйлтийн зам- Basys3 FPGA-Digilent уралдаан: 3 алхам
DIY VR гүйлтийн зам- Basys3 FPGA-Digilent Contest: Та ширээний програм, тоглоомоо ажиллуулах боломжтой VR гүйлтийн зам барихыг хүсч байна уу? Дараа нь та зөв газартаа хүрч ирлээ! Уламжлалт тоглоомд хулгана, гар ашиглан хүрээлэн буй орчинтой харилцдаг. Тиймээс, бид илгээх шаардлагатай байна
Хичээл: Mini PIR Motion Sensor HC-SR 505-ийг Arduino UNO-той хэрхэн ашиглах вэ: 3 алхам
Хичээл: Mini PIR Motion Sensor HC-SR 505-ийг Arduino UNO-той хэрхэн ашиглах вэ: Тодорхойлолт: Энэхүү гарын авлагад Arduino Uno ашиглан хөдөлгөөн мэдрэгч модулийг хэрхэн ашиглах талаар хэдэн энгийн алхмуудыг харуулах болно. Энэхүү гарын авлагын төгсгөлд мэдрэгч нь хөдөлгөөнийг илрүүлж, ямар ч мөчийг илрүүлж чадаагүй тохиолдолд харьцуулалтын үр дүнг авах болно
VHDL Basys3: 4 тоглоомыг холбоно уу: 5 алхам
VHDL Basys3: Connect 4 Game: Танилцуулга: Энэ бол Vivado програм хангамжийг ашиглан VHDL дээр бүтээгдсэн, Basys3 зөвлөлд програмчлагдсан Connect 4 дижитал логик тоглоом юм. Энэхүү төслийн бүтээн байгуулалт, дизайн нь дунд зэрэг боловч шинээр ирсэн хүмүүс алхмуудыг хуулж, дижитал хэмжээсийг бүтээх боломжтой
Миний хаалган дээр хэн байгаа вэ? PIR Motion Sensor/Range Sensor Project: 5 алхам
Миний хаалган дээр хэн байгаа вэ? PIR Motion Sensor/Range Sensor Project: Манай төсөл нь PIR болон зайны мэдрэгчээр дамжуулан хөдөлгөөнийг мэдрэх зорилготой юм. Arduino код нь хэрэглэгчид ойрхон байгааг хэлэхийн тулд харааны болон аудио дохиог гаргана. MATLAB код нь хэрэглэгчид хэн нэгэн ойрхон байгааг мэдэгдэхийн тулд и -мэйл дохио илгээх болно