Mündəricat:

Çox Zamanlı W/ Xarici Nəzarət: 13 Addım
Çox Zamanlı W/ Xarici Nəzarət: 13 Addım

Video: Çox Zamanlı W/ Xarici Nəzarət: 13 Addım

Video: Çox Zamanlı W/ Xarici Nəzarət: 13 Addım
Video: Rahid Həmidli toyda güləşdi#shorts 2024, Iyul
Anonim
Çox Zamanlı W/ Xarici Nəzarət
Çox Zamanlı W/ Xarici Nəzarət

Instructable layihəsi çoxfunksiyalı Taymerdən ibarətdir

Bu taymer aşağıdakı kimi işləyə bilər:

  1. 1 saniyədən +90 saata qədər seçilə bilən ümumi təyinatlı həyəcan siqnalı. Səsli siqnal və/və ya xarici qurğunun idarə edilməsi ilə bitənə qədər geri sayımın olması, sonra həyəcandan sonra keçən vaxtın sayılması.
  2. 7 seçilə bilən vaxt, geri sayma və tamamlandıqda həyəcan siqnalı.
  3. Geri sayma və tamamlandıqda qısa bir çırpma ilə 4 seçmə vaxtı olan bir meditasiya taymeri, bundan sonra 5 dəqiqədə başqa bir cırıltı ilə saymaq.

Bu layihə burada təsvir edildiyi kimi qurula bilər və ya uyğun olaraq dəyişdirilə bilər. Əvvəllər bu funksiyaya sahib bir taymer qurdum və UV məruz qalma qutusunu idarə etmək üçün ilk Təlimatımda istifadə etdim.

Yalnız orijinal proqramı və lövhə dizaynlarını dərc edə biləcəyimi düşündüm. Ancaq nədənsə kodu tapa bilmədim. Nəzarət dövrələrini daha elastik etmək və batareyanın boşalmasını azaltmaq üçün aparatda təkmilləşdirmələr etmək istədim. Nəticədə əsas elektron lövhənin yenidən tərtib edilməsi və kodun yenidən yazılması proqramlaşdırma və aparat dizaynı yanaşmasını müzakirə etmək imkanı verir.

Bir dövrə lövhəsi yaratdığımda, tez -tez komponentlərin dizaynında və ya yerləşdirilməsində qüsurların olduğunu görürəm, qurduğum lövhələr də iki hissədən biridir. Üstəlik, bir layihənin başından sonuna qədər bütün aspektlərində iştirak etməyi sevirəm. Gerber sənədlərini istehsal üçün xaricə göndərməkdənsə, öz elektron lövhələrimi düzəltməyimin bəzi səbəbləri bunlardır. Bəlkə də qocalmışam və yollarımda ilişib qalmışam. Bu layihə bu qərəzliliyi əks etdirir. Öz elektron lövhələrimi hazırladığım üçün dizaynlarım və Gerber sənədlərim istehsal standartlarına cavab vermir, bu sənədləri daxil etməmişəm. Lövhələri düzəltmək və bitirmək istəməyənlər, öz dizaynlarını hazırlaya və Gerber fayllarını şərh bölməsində yerləşdirə bilərlər. Zəhmət olmasa yazmadan əvvəl lövhələrinizi hazırlayıb sınaqdan keçirin.

Addım 1: Avadanlıq Elementlərinə Baxış

Cihaz 4 AAA batareyadan işləyir və Arduino Pro Mini 5V ilə idarə olunur.

Kiçik bir səs siqnalı/dinamik səsli bir həyəcan təmin edir.

Kiçik 5V rölesi, xarici cihazlara nəzarət gərginliyi təmin edir. Bu nəzarət gərginliyi çıxışının mənbəyində elastiklik təmin edilir.

Düymə ilə fırlanan bir kodlayıcı menyu seçimini təmin edir.

Bir OLED ekranı və bir anlıq start/stop açarı istifadəçi interfeysini tamamlayır.

Əlavə elektron qurğu, xarici cihazlara qoşulmaq üçün SPDT güc açarı və miniatür telefon jakından ibarətdir.

Bundan əlavə, bu layihədə sizə kömək edəcək sənədlər təqdim olunur:

3D çaplı bir layihə işi üçün STL faylları.

İdarəetmə lövhəsinin və fırlanan enkoderin aşındırılması və tamamlanması üçün mis və lehim maskası şəkilləri.

Dizaynımı dəyişdirmək istəyənlər üçün bir istinad olaraq sxematik və lövhə şəkilləri.

Elektron lövhə istehsalının bir nümunəsi olaraq ikitərəfli elektron lövhələr yaratmaqla bağlı Təlimatımı nəzərdən keçirmək istəyə bilərsiniz.

Addım 2: Proqram təminatına ümumi baxış

Arduino mənbə faylları ilə yanaşı faydalı ola biləcək bəzi əlavə məlumatlar.

Mövcud olduqda hardware nəzarət kitabxanaları istifadə olunur (düymənin sıçraması, OLED nəzarəti, fırlanan kodlayıcının oxunması).

Proqram, loop funksiyasında bir keçid ifadəsi olaraq kodun icrasını idarə etmək üçün sadə sonlu vəziyyət maşını (FSM) tətbiq edir.

Menyu sinfi, OLED -də göstərilən variantların seçilməsinə və fırlanan enkoderdən istifadə edilməsinə imkan vermək üçün müəyyən edilmişdir.

Vaxt kritik olmadığı üçün kodu birbaşa aydınlaşdırmaqla (fasiləsiz idarəetmə) həyata keçirilir.

Seriala yazılan ifadələr, kodun icrasını və ayıklamasını izləmək üçün istifadə olunur

Proqram quruluş elementlərinin müxtəlif növləri:

  • Bəzi hardware nəzarət funksiyalarını və dəyişənlərini təcrid etmək üçün birdən çox kod nişanı.
  • Vəziyyət dəyərini (FSM) və dəyişənləri idarə etmək üçün ifadələri dəyişdirin.
  • Struktur tərifi
  • Dövlət dəyərlərinin mətn olaraq təyin edilməsinə imkan verən siyahılar.
  • #hardware pin və standart dəyərlər üçün əvvəlcədən prosessor təriflərini təyin edin.

Addım 3: Parça siyahısı

Qoşun yaradın
Qoşun yaradın

Bu addımı hara atacağımı bilmirdim, çünki demək olar ki, hər an edilə bilər. 3D çaplı bir qutu istifadə etdim. 3D printerə daxil ola bilməyəcəksiniz və ya elektron layihələriniz üçün istifadə etdiyiniz Alüminium qutu, Lazer Kəsmə plastik, Əl Oyma Ağac və ya digər növ kimi bir korpusa üstünlük verə bilərsiniz. Üst, alt, fırlanan kodlayıcı düyməsi və OLED çərçivəsi üçün STL sənədlərini daxil etdim. Yazıcınız üçün gcode faylları yaratmaq üçün bu faylları və seçdiyiniz dilimləyicidən istifadə edin.

PLA filamentindən istifadə edərək bütün hissələri çap edirəm, üstü və alt hissəsi üçün bir rəng, digərinə ziddiyyətli olan düymə və çərçivə üçün (üstə yapışdırılır.) Bütün dilimləyici parametrlərimi göstərməyəcəyəm, ancaq Tri istifadə edin. -Künc vintlərinin vurulmasına və kəsilmiş hərflərin oxunması üçün "dəstək yoxdur" qəbuluna icazə vermək üçün altıbucaq ən azı 35% doldurun. Yazıcılarımı "normal" qat hündürlüyündən istifadə edərək qutunu çap etdim.

Addım 9: Dizayn və Yazı Kodu

Bu addım isteğe bağlıdır, lakin daha yaxşı başa düşmək üçün təklif olunur.

Saatlar baxımından səylərin çoxu kodun yazılmasıdır. Əlavə edilmiş proqramı -is olaraq istifadə etsəniz bu addımı atlaya bilərsiniz. Bununla birlikdə, ehtiyaclarınızı ödəmək üçün daha yaxşı başa düşmək və ya dəyişdirmək üçün kodu nəzərdən keçirmək üçün vaxt ayırmanız təklif olunur.

Aşağıdakı şərhlər bu prosesi başa düşməkdə faydalı ola bilər.

  • Şərhlər- Gedərkən geniş şəkildə şərh yazın - kodu yazmazdan əvvəl tez -tez şərhlər yazıram.
  • Böl və fəth et - funksiyalardan, siniflərdən və modullardan istifadə et (nişanlar.) Sintaksisi yoxlamaq üçün tez -tez tərtib edin (Doğrula). Debug - axını və test dəyərlərini və hardware interfeyslərini yoxlamaq üçün çap ifadələrindən istifadə edin. Getdikcə problemləri həll etməkdən qorxma, heç kim səhvsiz kod yazmaz!
  • Sabitlər - #define əvvəlcədən tərtibçi təlimatları nömrələri sancmaq üçün adlar təyin edir. Şərhlərlə dəyişkən təriflər "Sehrli" rəqəmləri azaldır və ya aradan qaldırır. Proqramın və ya funksiyanın əvvəlində yerləşən sabitlərin istifadəsi, kodu yenidən yazmadan parametrləri dəyişdirməyə imkan verir
  • Əvvəlcədən təyin edilmiş kitabxanalar - Əvvəlcədən təyin edilmiş kitabxanalardan istifadə proqramlaşdırma yükünü və ayıklama müddətini azaldır.
  • Dizayn Blokları - Fərqli sekmelerde (əlaqəli proqramlar və.hfiles), nömrələmələrdə, siniflərdə və strukturlarda kodu təcrid edən funksiyalardan istifadə edərək yaradılmışdır. Kodun qalan hissəsi ilə necə işlədiyini başa düşmək üçün diqqətinizi hər birinə yönəldin.
  • Dövlət Maşını (lar) - Bu Arduinos və ya çıxışları idarə etmək və ya girişlərə reaksiya vermək üçün istifadə olunan hər hansı bir proqramla əla işləyən bir proqramlaşdırma nümunəsidir. Dövlət maşınlarının bir neçə çeşidi var. Bu kod, loop funksiyasındakı switch ifadəsinə əsaslanan bir dövlət maşını istifadə edir. Bu formanı anlamaq və düzəltmək asandır.
  • Ekran və Menyular - OLED çıxışı çox fərqlidir, lakin təsadüfi istifadəçilər üçün kifayət qədər rəy verir və seçim seçimini dəstəkləyir. Dövlət maşını ilə yaxşı birləşir (demək olar ki, bütün əyalətlərdə əlaqəli OLED ekranı var). Menyu sinfi, menyu seçimlərini göstərmək və seçmək üçün kodu təcrid etməkdə faydalı oldu

Zəhmət olmasa proqramı bir neçə dəfə oxuyun. Bir anda bir funksiya və ya bölmə götürməyə kömək edir. Ən azı iki dəfə oxumadığım müddətdə yazdığım kodu çox vaxt başa düşmürəm!

Addım 10: Proqramı quraşdırın

Əlavə edilmiş faylı kompüterinizə kopyalayın və sonra eskizlər qovluğunda açın

Arduino'yu kompüterinizə qoşun və proqram kodunu normal şəkildə yükləyin. Proqramın işlədiyini yoxlamaq və hata ayıklamada kömək etmək üçün Arduino IDE serial monitorunu açın.

Addım 11: Taymeri yığın

Taymeri yığın
Taymeri yığın
Taymeri yığın
Taymeri yığın
Taymeri yığın
Taymeri yığın
Taymeri yığın
Taymeri yığın

Kassanın yuxarı və aşağı hissələri çap edildikdən və təmizləndikdən sonra komponentlər öz-özünə vurulan kiçik plastik vintlər istifadə edərək bərkidilə bilər. Batareya tutucusu əvvəlcə arxaya yapışdırılır. Qalan hissələr korpusun üst hissəsinə aşağıdakı qaydada yapışdırılır:

  1. OLED və kabel
  2. Başlat/Durdur düyməsini və naqilləri
  3. Döner kodlayıcı və kabel
  4. Dinamik / Buzzer və naqillər
  5. Xarici idarəetmə yuvası və naqillər
  6. Açma/söndürmə sürüşmə açarı və naqillər (istədiyiniz istiqamətdə olması üçün oriyentasiyanı iki dəfə yoxlayın

Kabelləri birbaşa elektron kartınıza lehimləyirsinizsə, telin qırılmasını azaltmaq üçün bütün hissələri korpusa bağlandıqdan sonra bunu edin. Bu lövhəni arxaya bağlamadan əvvəl kabellərin ana lövhəyə bağlanmasını gözləməlisiniz.

Pin başlıqları və Dupont konnektorlarından istifadə edirsinizsə, əvvəlcə vidalarla ana lövhəni arxaya bağlayın, sonra komponentləri qoşun. Batareyanı ana lövhəyə bağlayarkən və düzgün polariteyi müşahidə edərkən diqqətli olun. Eyni zamanda röleyi idarə edən atlayıcıları və ya naqilləri də qurmalısınız.

Korpusun alt hissəsi, hər küncdə bir olmaqla, 4-40 ədəd yuvarlaq başlı maşın vintləri ilə yuxarıya bağlanır. Üstdəki dörd çuxur ya 4/40 nisbətində bir vuruşla vurulmalı və ya 4-40 yivli əlavə istifadə etsəniz, onları qəbul etmək üçün deliklər qazmalısınız. Altdakı əsas elektron lövhənin montajı üçün 4 delik də qazılmalıdır. Bu lövhəni yapışqan batareya yuvasına yapışdırın və deliklərin yerini qeyd edin. Montaj vintlərinizə uyğun olaraq qazın.

Addım 12: İnteqrasiya Testi

İnteqrasiya Testi
İnteqrasiya Testi
İnteqrasiya Testi
İnteqrasiya Testi
İnteqrasiya Testi
İnteqrasiya Testi

Yekun (inteqrasiya) testi bütün menyu seçimlərini sınayaraq və dizayn edildiyi kimi hardware ilə işlədiklərini yoxlamaqla həyata keçirilir. Təqdim etdiyim kod üçün bu kifayətdir. Öz kodunuzu yazsanız və ya dəyişdirdiyiniz minanı sınasanız daha geniş miqyaslı olmalısınız. Bütün vaxt seçimlərinin həyata keçirilməsinə ehtiyac olduğuna inanmıram, ancaq bütün standart həyəcan seçimlərini sınamalı və Yuxu və Meditasiya həyəcanlarının dizayn edildiyini təsdiqləməlisiniz.

Addım 13: Son Düşüncələr

Uğurlu bir layihə münasibətilə təbrik edirəm. Əminəm ki, yol boyu həll etməli olduğunuz problemlərlə qarşılaşdınız. Əminəm ki, bəzi göstərişlərim daha dolğun və ya daha aydın ola bilərdi. Zəhmət olmasa nəticələrinizin nə olduğunu və bu təlimatların necə təkmilləşdirilə biləcəyinə dair təkliflərinizi şərhlər bölməsi vasitəsilə mənə bildirin.

Bu layihəyə baxdığınız və/və ya qurduğunuz üçün təşəkkür edirik.

Tövsiyə: