Arduino ile bir LED'in yanıp sönmesi - Tam Eğitim

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Gönderi, yerleşik LED'inin yanıp sönmesi için temel bir Arduino kodu uygulama kılavuzunu kapsamlı bir şekilde tartışıyor. Veriler Jack Franko tarafından oluşturulmuş, test edilmiş ve yazılmıştır.



KOD: ARDUINO BOARD'un 13. pimindeki basitçe dahili LED için varsayılan olarak 50 Milisaniyede sık sık yanıp sönmeye programlanmıştır, çünkü açıklamada asms (milisaniye) olarak belirtilecektir.

/ * Birinci Basit
JACKFRANKO TARAFINDAN Arudino'da Program * /



int l = 13
//where l is pin 13void setup(){ pinMode
(l,OUTPUT) }void loop() { digitalWrite
(l,HIGH) delay(50) digitalWrite
(l,LOW) delay(50)}

Not: Bir programcı, tasarımcı veya hobi değilseniz, Arduino UNO R3 Board Programlama üzerinde çalışırken, öğrenci olarak temelden başlamalısınız.

İlk şey, çevrimiçi mağazalarda bulunan bir kit alarak Arduino Uno R3'ü anlamaktır.

Açıklama :

geleneğe göre program başlamadan önce ismimizi almak iyi bir FİKİR, işte yukarıda belirtilen ilk temel programım bu / * işareti ve adın metni ve arasına yazmak istediğiniz her şeyle başladı * / programı etkilemez ve programın bir parçası değildir çünkü Arduino program Derleyicisi '/ *, * /' işareti arasındaki şeylerin atlanması gerektiğini bilir, bu sadece programın başlığıdır.

/ * Birinci Basit

JACKFRANKO TARAFINDAN Arudino'da Program * / Next Line int l = 13

// 13. pim nerede

Tamsayıyı 'int' komutu ile ve ardından 13'e eşit olan ve noktalı virgülle biten küçük L alfabesi ve ardından çift bölü '//' ile biten küçük harf L harfiyle tanımlayacağımız programın Bildirge bölümüdür.

Burada genellikle tamsayı ve küçük L 13'e eşit dediğimiz “int” komutunu verdik ve burada derleyiciye “l” değerinin 13'e eşit olduğunu ve pin no. arduino kartında on üç, burada 'l' sadece 13 numaralı pin için belirlenmiş bir değerdir, 'l' derleyici için herhangi bir işlev veya komut dosyası değildir, kodu biraz daha kolay hale getirmek bizim için 'l' bu proje LED'in kısaltmasıdır.

Kodu biraz küçültmek ve biraz yer kazanmak istiyorum. Bu noktada, 'l' olarak tutmak istemiyorsanız, onu yani 'ben' için tutmak istediğinizi söyleyin, o zaman tüm kodda 'l' varsa onu 'ben' olarak değiştirmelisiniz, aksi takdirde derleyici çalışmayacak ve size hata verecektir.

Bu ifade, '//' tarafından takip edilen ikinci bölümden ve buradaki bazı metinlerden oluşuyor ve burada, açılışta '//' ile gelen ifadelerin ardından herhangi bir kapanışı yoksa, derleyicinin bu ifadeyi okumayacağını anlamamız gerekiyor. Kapanmadan birden çok satırda olabilir. Bu, anlaşılması için kodda bazı referanslar ve notlar vermemiz içindir.

Kodun geri kalan kısmını anlamadan önce, kodun temel işlevlerini anlamalıyız ve buradaki 'geçersiz kurulum' ve 'boşluk döngüsü' bu iki işlev çok önemlidir çünkü GİRİŞ, ÇIKIŞ ve ne tür bir iş ilan edeceğiz içinde tarafından yapılır. Öyleyse void kurulumuyla başlayalım, bu, projemiz için bir kez çalışması gereken GİRİŞLERİMİZİ VE ÇIKIŞLARIMIZI belirteceğimiz kodun bir parçasıdır. Burada kodumuza göre sadece bir çıktıdan bahsedeceğiz.

Diğer işlevi void döngüsü, döngü şeklinde çalışacak olan kodun ikinci bölümüdür. burada bu iki işlev de açık ve kapalı eğri parantezinden oluşur ve ardından küme parantezinin açık olmasından sonra bazı kodu ve küme parantezini kapatır. Bir sonraki programda bu parantez hakkında bilgi vereceğim. burada, bu parantezler arasına bazı kodların eklendiği süslü parantezlere odaklanmalıyız.

void setup(){ pinMode
(l,OUTPUT) }

Burada projemiz için bir kez çalışması gereken işlevi ve çıktımız olarak bunu belirttik. Eğer kodumuzu küme parantezleri içinde yazdığımızı fark ettiyseniz, burada pinMode l'nin çıktı olarak eğri parantez içinde olduğunu ve noktalı virgülle bittiğini belirtmiştik,

İşte pinMode tamsayı l'ye OUTPUT olarak atanmış bir fonksiyondur.

Bu nedenle, arduino derleyicisinde 13 numaralı pin olarak belirlenmiş, PinMode fonksiyonundan sonra l'nin yerine 13 koyarsak 13 numaralı pinin l ve l'nin 13 numaralı pin olduğunu anlayacaktır.
çıktı olarak hem 13'ü hem de l'yi dikkate alacaktır.

int l = 13'ü silersek alfabe l'yi dikkate almaz ve size bir hata verir. Burada pimi ayarladık
çıktı olarak alfabe l olan no 13, her zaman OUTPUT olarak büyük harfle yazılır ve pinmode işlevi pinMode'da boşluksuz küçük harfle başlayarak yazılır, diğer kelime Mode büyük harfle başlayan ve derleyici tarafından anlaşılan büyük harf duyarlıdır.

Daha sonra programımızın döngü moduna geliyoruz burada döngüde çalışması gereken tüm fonksiyonları belirtiyoruz
sınırsız uzun bir süre için.

void loop() { digitalWrite
(l,HIGH) delay(50) digitalWrite
(l,LOW) delay(50)}

Burada digitalWrite fonksiyonu ile l'den HIGH'a tamsayı olarak tanımlamıştık. Bu ifade, digitalWrite tamsayı yapacaktır l YÜKSEK, AÇIK dönecek AÇIK Arduino kartındaki pin no13, belirttiğimiz gibi 13 numaralı pin, eğri parantezlerinde virgülle ayrılmış l'dir.
Burada gecikmeyi (50) söyledikten sonra, bu ifade zamanı ms (milisaniye) cinsinden sayacaktır, burada 1000ms 1 saniyeye eşittir. Bu programda ledimin bir saniye matematiksel hesaplamada 20 kez yanıp sönmesini istiyorum
bana parantez içinde 50 değerini verdi.

Bu, döngü bölümünün altında ilk satırın 13 numaralı pimdeki ledimi açacağı ve 5ms bekleyeceği anlamına gelir. LED'i KAPATMAK için daha fazla döngü işlevi vermediysek, AÇIK kalacaktır.

Yine de 50ms için gecikmeyi söylemiştik. Bu yüzden LED'i KAPATMAK için bir komut verdik
içinde digitalWrite (l, DÜŞÜK) , bu ifadeyi belirttikten sonra LED kapanmayacaktır çünkü döngü tamamlanmamış gecikme (50) önce led'i yakıyoruz sonra 50ms kadar bekleriz sonra led'i kapatırız ve sonra 50ms bekleyerek Arduino'ya güç verildiği sürece sonsuza kadar oynayacak olan bir döngüyü tamamlarız. LED'inizi pin no'da açıp kapatacaktır.
Saniyede 20 defa 13.




Önceki: MOSFET kullanarak SPDT Katı Hal DC Röle Devresi Sonraki: İnkübatör Geri İleri Motor Kontrol Devresi