Mündəricat:
- Addım 1: Komponentləri seçin
- Addım 2: BlinkLED -inizi yığın
- Addım 3: PIC proqramlaşdırın
- Addım 4: PIC12F509 ilə Qırmızı/Yaşıl yanıb -sönmək
Video: BlinkLED: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:49
BlinkLED, öz PIC mikro nəzarətçisinə malik olan bir LED -dir. Blink modelləri və yanıb -sönmə dərəcələri proqramlaşdırıla bilər və BlinkLED -lər fərdi olaraq (LED Atışları üçün) və ya bayram və ya xüsusi işıqlandırma üçün simlərdə istifadə edilə bilər. Milad ağacımı fərdi yanıb -sönən işıqlarla kəsmək istədiyim üçün bunları etdim. BlinkLED ilə bunu asanlıqla və təhlükəsiz şəkildə edə bilərəm. BlinkLED papatya zəncirləri, 2 nazik, demək olar ki, görünməz tellərlə (#30 AWG tel sarma teli) və 3-5 voltlu bir DC enerji təchizatı və ya batareyadan işləyir, buna görə də yüksək gərginlikli (120 vak) tel tələb olunmur. Videoda qırmızı ilə yaşıl arasında dəyişən BlinkLED -lər göstərilir. Hər bir BlinkLED -in bir rəngdə qalma vaxtı təsadüfi olaraq təyin olunur, belə ki, sonradan heç bir sürpriz olmayacaq ki, PIC mikrokontrolörlərini proqramlaşdırmaq üçün elektron montaj bacarıqlarına və avadanlıqlara malik olmalısınız.
Addım 1: Komponentləri seçin
Hər BlinkLED üçün aşağıdakılara ehtiyacınız olacaq: 1 ədəd Microchip 12F509 PIC Mikrokontrolör (Mouser PN 579-PIC12F509-I/P) 1 ea 22 ohm, 1/4 vatt müqavimət (Mouser PN 291-22-RC). Prototipimdə 22 ohm rezistor istifadə etdim, amma 22 ilə 220 ohm arasındakı hər hansı bir dəyər işləyəcək. İstifadə edəcəyiniz təchizat gərginliyindən, LED üzərindəki gərginliyin azalmasından və LED -in irəli gərginliyindən asılıdır. LED vasitəsilə 10-20 milliampa cərəyanla nəticələnəcək bir dəyər seçmək istəyirsiniz. Bir qayda olaraq, ohmdakı müqavimət dəyəri, təchizat gərginliyi ilə bərabərdir.5 volt, LED -in gərginlik düşüşü amperdə LED cərəyanına bölünür (1 milliamper =.001 amper). Məsələn, adətən 3,2 volt enerji təchizatı ilə 2,2 gərginlik düşməsinə malik olan yaşıl LED üçün: R = (3,2 volt -5 volt -2,2 volt) /.020 amper = 25 ohm. Fərqli rəngli LED -lərin olduğunu unutmayın. lite olduqda fərqli gərginlik düşür. Tipik dəyərlər bunlardır: Yaşıl 2.2 volt, Sarı 2.1 volt, Qırmızı 2.0 volt, Mavi 3.8 volt və Ağ 3.2 volt. Mavi və/və ya Ağ LED -ləri tam parlaqlığa çatdırmaq üçün onları istifadə edərkən təchizat gərginliyini artırmalı olacaqsınız. Demək olar ki, hər hansı bir LED işləyəcək. Prototipim üçün Milad işığından çıxarılan yaşıl bir LED seçdim. Düz içbükey üstə görə bunlar geniş baxış bucağına malikdir.
Addım 2: BlinkLED -inizi yığın
BlinkLED -ni yığmaq üçün şəkilləri izləyin. Kiçik bir lehimləmə dəmir və PIC tutmaq üçün bir mişardan istifadə etdim. İlk lehim birləşməsini hazırlayarkən çentikin istiqamətinə diqqət yetirin. Rezistor PIC -in 8 -ci pininə lehimlənir. Rezistordan kəsilmiş möhkəm teli saxlayın və son addımda PIC -ə lehimləyin. Bitmiş BlinkLED-in gücü bağlamaq üçün iki pulsuz ucu olacaq (üstəgəl [+] 1 pininə [Vdd] və mənfi [-] 8 pininə [Vss], rezistorlu pin).
Addım 3: PIC proqramlaşdırın
Budur mənim PICBasic Pro test proqramım. LED -i 35 ms ərzində yandırır və RANDOM funksiyası ilə təyin olunan dəyişən müddət ərzində söndürür. BlinkLED -in istədiyiniz kimi yanıb -sönməsini təmin etmək üçün bu proqramı dəyişə bilərsiniz. '*********************************************** ***** 'Proqram Adı: BlinkLED'Filename: BlinkLED'Sürüm: v1.00' *************************** ************************* '' PROQRAMIN TƏSVİRİ +++++++++++++++++++ ++++++++++++ '' Təsvir/Funksiya: Aşağı qiymətli LED flaşör Kompilyator və Versiya: PICBasic PRo v2.5''PIC HARDWARE SETUP ++++++++++++ ++++++++++++++++++++++ '' PIC üçün yazılmışdır: PIC12F509'DEFINE OSC 4TRISIO = %000000 'Bütün pinləri çıxış olaraq təyin edin WORD''Ana proqram +++++++++++++++++++++++++++++++++++++++ Əsas:
YÜKSEK LEDPAUSE 35LOW LED
RANDOM DelayPAUSE Delay & %0000001111111111 'fast' PAUSE Delay & %0000011111111111 'slow GOTO Main
SON
'################## PROGRAMIN SONU ####################
BlinkLED -ni sınamaq üçün PIC -ni tərtib edin, proqramlaşdırın və işlədin. Nəticələrdən razı qaldığınız zaman BlinkLED-ni test lövhəsindən çıxarın və onu enerji təchizatı və ya batareyaya qoşun. CR2032 batareyasını qoşun və BlinkLED 1-2 həftə ərzində yanıb-sönən gözəl bir LED atar.
BlinkLED -lərinizi göstərildiyi kimi düzəldə bilərsiniz və ya videoda gördüyünüz kimi, nəticədə hər BlinkLED -in ölçüsünü azaltmaq üçün bir PCB hazırladım və papatya zəncir vahidlərinin işini asanlaşdırmaq üçün başlıq sancaqları əlavə etdim. Bir güc bypass kondansatörü (.1 mf, 50 volt) əlavə etdiyimi və PIC -ni daha aşağı qiymətə malik PIC10F202 mikro nəzarətçisinə dəyişdirdiyimi də unutmayın. LED üçün səthə quraşdırılmış 51 ohm rezistor və lehim yastıqlarından istifadə etdim. PCB dizayn edərkən, PCB -nin arxa tərəfinə ikinci yastıq dəsti əlavə etmək qərarına gəldim. Bu əlavə yastıqlar, Milad Ağacı Demo videosunda göstərilən iki rəng effekti (qırmızıdan yaşıldan qırmızıya) istehsal etmək üçün ikinci bir LED əlavə etməyə imkan verir. (Növbəti addımda, bunları PIC12F509 istifadə edərək necə quracağınızı sizə göstərəcəyəm.) BlinkLED -ləri #30 AWG tel sarma teli ilə birləşdirirəm. Bütün BlinkLED -lər paralel olaraq bağlandığından, serial işıq xətləri ilə məhdudlaşmıram, ancaq "gövdə" simindən "filial" simləri ola bilər.
Addım 4: PIC12F509 ilə Qırmızı/Yaşıl yanıb -sönmək
PIC12F509 istifadə edərək qırmızı/yaşıl BlinkLED etmək üçün bu addımları izləyin. Mən 3 mm qırmızı və yaşıl LED -lərdən istifadə etdim. LED -lərin polaritesi vacibdir, buna görə addımları diqqətlə izləyin. İki LED elektrik mənbəyinə elektriklə qoşulduğundan, gərginlik çox yüksək olduqda hər ikisi eyni anda yanacaq. Əsl gərginlik istifadə etdiyiniz LED -lərdən asılıdır. Bu baş verərsə, daha aşağı bir gərginlik istifadə edin. BlinkLED'lerim üçün 3.2 ilə 4.5 volt arasında bir gərginlik çox yaxşı işləyirdi. İşdə mənim kodum. BlinkLED -in qırmızı və ya yaşıl olduğu vaxt RANDOM funksiyası ilə müəyyən edilir. Kompozit tərəfində yaşıl led, Komplekt olmayan tərəfdə qırmızı led Sabit yaşıl, grn/qırmızıdan qırmızıya, sonra geri
Yüksək LED 'lenti, yan tərəfə quraşdırılmışdır
ANA PROQRAM +++++++++++++++++++++++++++++++++++++++ Əsas:
RANDOM Gecikməsi
'PAUSE Delay & %000011111000' fast'PAUSE Delay & %001111100000 'medium'PAUSE Delay & %111110000000' slowPAUSE Delay & %1111100000000 'very slow'PAUSE Delay & %1110000000000' very slow, less varyasyon 50TOGGLE LEDPAUSE 50TOGGLE LEDPAUSE 50TOGGLE LED
GETO MainEND
'################## PROGRAMIN SONU ##################### Əylən!
Tövsiyə:
Arduino Avtomobil Ters Park Diqqət Sistemi - Addım -addım: 4 addım
Arduino Avtomobil Ters Park Diqqət Sistemi | Addım-addım: Bu layihədə, Arduino UNO və HC-SR04 Ultrasonik Sensoru istifadə edərək sadə bir Arduino Car Reverse Park Sensor Dövrü dizayn edəcəyəm. Bu Arduino əsaslı Avtomobil Ters siqnal sistemi Avtonom Naviqasiya, Robot Aralığı və digər diapazonlarda istifadə edilə bilər
Addım -addım PC qurulması: 9 addım
Addım -addım PC Bina: Təchizat: Təchizat: MotherboardCPU & CPU soyuducu PSU (Enerji təchizatı vahidi) Yaddaş (HDD/SSD) RAMGPU (tələb olunmur) Kassa Alətləri: Tornavida ESD bilərzik/mattermal pasta/aplikator
Üç Hoparlör Devresi -- Addım-addım təlimat: 3 addım
Üç Hoparlör Devresi || Addım-addım Təlimat: Dinamik Dövrə, ətraf mühitdən alınan səs siqnallarını MIC-ə gücləndirir və gücləndirilmiş səsin çıxarıldığı yerdən Dinamikə göndərir.Burada bu Hoparlör Devrini düzəltməyin üç fərqli yolunu göstərəcəyəm:
Robot texnikasında bir dəst ilə addım-addım təhsil: 6 addım
Bir dəst ilə Robototexnikada Addım-addım Təhsil: Öz robotumu düzəltdikdən bir neçə ay sonra (zəhmət olmasa bunların hamısına baxın) və iki dəfə hissələri arızalandıqdan sonra bir addım geri çəkilmək və öz fikrimi yenidən düşünmək qərarına gəldim. strategiya və istiqamət. Bir neçə aylıq təcrübə bəzən çox mükafatlandırıcı idi və
Arduino Uno ilə Akustik Levitasiya Addım-addım (8 addım): 8 addım
Arduino Uno ilə Akustik Levitasiya Adım Adım (8 addım): ultrasəs səs ötürücüləri L298N Dc dişi qadın adapteri kişi dc pinli Arduino UNOBreadboard Bu necə işləyir: Əvvəlcə Arduino Uno-ya kod yükləyirsiniz (rəqəmsal ilə təchiz edilmiş bir mikro nəzarətçidir) və kodu çevirmək üçün analog portlar (C ++)