Სარჩევი:

სახელმწიფო მანქანა არდუინოზე - ფეხით მოსიარულეთა შუქნიშანი: 6 ნაბიჯი (სურათებით)
სახელმწიფო მანქანა არდუინოზე - ფეხით მოსიარულეთა შუქნიშანი: 6 ნაბიჯი (სურათებით)

ვიდეო: სახელმწიფო მანქანა არდუინოზე - ფეხით მოსიარულეთა შუქნიშანი: 6 ნაბიჯი (სურათებით)

ვიდეო: სახელმწიფო მანქანა არდუინოზე - ფეხით მოსიარულეთა შუქნიშანი: 6 ნაბიჯი (სურათებით)
ვიდეო: არდუინოზე დაპროგრამებული სეიფის მინიატურა 2024, ივლისი
Anonim
სახელმწიფო მანქანა არდუინოზე - ფეხით მოსიარულეთა შუქნიშანი
სახელმწიფო მანქანა არდუინოზე - ფეხით მოსიარულეთა შუქნიშანი

გამარჯობა! მე ვაპირებ გაჩვენოთ, თუ როგორ უნდა დაპროგრამდეს Arduino– ს ქვეითთა შუქნიშანი C ++ - ში სასრული მდგომარეობის მანქანით, YAKINDU Statechart Tools– ის გამოყენებით. ეს აჩვენებს სახელმწიფო მანქანების ძალას და შეიძლება გამოყენებულ იქნას როგორც შემდგომი პროექტების გეგმა.

მარაგები

თქვენ გჭირდებათ მხოლოდ Arduino, რამდენიმე ღილაკი, LED- ები, ჯუმპერი და რეზისტორები.

ტექნიკა

  • 2x ღილაკი
  • 2x შუქნიშანი ან შეგიძლიათ გამოიყენოთ LED- ები 220 Ohm რეზისტენტებით
  • 2x 10k Ohm რეზისტორები
  • პურის დაფა
  • მხტუნავი
  • Arduino Uno/Mega (ან ნებისმიერი სხვა, რომელმაც მიიღო მინიმუმ 8 GPIO)

პროგრამული უზრუნველყოფა

  • YAKINDU Statechart ინსტრუმენტები
  • Eclipse C ++ IDE არდუინოსთვის

ნაბიჯი 1: განსაზღვრეთ როგორ მუშაობს: ფეხით მოსიარულეთა შუქნიშანი

თავდაპირველად, ჩვენ უნდა დავაზუსტოთ როგორ უნდა იმუშაოს ქვეითთა შუქნიშანმა. მე შევეცადე შემეჯამებინა ძირითადი პუნქტები:

  • გამოიყენება ორი შუქნიშანი - ერთი მანქანებისთვის, მეორე კი ქვეითებისთვის
  • შუქნიშნის ჩართვა შესაძლებელია ღილაკის გამოყენებით
  • ფეხით მოსიარულეებს შეუძლიათ მოითხოვონ ქუჩის გადაკვეთა ღილაკის დაჭერით
  • გამორთული შუქნიშანი მითითებულია ორივე ყვითელი LED- ის მოციმციმე
  • ჩართვის შემდეგ შუქნიშანი ელოდება 10 წამს უსაფრთხო რეჟიმში
  • უსაფრთხო რეჟიმის შემდეგ, მანქანებს ყოველთვის აქვთ მწვანე ფაზა, სანამ ფეხით მოსიარულე არ დაიწყებს მოთხოვნას
  • ფეხით მოსიარულეთა მოთხოვნა გადაკვეთის შესახებ მითითებულია ყვითელი LED- ის გადართვით

გარდა ამისა, არის გარკვეული დროის მოვლენები, რაც დამოკიდებულია შუქნიშნის მუშაობის მეთოდზე.

ნაბიჯი 2: შექმენით წრე

ააშენეთ წრე
ააშენეთ წრე

დავიწყოთ წრის დაყენება. ჩემს მაგალითში, როგორც ხედავთ გადახედვის სურათზე, მე გამოვიყენე Arduino Mega 2560, მაგრამ ყველა სხვა Arduino მინიმუმ რვა GPIO– ით უნდა იყოს კარგი. გარდა ამისა, მე შევიძინე რამდენიმე 5V შუქნიშანი Amazon- ში. უბრალოდ მოძებნეთ შუქნიშანი არდუინო. წინააღმდეგ შემთხვევაში, შეგიძლიათ უბრალოდ გამოიყენოთ ექვსი განსხვავებული LED. გარდა ამისა, თქვენ გჭირდებათ ორი ღილაკი და ორი 10k Ohm რეზისტორი.

სამი მარცხენა LED- ები გამოიყენება ავტომობილის მოძრაობისთვის და სამი მარჯვენა LED- ები ქვეითებისთვის, სადაც ყვითელს შეუძლია მიუთითოს მოთხოვნა.

ნაბიჯი 3: სახელმწიფო აპარატის შექმნა

სახელმწიფო მანქანის შექმნა
სახელმწიფო მანქანის შექმნა

ასე რომ, როგორც ხედავთ, არსებობს ორი ძირითადი მდგომარეობა კომპოზიტური წევრებით - მდგომარეობა ჩართული და გამორთული. თქვენ შეგიძლიათ გადახვიდეთ ორ მდგომარეობას შორის ღონისძიების ჩართვისას, რომელიც ჩართულია ჩართვის/გამორთვის ღილაკზე. საწყის მდგომარეობაში, გამორთულ მდგომარეობაში, ორივე ყვითელი LED- ები იწყებენ ციმციმებას ყოველ წამს. მას შემდეგ, რაც შუქნიშანი ჩართულია, ის იწყება Safestate– ში. 10 წამის შემდეგ შუქნიშნების ტიპიური ქცევა დამუშავდება. StreetPrepare შტატში წითელი და ყვითელი LED იქნება ჩართული და შუქნიშანი მწვანე გახდება კიდევ 2 წამის შემდეგ. ამიერიდან სახელმწიფო მანქანა ელოდება ქვეითთა მოთხოვნის ღონისძიებას, რომელიც დაკავშირებულია მეორე ღილაკზე. ღონისძიების გაგზავნის შემდეგ მოთხოვნა მითითებული იქნება PedWating მდგომარეობაში ყოველ წამში ყვითელი LED- ის გადართვით. 7 წამის შემდეგ შუქნიშანი გადაინაცვლებს ჯერ ყვითლად და შემდეგ წითლად, სანამ ფეხით მოსიარულეები არ მიიღებენ სიგნალს, რომ გადასული იყოს საცალფეხო მწვანე მდგომარეობაში. ამის შემდეგ, PedestrianRed გააქტიურებულია და ციკლი მეორდება. ამის შეწყვეტა შესაძლებელია მხოლოდ შუქნიშნის კვლავ გამორთვით.

ნაბიჯი 4: გაუშვით მაგალითი

ნაბიჯი 5: გენერირებული C ++ კოდი

გენერირებული C ++ კოდი არის კლასიკური გადამრთველი, რომელიც მართავს სახელმწიფო მანქანის ლოგიკას. ეს მხოლოდ კოდის ფრაგმენტია, თუ როგორ გამოიყურება:

void TrafficLightCtrl:: runCycle () {clearOutEvents (); for (stateConfVectorPosition = 0; stateConfVectorPosition <maxOrthogonalStates; stateConfVectorPosition ++) {switch (stateConfVector [stateConfVectorPosition])) {case main_region_on_r1_StreetGreen: {main_region_on_r1_rere_rere_rere_rere_rere_rere_rere_rere_re1_StreetGreen_re1_StreetGreen_re1_StreetGreen_re1_StreetGreen: შესვენება; } case main_region_on_r1_PedWaiting_r1_waitOn: {main_region_on_r1_PedWaiting_r1_waitOn_react (ჭეშმარიტი); შესვენება; } ნაგულისხმევი: შესვენება; } clearInEvents (); }

ნაბიჯი 6: მიიღეთ მაგალითი

მთელი მაგალითი მზადაა შესადგენად და გასაშვებად. მას გააჩნია YAKINDU Statechart Tools, რომელიც უფასოა არაკომერციული გამოყენებისთვის. გადმოტვირთვის შემდეგ, თქვენ შეგიძლიათ შემოიტანოთ მაგალითი პირდაპირ ინსტრუმენტში:

ფაილი -> ახალი -> მაგალითი -> YAKINDU Statechart მაგალითები -> შემდეგი -> შუქნიშანი (C ++) Arduino– სთვის

> აქ შეგიძლიათ ჩამოტვირთოთ YAKINDU Statechart Tools <<

თქვენ შეგიძლიათ დაიწყოთ 30 დღიანი საცდელი პერიოდით. ამის შემდეგ, თქვენ უნდა მიიღოთ ლიცენზია, რომელიც უფასოა არაკომერციული გამოყენებისთვის!

გირჩევთ: