Mündəricat:

Arduino -da Dövlət Maşını - Piyada Svetoforu: 6 addım (şəkillərlə)
Arduino -da Dövlət Maşını - Piyada Svetoforu: 6 addım (şəkillərlə)

Video: Arduino -da Dövlət Maşını - Piyada Svetoforu: 6 addım (şəkillərlə)

Video: Arduino -da Dövlət Maşını - Piyada Svetoforu: 6 addım (şəkillərlə)
Video: Azərbaycanda avtomobillərin texniki baxışı ilə bağlı YENİLİK 2024, Noyabr
Anonim
Arduino -da Dövlət Maşını - Piyada Svetoforu
Arduino -da Dövlət Maşını - Piyada Svetoforu

Salam, sizə YAKINDU Statechart Tools vasitəsi ilə Arduino üçün C ++ da sonlu bir dövlət maşını ilə bir piyada svetoforunu necə proqramlaşdıracağınızı göstərəcəyəm. Bu, dövlət maşınlarının gücünü nümayiş etdirəcək və gələcək layihələr üçün bir plan olaraq istifadə edilə bilər.

Təchizat

Yalnız bir Arduino, bəzi düymələr, LEDlər, Jumper və rezistorlara ehtiyacınız var.

Avadanlıq

  • 2x düymə
  • 2x Svetofor və ya 220 Ohm rezistorlu LED -lərdən istifadə edə bilərsiniz
  • 2x 10k Ohm rezistorlar
  • Çörək lövhəsi
  • Jumper
  • Arduino Uno/Mega (və ya ən azı 8 GPIO olan hər hansı digər)

Proqram təminatı

  • YAKINDU Statechart Alətləri
  • Arduino üçün Eclipse C ++ IDE

Addım 1: Necə işlədiyini təyin edin: Piyada Svetoforu

Əvvəlcə piyada svetoforunun necə işləməli olduğunu dəqiqləşdirməliyik. Güllə nöqtələrini ümumiləşdirməyə çalışdım:

  • İki işıqfor istifadə olunur - biri avtomobillər üçün, digəri piyadalar üçün
  • Svetofor bir düymə ilə açıla bilər
  • Piyada bir düyməni basaraq küçədən keçməyi tələb edə bilər
  • Sönmüş işıqfor hər iki sarı LEDin yanıb -sönməsi ilə göstərilir
  • Svetofor yandıqdan sonra təhlükəsiz rejimdə 10 saniyə gözləyir
  • Təhlükəsiz rejimdən sonra, piyadalar sorğu verməyə başlayana qədər avtomobillər həmişə yaşıl mərhələyə malikdir
  • Piyadaların keçid istəyi sarı LED -i dəyişdirərək göstərilir

Əlavə olaraq, işıqforun necə işlədiyindən asılı olaraq bəzi vaxt hadisələri var.

Addım 2: Dövrə qurun

Dövrə qurun
Dövrə qurun

Dövrə qurmağa başlayaq. Mənim nümunəmdə, önizləmə görüntüsündə görə biləcəyiniz kimi, bir Arduino Mega 2560 istifadə etdim, amma ən azı səkkiz GPIO -ya malik olan hər bir Arduino yaxşı olmalıdır. Bundan əlavə, Amazon -da 5V işıqfor aldım. Sadəcə Trafik İşığı Arduino axtarın. Əks təqdirdə, altı fərqli LED istifadə edə bilərsiniz. Bundan əlavə, iki düyməyə və iki 10k Ohm rezistora ehtiyacınız var.

Üç sol LED avtomobil trafiki üçün istifadə olunur və piyadalar üçün üç sağ LED istifadə olunur.

Addım 3: Dövlət Maşınının Yaradılması

Dövlət Maşınının Yaradılması
Dövlət Maşınının Yaradılması

Beləliklə, gördüyünüz kimi, üzv üzvlü iki əsas vəziyyət var - vəziyyət açıq və əyalət. ON/OFF düyməsinə bağlanan onOff hadisəsini istifadə edərək hər iki dövlət arasında keçid edə bilərsiniz. İlkin vəziyyətdə, söndürülmüş vəziyyətdə, hər iki sarı LED hər saniyədə yanıb -sönməyə başlayır. Svetofor yandırıldıqdan sonra Təhlükəsizlikdən başlayır. 10 saniyədən sonra svetoforların tipik davranışı idarə olunacaq. Qırmızı və sarı LED StreetPrepare vəziyyətində açılacaq və 2 saniyə sonra işıqfor yaşıl yanacaq. Bu andan etibarən dövlət maşını, ikinci düyməyə bağlanan piyada tələbi hadisəsini gözləyir. Tədbir göndərildikdən sonra PedWating vəziyyətində hər saniyədə sarı LED dəyişdirilərək istək göstəriləcək. 7 saniyə sonra piyadalar Piyada Yaşıl vəziyyətinə keçmək üçün siqnal alana qədər işıqfor əvvəlcə sarı, sonra qırmızı rəngə keçəcək. Bundan sonra, PedestrianRed aktivləşir və dövr təkrarlanır. Bunu yalnız işıqforun yenidən söndürülməsi ilə kəsmək olar.

Addım 4: Nümunəni işə salın

Addım 5: Yaradılmış C ++ Kodu

Yaradılan C ++ kodu, dövlət maşınının məntiqini idarə etmək üçün klassik bir keçid qutusudur. Bu, necə göründüyünə dair bir kod parçasıdır:

etibarsız TrafficLightCtrl:: runCycle () {clearOutEvents (); for (stateConfVectorPosition = 0; stateConfVectorPosition <maxOrthogonalStates; stateConfVectorPosition ++) {switch (stateConfVector [stateConfVectorPosition]) {case main_region_on_r1_StreetGreen: {main_region_on_r1_StreetGreen_react (fasilə; } case main_region_on_r1_PedWaiting_r1_waitOn: {main_region_on_r1_PedWaiting_r1_waitOn_react (doğru); fasilə; } default: break; } clearInEvents (); }

Addım 6: Nümunə alın

Bütün nümunə tərtib etməyə və işə salmağa hazırdır. Kommersiya məqsədi ilə istifadə üçün pulsuz olan YAKINDU Statechart Tools ilə gəlir. Yüklədikdən sonra nümunəni birbaşa alətdə idxal edə bilərsiniz:

Fayl -> Yeni -> Misal -> YAKINDU Statechart Nümunələri -> Sonrakı -> Arduino üçün Svetofor (C ++)

> BURADA YAKINDU Statechart Alətlərini << yükləyə bilərsiniz

30 günlük sınaq ilə başlaya bilərsiniz. Daha sonra, qeyri-kommersiya məqsədləri üçün pulsuz olan bir lisenziya almalısınız!

Tövsiyə: