Mechabau® Kodlama BloğuTM (U1) Pin Tanımları

Kodlama BloğuTM U1

Kodlama BloğuTM modülü (U1) bir Arduino Nano devre kartı içerir. Bazı görevleri gerçekleştirmek üzere programlanabilen mini bir bilgisayardır.

Kodlama BloğuTM, USB kablosu kullanılarak bilgisayara bağlanır ve bir açma/kapama anahtarına sahip değildir. Kapatmak için USB kablosunu bilgisayarınızdan çıkarmalısınız.

U1 Kodlama BloğuTM bağlantıları:
(+) – güç
(-) – güç
A0, A4, A5 – Analog girişler
D2, D3, D7, D8, D9 – Dijital girişler/çıkışlar

Kodlama BloğuTM’unu diğer projeleriniz için de kullanabilirsiniz.

USB kablosu, Kodlama BloğuTM (U1) ile programlamak ve iletişim kurmak için kullanılır.

Kodlama BloğuTM modülünü diğer uygulamalarda kullanmak için notlar:

Güç kaynağı: Kodlama BloğuTM, yalnızca bir USB kablosu ve sette bulunan 9V pil tutucu kullanılarak çalıştırılmalıdır. Kodlama BloğuTM asla diğer Blok Devreler® setlerinde kullanılan veya harici güç kaynakları ile birlikte kullanılmamalıdır.

Analog girişler: Bunlar, voltajı 10 bit doğrulukla (1024 seviye) ölçebilir. Ayrıca ek dijital girişler/çıkışlar olarak işlev görecek şekilde yapılandırılabilirler.

Dijital girişler/çıkışlar: Bu girişler yapılandırıldığında, voltajların yüksek olması için güç kaynağı voltajının %80’inin üzerinde veya altında olması için güç kaynağı voltajının %20’sinin altında olması gerekir. Çıkışlar olarak yapılandırıldığında, her biri 20 mA’ya kadar akım sağlayabilir veya alabilir; bu bir LED’i yakmak için yeterlidir, ancak bir motoru veya hoparlörü kontrol ederken bir arabirim transistörüne ihtiyaç duyulabilir. Bunlar (D3 ve D9), Darbe Genişlik Modülasyonu (PWM) kullanılarak analog çıkışları simüle edecek şekilde yapılandırılabilir.

Proje 1 Devre Şeması (Mavi Işık)

Proje 1 Açıklama (Mavi Işık)

Blok Devreler®, farklı devreler oluşturmak için birbirine bağlanan elektronik bloklardan oluşur. Bu blokların üzerinde farklı renk ve numaralar bulunur, böylece onları kolayca tanıyabilirsiniz.

Resimdeki parçaları kullanarak gösterilen devreyi kurunuz. Aşağıdaki kodu Kodlama BloğunuzaTM kurduğunuzda mavi LED (L2) yanar.

Proje 1 Kod (Mavi Işık)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> LED 9 </span><span style='color:#595979; '>// LED'in bağlı olduğu pin</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span>LED<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// LED'i çıkış olarak bildirir</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> digitalWrite<span style='color:#308080; '>(</span>LED<span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// LED'i açın</span> <span style='color:#406080; '>}</span> </pre>

Proje 2 (Harici Güç Ekleme)

Proje 2 Açıklama (Harici Güç Ekleme)

Proje 1 devresini kurun. Programı yükledikten sonra Kodlama BloğuTM’nuzu çalıştırmak için usb kablosuna ihtiyacınız yoktur. USB kablosunu yeniden bağlayın ve anahtarı açın. Şimdi 9V pilinizi kullanın ve devrede gösterildiği gibi bağlayın. 9V pil tutucusuna bir 9V pil takın, bunu Kodlama BloğuTM modülü (U1) üzerindeki konektöre takın ve anahtar bloğundaki (S1) anahtarını açın. Alternatif olarak devreye 9V pil yerine USB kablosu kullanarak güç verebilirsiniz.
Anahtar başlığını (S1) kaydırın ve mavi LED (L2) yanar.

Proje 2 Kod (Harici Güç Ekleme)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> LED 9 </span><span style='color:#595979; '>// LED'in bağlı olduğu pin</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span>LED<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// LED'i çıkış olarak bildirir</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> digitalWrite<span style='color:#308080; '>(</span>LED<span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// LED'i açın</span> <span style='color:#406080; '>}</span> </pre>

Proje 3 Devre Şeması (Yanıp Sönen Işık)

Proje 3 Açıklama (Yanıp Sönen Işık)

Bu proje, Kodlama BloğuTM modülünü (U1) programlama prosedürünü açıklar. Mikrodenetleyici kullanılan herhangi bir devrede programlama kablosu takılarak yeniden programlanabilir. Yeni bir program indirme işlemi başlattığınızda, mikrodenetleyicide çalışmakta olan herhangi bir program kesintiye uğrar. Yeni bir program indirme işlemi tamamlandığında, yeni program çalışmaya başlayacaktır.

Mikrodenetleyiciye yeni programlar indirmek ve bazı programların bilgisayar ekranına veya bilgisayar ekranından karta bilgi aktarmasına izin vermek için USB kablosu gereklidir. USB ayrıca devrelerinize güç sağlar, bu nedenle bir USB cihazına bağlıyken 9V pil konektörü yok sayılır. Kodlama BloğuTM programlanmıştır, USB kablosunu çıkartabilir ve devreyi 9V pil konektörü kullanarak çalıştırabilirsiniz.

Proje 3 Kod (Yanıp Sönen Işık)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// 2 numaralı dijital pini elektrik vermek için çıkış olarak tanımlıyoruz.</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// HIGH komutu ile pin 2'den elektrik çıkışı sağlıyoruz.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>1000</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// kodumuzu 1000 milisaniye (1 saniye) tutuyoruz.</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Pin 2'den LOW komutu ile elektrik çıkışını durduruyoruz.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>1000</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// kodumuzu 1000 milisaniye (1 saniye) tutuyoruz.</span> <span style='color:#406080; '>}</span> </pre>

Proje 4 Devre Şeması (Tüm Işıklar Açık)

Proje 4 Açıklama (Tüm Işıklar Açık)

Devreyi kurun, programı karta yükleyin, anahtarı (S1) açın. Beyaz ve mavi LED’ler (L1 ve L2) yanacaktır.

Proje 4 Kod (Tüm Işıklar Açık)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> LED 9 </span><span style='color:#595979; '>// LED'in bağlı olduğu pin</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span>LED<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// LED'i çıkış olarak bildirin</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> digitalWrite<span style='color:#308080; '>(</span>LED<span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// LED'i açın</span> <span style='color:#406080; '>}</span> </pre>

Proje 5 Devre Şeması (Geçiş ve Yanıp Sönen Işıklar)

Proje 5 Açıklama (Geçiş ve Yanıp Sönen Işıklar)

Bu devreyi kurun. Programlama talimatını kullanarak “Geçiş ve Yanıp Sönen Işıklar”ı Kodlama Bloğuna TM yükleyin. Arduino, devredeki iki LED’i (beyaz ve mavi) kontrol eder ve yanıp sönmesini sağlayarak sırayla açıp kapatır.

Bu devrede kullanılacak sabit bir değer atamak için int komutunu (int tamsayının kısaltmasıdır) kullanır. Kullanılması gerekli değildir. Gecikme değerini düzenleyerek ve ardından bunu Kodlama BloğuTM’a yeniden yükleyerek yanıp sönme hızını değiştirebilirsiniz. Arduino Nano kartındaki mikro denetleyici, LED’leri, anahtarları veya diğer cihazları kullanarak yapılması zor işleri kontrol etmenizi sağlar.

Proje 5 Kod (Geçiş ve Yanıp Sönen Işıklar)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// 2 numaralı dijital pini elektrik vermek için çıkış olarak tanımlıyoruz.</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// 3 numaralı dijital pini elektrik vermek için çıkış olarak tanımlıyoruz.</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>//beyaz LED 1. kez yanıp söner</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// HIGH komutu ile pin 2'den elektrik çıkışı sağlıyoruz.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// kodumuzu 50 milisaniye tutuyoruz.</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Pin 2'den LOW komutu ile elektrik çıkışını durduruyoruz.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// kodumuzu 50 milisaniye tutuyoruz.</span> <span style='color:#595979; '>//kırmızı LED 2. kez yanıp söner</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//mavi LED 1. kez yanıp söner</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//mavi LED 2. kez yanıp söner</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> </pre>

Proje 6 Devre Şeması (Yanıp Sönen Işıklar ve Buzzer)

Proje 6 Açıklama (Yanıp Sönen Işıklar ve Buzzer)

Proje 5’i kurun ve buzzer modülünü (BZ1) gösterildiği gibi devreye ekleyin. Programlama talimatını kullanarak “Yanıp Sönen Işıklar ve Buzzer”ı Kodlama BloğuTM’na yükleyin. Arduino, devredeki LED’leri (beyaz ve mavi) ve Buzzer’ı kontrol eder. Yanıp sönerek/bip sesi çıkararak bunları açıp kapatır.

Gecikme değerini düzenleyerek ve ardından bunu Kodlama BloğuTM’na yeniden yükleyerek yanıp sönme hızını değiştirebilirsiniz. Arduino Nano kartındaki mikro denetleyici, LED’leri, anahtarları veya diğer cihazları kullanarak yapılması zor işleri kontrol etmenizi sağlar.

Proje 6 Kod (Yanıp Sönen Işıklar ve Buzzer)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// 2 numaralı dijital pini elektrik vermek için çıkış olarak tanımlıyoruz.</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Elektrik vermek için çıkış olarak 3 numaralı dijital pini tanımlıyoruz.</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>7</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// 7 numaralı dijital pini elektrik verecek çıkış olarak tanımlıyoruz.</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>//beyaz LED 1. kez yanıp söner</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// HIGH komutu ile pin 2'den elektrik çıkışı sağlıyoruz.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// kodumuzu 50 milisaniye tutuyoruz.</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Pin 2'den LOW komutu ile elektrik çıkışını durduruyoruz.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// kodumuzu 50 milisaniye tutuyoruz.</span> <span style='color:#595979; '>//kırmızı LED 2. kez yanıp söner</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//mavi LED 1. kez yanıp söner</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//mavi LED 2. kez yanıp söner</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//Buzzer 1 kez bip sesi çıkarır</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>7</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>7</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//Buzzer 2 kez bip sesi çıkarır</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>7</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>7</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> </pre>

Proje 7 Devre Şeması (Butonlu Aydınlatma Ledi)

Proje 7 Açıklama (Butonlu Aydınlatma Ledi)

Devreyi kurun. Programlama talimatını kullanarak “Butonlu Aydınlatma Ledi” kodlarını Kodlama BloğunaTM yükleyin. Anahtarı (S1) açın ve LED (L2) yanmalıdır. Şimdi anahtarı kapatın (S1) ve LED (L2) kapanır.

Bu projede PC’yi güç kaynağınız olarak kullanmaktasınız.

Arduino Nano kartına bir programın kurulu olup olmaması önemli değildir çünkü kartın sinyal pinleri kullanılmıyor.

Proje 7 Kod (Butonlu Aydınlatma Ledi)

Kod Gerekmiyor 🙂

Proje 8 Devre Şeması (LDR'den Veri Okuma)

Proje 8 Açıklama (LDR’den Veri Okuma)

Bu devreyi kurun. Seri Port ekranını açtığınızda ekrandan aşağı doğru akan sayılar göreceğiz. Fotodirenç (PR1) üzerine gelen ışık miktarını değiştirerek üzerinden geçen voltajın sayısal değeri de değişecektir. 330ohm direnç (R1), Fotodirençten (PR1) gelen aşırı elektrik voltajı kablo üzerinden boşaltılamadığından sürekli olarak yüksek bir değer verir. Fazla voltajı GND’ye (toprak) atarak daha doğru bir değer elde ederiz.

Bu projede PC’yi güç kaynağınız olarak kullanmaktayız.

Proje 8 Kod (LDR'den Veri Okuma)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> Serial<span style='color:#308080; '>.</span>begin<span style='color:#308080; '>(</span><span style='color:#008c00; '>9600</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Seri portu başlatıyoruz ve arduino ile bilgisayar arasındaki iletişim hızını (9600) belirliyoruz.</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>// Analog pinlerden veri okumak için analogRead() komutunu kullanıyoruz.</span> Serial<span style='color:#308080; '>.</span>println<span style='color:#308080; '>(</span>analogRead<span style='color:#308080; '>(</span><span style='color:#008c00; '>0</span><span style='color:#308080; '>)</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Serial.println() komutu, parantez içinde yazdığımız verileri ( analogRead(0) ) Seri Port ekranına yazdırır.</span> <span style='color:#406080; '>}</span> </pre>

Proje 9 Devre Şeması (Yıldız Savaşları Tema Şarkısı)

Proje 9 Açıklama (Yıldız Savaşları Tema Şarkısı)

Bu projede arduino + buzzer ve bazı ledler (isteğe bağlı) kullanarak Star Wars tema şarkısının (emperyal marş) nasıl yapıldığını göreceğiz. Sinyalin frekansını değiştirerek bir müzik notası alabilirsiniz.

Bu projede PC’yi güç kaynağınız olarak kullanmaktayız.

Proje 9 Kod (Yıldız Savaşları Tema Şarkısı)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> c <span style='color:#308080; '>=</span> <span style='color:#008c00; '>261</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> d <span style='color:#308080; '>=</span> <span style='color:#008c00; '>294</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> e <span style='color:#308080; '>=</span> <span style='color:#008c00; '>329</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> f <span style='color:#308080; '>=</span> <span style='color:#008c00; '>349</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> g <span style='color:#308080; '>=</span> <span style='color:#008c00; '>391</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> gS <span style='color:#308080; '>=</span> <span style='color:#008c00; '>415</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> a <span style='color:#308080; '>=</span> <span style='color:#008c00; '>440</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> aS <span style='color:#308080; '>=</span> <span style='color:#008c00; '>455</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> b <span style='color:#308080; '>=</span> <span style='color:#008c00; '>466</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> cH <span style='color:#308080; '>=</span> <span style='color:#008c00; '>523</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> cSH <span style='color:#308080; '>=</span> <span style='color:#008c00; '>554</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> dH <span style='color:#308080; '>=</span> <span style='color:#008c00; '>587</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> dSH <span style='color:#308080; '>=</span> <span style='color:#008c00; '>622</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> eH <span style='color:#308080; '>=</span> <span style='color:#008c00; '>659</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> fH <span style='color:#308080; '>=</span> <span style='color:#008c00; '>698</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> fSH <span style='color:#308080; '>=</span> <span style='color:#008c00; '>740</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> gH <span style='color:#308080; '>=</span> <span style='color:#008c00; '>784</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> gSH <span style='color:#308080; '>=</span> <span style='color:#008c00; '>830</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> aH <span style='color:#308080; '>=</span> <span style='color:#008c00; '>880</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> buzzerPin <span style='color:#308080; '>=</span> <span style='color:#008c00; '>8</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Dijital Pin 8</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> ledPin1 <span style='color:#308080; '>=</span> <span style='color:#008c00; '>12</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Dijital Pin 12</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> ledPin2 <span style='color:#308080; '>=</span> <span style='color:#008c00; '>13</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Dijital Pin 13</span> <span style='color:#200080; font-weight:bold; '>int</span> counter <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>//Pin modlarını ayarla</span> pinMode<span style='color:#308080; '>(</span>buzzerPin<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Dijital Pin 8</span> pinMode<span style='color:#308080; '>(</span>ledPin1<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Dijital Pin 12</span> pinMode<span style='color:#308080; '>(</span>ledPin2<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Dijital Pin 13</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>//Birinci bölümü oynat</span> firstSection<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//İkinci bölümü oynat</span> secondSection<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//Varyant 1</span> beep<span style='color:#308080; '>(</span>f<span style='color:#308080; '>,</span> <span style='color:#008c00; '>250</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>gS<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>f<span style='color:#308080; '>,</span> <span style='color:#008c00; '>350</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>a<span style='color:#308080; '>,</span> <span style='color:#008c00; '>125</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>cH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>a<span style='color:#308080; '>,</span> <span style='color:#008c00; '>375</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>cH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>125</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>eH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>650</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//İkinci bölümü tekrarla</span> secondSection<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//Varyant 2</span> beep<span style='color:#308080; '>(</span>f<span style='color:#308080; '>,</span> <span style='color:#008c00; '>250</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>gS<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>f<span style='color:#308080; '>,</span> <span style='color:#008c00; '>375</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>cH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>125</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>a<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>f<span style='color:#308080; '>,</span> <span style='color:#008c00; '>375</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>cH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>125</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>a<span style='color:#308080; '>,</span> <span style='color:#008c00; '>650</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>650</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> beep<span style='color:#308080; '>(</span><span style='color:#200080; font-weight:bold; '>int</span> note<span style='color:#308080; '>,</span> <span style='color:#200080; font-weight:bold; '>int</span> duration<span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>//buzzerPin'de ton çal</span> tone<span style='color:#308080; '>(</span>buzzerPin<span style='color:#308080; '>,</span> note<span style='color:#308080; '>,</span> duration<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//'counter' değerine bağlı olarak farklı LED oynatın</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>counter <span style='color:#308080; '>%</span> <span style='color:#008c00; '>2</span> <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> digitalWrite<span style='color:#308080; '>(</span>ledPin1<span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span>duration<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span>ledPin1<span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span><span style='color:#200080; font-weight:bold; '>else</span> <span style='color:#406080; '>{</span> digitalWrite<span style='color:#308080; '>(</span>ledPin2<span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span>duration<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span>ledPin2<span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#595979; '>//BuzzerPin'de sesi durdur</span> noTone<span style='color:#308080; '>(</span>buzzerPin<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>50</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//Sayacı artır</span> counter<span style='color:#308080; '>+</span><span style='color:#308080; '>+</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> firstSection<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> beep<span style='color:#308080; '>(</span>a<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>a<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>a<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>f<span style='color:#308080; '>,</span> <span style='color:#008c00; '>350</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>cH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>150</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>a<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>f<span style='color:#308080; '>,</span> <span style='color:#008c00; '>350</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>cH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>150</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>a<span style='color:#308080; '>,</span> <span style='color:#008c00; '>650</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>eH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>eH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>eH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>fH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>350</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>cH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>150</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>gS<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>f<span style='color:#308080; '>,</span> <span style='color:#008c00; '>350</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>cH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>150</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>a<span style='color:#308080; '>,</span> <span style='color:#008c00; '>650</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> secondSection<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> beep<span style='color:#308080; '>(</span>aH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>a<span style='color:#308080; '>,</span> <span style='color:#008c00; '>300</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>a<span style='color:#308080; '>,</span> <span style='color:#008c00; '>150</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>aH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>gSH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>325</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>gH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>175</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>fSH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>125</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>fH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>125</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>fSH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>250</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>325</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>aS<span style='color:#308080; '>,</span> <span style='color:#008c00; '>250</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>dSH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>dH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>325</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>cSH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>175</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>cH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>125</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>b<span style='color:#308080; '>,</span> <span style='color:#008c00; '>125</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> beep<span style='color:#308080; '>(</span>cH<span style='color:#308080; '>,</span> <span style='color:#008c00; '>250</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>350</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> </pre>

Proje 10 Devre Şeması (Gece Lambası)

Proje 10 Açıklama (Gece Lambası)

Bu devreyi kurun. Aşağıdaki programlama talimatlarını kullanarak Gece Lambasını Kodlama BloğunaTM yükleyin. Kırmızı LED’i (L1) açmak için fototransistörü (PR1) kapatın. Programlandıktan sonra devreye güç vermek için USB kablosu yerine 9V pil konektörünü kullanabilir, ardından devreyi karanlık bir odaya götürebilirsiniz. (Devreyi hareket ettirmeden önce düz bir plaka üzerine taşımayı unutmayın.)

Bu projede PC’yi güç kaynağınız olarak kullanmalısınız.

12 değerini daha yüksek veya daha düşük olarak değiştirerek hassasiyeti ayarlayabilirsiniz.

Proje 10 Kod (Gece Lambası)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>int</span> led <span style='color:#308080; '>=</span> <span style='color:#008c00; '>3</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>int</span> value<span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span>led<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> value <span style='color:#308080; '>=</span> analogRead<span style='color:#308080; '>(</span>A0<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>value<span style='color:#308080; '><</span><span style='color:#008c00; '>12</span><span style='color:#308080; '>)</span> <span style='color:#595979; '>// Değeri değiştirerek hassasiyeti ayarlayın</span> digitalWrite<span style='color:#308080; '>(</span>led<span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>else</span> digitalWrite<span style='color:#308080; '>(</span>led<span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> </pre>

Proje 11 Devre Şeması (Yanıp Sönme Oranı)

Proje 11 Açıklama (Yanıp Sönme Oranı)

Önceki devreyi kullanın, “Yanıp Sönen Işık” (Proje 3) kodlarını Kodlama BloğuTM’na yükleyin. Kırmızı LED (L1) karanlıkta yanıp sönecektir. Kodu aşağıda gösterildiği gibi verilen -değer- satırından sonra girin.

Proje 11 Kod (Yanıp Sönme Oranı)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>int</span> led <span style='color:#308080; '>=</span> <span style='color:#008c00; '>3</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>int</span> value<span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span>led<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> value <span style='color:#308080; '>=</span> analogRead<span style='color:#308080; '>(</span>A0<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>value<span style='color:#308080; '><</span><span style='color:#008c00; '>12</span><span style='color:#308080; '>)</span> <span style='color:#595979; '>// Değeri değiştirerek hassasiyeti ayarlayın</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// HIGH komutu ile pin 2'den elektrik çıkışı sağlıyoruz.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>1000</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// kodumuzu 1000 milisaniye (1 saniye) tutuyoruz.</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Pin 2'den LOW komutu ile elektrik çıkışını durduruyoruz.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>1000</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// kodumuzu 1000 milisaniye (1 saniye) tutuyoruz.</span> <span style='color:#406080; '>}</span> </pre>

Proje 12 Devre Şeması (Gece Sireni)

Proje 12 Açıklama (Gece Sireni)

Proje 10 devresini oluşturun. Şimdi LED yerine buzzer kullanın. Aşağıdaki programlama talimatlarını kullanarak “Gece Sireni” kodlarını Kodlama BloğunaTM yükleyin. Buzzer (BZ1)’i açmak için fototransistörü (PR1) kapatın. Programlandıktan sonra devreye güç vermek için USB kablosu yerine 9V pil konektörünü kullanabilir, ardından devreyi karanlık bir odaya götürebilirsiniz. (Devreyi hareket ettirmeden önce düz bir plaka üzerine yerleştirmeyi unutmayın.)

Bu projede PC’yi güç kaynağınız olarak kullanmalısınız.

12 değerini daha yüksek veya daha düşük olarak değiştirerek hassasiyeti ayarlayabilirsiniz.

Proje 12 Kod (Gece Sireni)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>int</span> buzzer <span style='color:#308080; '>=</span> <span style='color:#008c00; '>3</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>int</span> value<span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span>buzzer<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> value <span style='color:#308080; '>=</span> analogRead<span style='color:#308080; '>(</span>A0<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>value<span style='color:#308080; '><</span><span style='color:#008c00; '>12</span><span style='color:#308080; '>)</span> <span style='color:#595979; '>// Değeri değiştirerek hassasiyeti ayarlayın</span> digitalWrite<span style='color:#308080; '>(</span>buzzer<span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>else</span> digitalWrite<span style='color:#308080; '>(</span>buzzer<span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> </pre>

Proje 13 Devre Şeması (Karanlıkta Çalışan Siren)

Proje 13 Açıklama (Karanlıkta Çalışan Siren)

Önceki devreyi kullanın, ancak Yanıp Sönen Işık (Proje 3) kodlarını Kodlama BloğuTM’na yükleyin. Bu projede Buzzer (BZ1) karanlıkta çalışacaktır. Kodu aşağıda gösterildiği gibi verilen değer satırından sonra girin.

Proje 13 Kod (Karanlıkta Çalışan Siren)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>int</span> buzzer <span style='color:#308080; '>=</span> <span style='color:#008c00; '>3</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>int</span> value<span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span>buzzer<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> value <span style='color:#308080; '>=</span> analogRead<span style='color:#308080; '>(</span>A0<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>value<span style='color:#308080; '><</span><span style='color:#008c00; '>12</span><span style='color:#308080; '>)</span> <span style='color:#595979; '>// Değeri değiştirerek hassasiyeti ayarlayın</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// HIGH komutu ile pin 2'den elektrik çıkışı sağlıyoruz.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>1000</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// kodumuzu 1000 milisaniye (1 saniye) tutuyoruz.</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Pin 2'den LOW komutu ile elektrik çıkışını durduruyoruz.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>1000</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// kodumuzu 1000 milisaniye (1 saniye) tutuyoruz.</span> <span style='color:#406080; '>}</span> </pre>

Proje 14 Devre Şeması (Kodlama BloğuTM Testi)

Proje 14 Açıklama (Kodlama BloğuTM Testi)

Bu devrede, Kodlama BloğuTM modülündeki (U1) elektrik bağlantılarını test edeceğiz. Blok Devreler Kodlama Seti/Kodlama Kiti Kullanma Talimatı Sayfa A7 ve A8’deki Gelişmiş Sorun Giderme prosedürü tarafından referans alınır. Şimdilik kırmızı kablo terminalinin (T) boşta kalan ucunu herhangi bir yere bağlamadan devreyi gösterildiği gibi kurun. Aşağıdaki programlama kodunu kullanarak “Kodlama BloğuTM Testi” kodlarını Kodlama BloğuTM’na yükleyin.

Kırmızı kablo terminalinin (T) boştaki ucunu Kodlama BloğuTM modülündeki (U1) kullanılmayan pinlerin her birine sırayla dokundurun. (T) ucunun pinlere her temasında mavi LED (L2) yanıp sönmelidir.

USB kablosunu çıkarın, ardından 9V Pil (B3) ve Anahtar (S1) Bloğu’nu bağlayın ve anahtarı AÇIK konuma getirin; devre, USB kablosuyla aynı şekilde çalışmalıdır.

Proje 14 Kod (Kodlama BloğuTM Testi)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#595979; '>// Coding Block Test</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span>A0<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Tüm bağlantıları tanımlayın.</span> pinMode<span style='color:#308080; '>(</span>A4<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> pinMode<span style='color:#308080; '>(</span>A5<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>7</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>9</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> digitalWrite<span style='color:#308080; '>(</span>A0<span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Elektrik çıkışı YÜKSEK komutu veriyoruz.</span> digitalWrite<span style='color:#308080; '>(</span>A4<span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span>A5<span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>7</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>9</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>250</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span>A0<span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Elektrik çıkışı DÜŞÜK komutu veriyoruz.</span> digitalWrite<span style='color:#308080; '>(</span>A4<span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span>A5<span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>7</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>9</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>250</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> </pre>

Proje 15 Devre Şeması (LED Parlaklığını Kademeli Olarak Değiştirme)

Proje 15 Açıklama (LED Parlaklığını Kademeli Olarak Değiştirme)

PWM özellikli pin, LED’in yanma şeklini kontrol eder. Şimdi, LED’in parlaklığını kademeli olarak değiştirmek için PWM değerini değiştirelim.

Aşağıda gösterildiği gibi bir program yazın.

Program, LED’i kademeli olarak daha parlak hale getirmek için PWM oranını loop() işlevinde kullanılan “i” değişkeninde saklar.

while işleme, i 255’e ulaşana kadar STEP tarafından belirtilen artışlarla değeri artırır. Artan değer, LED’in parlaklığını değiştirmek için analogWrite() içindeki değer tarafından verilir. Ayrıca her PWM çıkışı değiştirildiğinde WAITTIME ile belirtilen süre kadar beklemeye yönlendirilir.

PWM oranı 255’e ulaştığında, LED’i kademeli olarak karartmak için 0’a kadar düşürülür. WAITTIME veya STEP değerini değiştirerek yanıp sönme hızını değiştirebilirsiniz. Bu projede LED’in parlaklığını nasıl kontrol edeceğimizi öğrendik.

Proje 15 Kod (LED Parlaklığını Kademeli Olarak Değiştirme)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> LED_PIN <span style='color:#308080; '>=</span> <span style='color:#008c00; '>3</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> WAITTIME <span style='color:#308080; '>=</span> <span style='color:#008c00; '>40</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Bekleme süresi. Değeri değiştirebilirsiniz. </span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> STEP <span style='color:#308080; '>=</span> <span style='color:#008c00; '>10</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Adım. Değeri değiştirebilirsiniz.</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span> LED_PIN<span style='color:#308080; '>,</span> OUTPUT <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> <span style='color:#200080; font-weight:bold; '>int</span> i<span style='color:#406080; '>;</span> i <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>while</span> <span style='color:#308080; '>(</span> i <span style='color:#308080; '><</span><span style='color:#308080; '>=</span> <span style='color:#008c00; '>255</span> <span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> analogWrite<span style='color:#308080; '>(</span> LED_PIN<span style='color:#308080; '>,</span> i <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span> WAITTIME <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> i <span style='color:#308080; '>=</span> i <span style='color:#308080; '>+</span> STEP<span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> i <span style='color:#308080; '>=</span> <span style='color:#008c00; '>255</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>while</span> <span style='color:#308080; '>(</span> i <span style='color:#308080; '>></span><span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span> <span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> analogWrite<span style='color:#308080; '>(</span> LED_PIN<span style='color:#308080; '>,</span> i <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span> WAITTIME <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> i <span style='color:#308080; '>=</span> i <span style='color:#308080; '>-</span> STEP<span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#406080; '>}</span> </pre>

Proje 16 Devre Şeması (Ses Seviyesini Parabolik Değiştirme)

Proje 16 Açıklama (Ses Seviyesini Parabolik Değiştirme)

Proje 15’i oluşturun ve şimdi LED’i (L1) Buzzer (BZ1) ile değiştirin. Aynı işlevsellik bu proje için de geçerlidir.

Proje 16 Kod (Ses Seviyesini Parabolik Değiştirme)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> Buzzer <span style='color:#308080; '>=</span> <span style='color:#008c00; '>3</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> WAITTIME <span style='color:#308080; '>=</span> <span style='color:#008c00; '>40</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Bekleme süresi. Değeri değiştirebilirsiniz.</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> STEP <span style='color:#308080; '>=</span> <span style='color:#008c00; '>10</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Adım. Değeri değiştirebilirsiniz.</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span> Buzzer<span style='color:#308080; '>,</span> OUTPUT <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> <span style='color:#200080; font-weight:bold; '>int</span> i<span style='color:#406080; '>;</span> i <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>while</span> <span style='color:#308080; '>(</span> i <span style='color:#308080; '><</span><span style='color:#308080; '>=</span> <span style='color:#008c00; '>255</span> <span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> analogWrite<span style='color:#308080; '>(</span> Buzzer<span style='color:#308080; '>,</span> i <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span> WAITTIME <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> i <span style='color:#308080; '>=</span> i <span style='color:#308080; '>+</span> STEP<span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> i <span style='color:#308080; '>=</span> <span style='color:#008c00; '>255</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>while</span> <span style='color:#308080; '>(</span> i <span style='color:#308080; '>></span><span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span> <span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> analogWrite<span style='color:#308080; '>(</span> Buzzer<span style='color:#308080; '>,</span> i <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span> WAITTIME <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> i <span style='color:#308080; '>=</span> i <span style='color:#308080; '>-</span> STEP<span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#406080; '>}</span> </pre>

Proje 17 Devre Şeması (Işık ve Ses Şiddetini Parabolik Değiştirme)

Proje 17 Açıklama (Işık ve Ses Şiddetini Parabolik Değiştirme)

Önceki devreyi kullanın, LED’i (L1) ve Buzzer’ı (BZ1) D3 pinine bağlayın. USB kablosunu gösterildiği gibi Kodlama BloğuTM’na ve PC’ye bağlayın. Programı Kodlama BloğunaTM yükleyin ve ne olduğunu görün. Her blok birlikte çalışır.

Proje 17 Kod (Işık ve Ses Şiddetini Parabolik Değiştirme)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> Pin <span style='color:#308080; '>=</span> <span style='color:#008c00; '>3</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> WAITTIME <span style='color:#308080; '>=</span> <span style='color:#008c00; '>40</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Bekleme süresi. Değeri değiştirebilirsiniz.</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> STEP <span style='color:#308080; '>=</span> <span style='color:#008c00; '>10</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Adım. Değeri değiştirebilirsiniz.</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span> Pin<span style='color:#308080; '>,</span> OUTPUT <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> <span style='color:#200080; font-weight:bold; '>int</span> i<span style='color:#406080; '>;</span> i <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>while</span> <span style='color:#308080; '>(</span> i <span style='color:#308080; '><</span><span style='color:#308080; '>=</span> <span style='color:#008c00; '>255</span> <span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> analogWrite<span style='color:#308080; '>(</span> Pin<span style='color:#308080; '>,</span> i <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span> WAITTIME <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> i <span style='color:#308080; '>=</span> i <span style='color:#308080; '>+</span> STEP<span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> i <span style='color:#308080; '>=</span> <span style='color:#008c00; '>255</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>while</span> <span style='color:#308080; '>(</span> i <span style='color:#308080; '>></span><span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span> <span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> analogWrite<span style='color:#308080; '>(</span> Pin<span style='color:#308080; '>,</span> i <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span> WAITTIME <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> i <span style='color:#308080; '>=</span> i <span style='color:#308080; '>-</span> STEP<span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#406080; '>}</span> </pre>

Proje 18 Devre Şeması (Anahtar Durumlarını Okuma)

Proje 18 Açıklama (Anahtar Durumlarını Okuma)

Bu projede switch kullanmayı ve gerçekte nasıl çalıştığını öğrenebilirsiniz. Dijital çıkış pinini YÜKSEK (5V) ve DÜŞÜK (0V) olmak üzere iki durum arasında değiştirerek LED’i, motoru, buzzer’ı vb. kontrol etmenizi sağlar. Dijital çıkışları, elektronik bileşenleri kontrol etmek için de kullanabilirsiniz. Dijital çıkış pini, dijital girişe dönüştürülebilir. Bunu yaparak dijital girişli pine uygulanan voltajı “DÜŞÜK” ve “YÜKSEK” olmak üzere iki şekilde kontrol edebilirsiniz. Bu giriş değerleri diğer elektronik bileşenleri kontrol etmek için kullanılabilir. Örneğin, dijital giriş YÜKSEK olduğunda LED’i veya sesli uyarıyı çalıştırmak veya giriş DÜŞÜK olduğunda durdurmak isteyebilirsiniz.

Durum verisini kontrol etmek istediğinizde “serial monitörü” kullanın. USB kablosunu kullanarak verileri Arduino’dan PC’ye gönderebilirsiniz. Veri alışverişi için seri iletişim kullanılır.

Bu projede kullanılan pin 7’yi giriş moduna çevirmek için pinMode()’da “INPUT” belirtin. Artık pin durumunu programdan kontrol edebilirsiniz.

digitalRead() içinde belirtilen pin durumu alınır ve değer değişkeninde saklanır. 0V ise “0”, 5V ise “1” kaydedilir.

Proje 18 Kod (Anahtar Durumlarını Okuma)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> DIN_PIN <span style='color:#308080; '>=</span> <span style='color:#008c00; '>7</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span> DIN_PIN<span style='color:#308080; '>,</span> INPUT <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> Serial<span style='color:#308080; '>.</span>begin<span style='color:#308080; '>(</span> <span style='color:#008c00; '>9600</span> <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>{</span> <span style='color:#200080; font-weight:bold; '>int</span> value<span style='color:#406080; '>;</span> value <span style='color:#308080; '>=</span> digitalRead<span style='color:#308080; '>(</span> DIN_PIN <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> Serial<span style='color:#308080; '>.</span>println<span style='color:#308080; '>(</span> value <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> delay<span style='color:#308080; '>(</span> <span style='color:#008c00; '>1000</span> <span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> </pre>

Proje 19 Devre Şeması (Voltaj Okuma)

Proje 19 Açıklama (Voltaj Okuma)

Arduino üzerinde bulunan pinleri dijitalden analoğa çevirerek voltaj okumak mümkündür. Kodu Kodlama BloğuTM’na yükledikten sonra seri port ekranını açın. Arduino mikrodenetleyici 5V voltaj ile çalışmaktadır. Bu mikrodenetleyici 10-bit ADC, 210 = 1024 doğruluk adımlarıyla 0V ile 5V arasındaki voltajları okuyabilir.

Kırmızı kablonun serbest ucunu “T” kullanın, Önce seri porttan voltaj değerini okuyun. Ardından, “T” ucunu “A” noktasına  dokundurun ve değerleri tekrar okuyun. Son olarak, “T” ucuna “B” noktasına dokundurun ve voltaj farklılıklarını gözlemleyin.

Proje 19 Kod (Voltaj Okuma)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> potpin A0</span> <span style='color:#200080; font-weight:bold; '>int</span> value <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> Serial<span style='color:#308080; '>.</span>begin<span style='color:#308080; '>(</span><span style='color:#008c00; '>9600</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> Serial<span style='color:#308080; '>.</span>println<span style='color:#308080; '>(</span><span style='color:#800000; '>"</span><span style='color:#1060b6; '>Değeri Oku</span><span style='color:#800000; '>"</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> value <span style='color:#308080; '>=</span> analogRead<span style='color:#308080; '>(</span>potpin<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>float</span> Voltage <span style='color:#308080; '>=</span> <span style='color:#308080; '>(</span><span style='color:#008000; '>5.00</span><span style='color:#308080; '>/</span><span style='color:#008000; '>1024.00</span><span style='color:#308080; '>)</span><span style='color:#308080; '>*</span>value<span style='color:#406080; '>;</span> <span style='color:#595979; '>//</span> Serial<span style='color:#308080; '>.</span>println<span style='color:#308080; '>(</span>Voltage<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//Hesaplanan voltaj seri monitöre mesaj olarak gönderilir.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>1000</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> </pre>

Proje 20 Devre Şeması (Flip Flop Işıklar)

Proje 20 Açıklama (Flip Flop Işıklar)

Flip Flop Işıklar; İki LED’in sırayla yanıp sönmesini sağlayan bir uygulamadır. LED’lerden biri yanarken diğeri söner ve LED’lerin açma-kapama sürelerini dilediğiniz gibi ayarlayabilirsiniz.

Bu devreyi kurun. Aşağıdaki programlama talimatlarını kullanarak Flip Flop Işıkları Kodlama BloğunaTM yükleyin.

Kodlama BloğuTM pin 2 ve pin 3’e bağlı LED’leri 1 saniye aralıklarla sırayla yanıp sönen ve bir döngüde devam eden programdır.

Lütfen Dikkat: BC-135 (SKU: 86600) Mechabau® Blok Devreler® Setiniz varsa, Sürgülü anahtar (S1) yerine Pres Anahtarını (S2) kullanabilirsiniz.

Proje 20 Kod (Flip Flop Işıklar)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// D2 pinini çıkış olarak ayarlayın.</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// D3 pinini çıkış olarak ayarlayın.</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Burada pin D2'yi lojik 1 yapın.</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Burada pin D3'ü lojik 0 yapın.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>1000</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// 1 saniye bekletin.</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Burada pin D2'yi lojik 0 yapın.</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Burada pin D3'ü lojik 1 yapın.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>1000</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// 1 saniye bekletin.</span> <span style='color:#406080; '>}</span> </pre>

Proje 21 Devre Şeması (Flip Flop Işık ve Ses)

Proje 21 Açıklama (Flip Flop Işık ve Ses)

Önceki devreyi kullanın ve LED’i (L1) buzzer (BZ1) ile değiştirin ve programı tekrar çalıştırın. LED (L2) açıkken Buzzer (BZ1) kapalıdır. LED (L2) kapalıyken Buzzer (BZ1) açıktır. Ayrıca LED’in ve buzzer’ın açma-kapama sürelerini de dilediğiniz gibi ayarlayabilirsiniz.

Dilerseniz pil bloğunu (B3) ve anahtar bloğunu (S1) kullanarak bilgisayardan bağımsız olarak çalıştırabilirsiniz.

Lütfen Dikkat: BC-135 (SKU: 86600) Mechabau® Blok Devreler® Setiniz varsa, sürgülü anahtar (S1) yerine Pres Anahtarını (S2) kullanabilirsiniz.

Proje 21 Kod (Flip Flop Işık ve Ses)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// D2 pinini çıkış olarak ayarlayın.</span> pinMode<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// D3 pinini çıkış olarak ayarlayın.</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Burada pin D2'yi lojik 1 yapın.</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Burada pin D3'ü lojik 0 yapın.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>1000</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// 1 saniye (1000 mili saniye) bekletin.</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> LOW<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Burada pin D2'yi lojik 0 yapın.</span> digitalWrite<span style='color:#308080; '>(</span><span style='color:#008c00; '>3</span><span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Burada pin D3'ü lojik 1 yapın.</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>1000</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// 1 saniye (1000 mili saniye) bekletin.</span> <span style='color:#406080; '>}</span> </pre>

Proje 22 Devre Şeması (Işık Parlaklığını Artımlı Değiştirme)

Proje 22 Açıklama (Işık Parlaklığını Artımlı Değiştirme)

Devreyi kurun ve kodları yükleyin. Programlama talimatlarını kullanarak “Işık Parlaklığını Artımlı Değiştirme” ayarlarını Kodlama BloğundaTM değiştirin. Anahtar (S1) KAPALI olduğunda, LED (L1) maksimum parlaklıkta yanacaktır. Düğmeyi AÇIK konuma getirin, ışığın parlaklığı 4 adımda artar. Anahtarı (S1) kapatana kadar döngü tekrar etmeye devam eder.

LED parlaklığı, 0 ile 255 arasındaki değerleri kullanan digitalWrite() komutu kullanılarak ayarlanır, ancak artımlı artışlar, düşük sayılar arasında yüksek sayılar arasında olduğundan çok daha belirgin olacaktır. Bu nedenle, bu devre, LED parlaklığını 2’nin katlarına ayarlamak için bir dizi kullanır ve ardından minimuma sıfırlanır. Artımlı artışlar, son değere göre 85 puan artırıldığında çok daha belirgin olacaktır.

Lütfen Dikkat: BC-135 (SKU: 86600) Mechabau® Blok Devreler® Setiniz varsa, sürgülü anahtar (S1) yerine Pres Anahtarını (S2) kullanabilirsiniz.

Proje 22 Kod (Işık Parlaklığını Artımlı Değiştirme)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> led 3 </span><span style='color:#595979; '>//pin D3'ü LED'e atayın</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> Switch 7 </span><span style='color:#595979; '>//pin D7'yi Switch'e atayın</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> SAMPLING 250 </span><span style='color:#595979; '>//baskı başına 250 milli saniye, geri dönüş için kullanılır</span> <span style='color:#200080; font-weight:bold; '>static</span> <span style='color:#200080; font-weight:bold; '>unsigned</span> <span style='color:#200080; font-weight:bold; '>long</span> TIMER <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//geçerli süreyi kaydet()</span> byte state <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Switch'in mevcut durumunu programda daha sonra kontrol etmek için kullanılan değer</span> byte brightness<span style='color:#308080; '>[</span><span style='color:#308080; '>]</span> <span style='color:#308080; '>=</span> <span style='color:#406080; '>{</span><span style='color:#008c00; '>0</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>75</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>150</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>255</span><span style='color:#406080; '>}</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// artımları yorumlayınız </span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> pinMode<span style='color:#308080; '>(</span>led<span style='color:#308080; '>,</span>OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> pinMode<span style='color:#308080; '>(</span>Switch<span style='color:#308080; '>,</span>INPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> digitalWrite<span style='color:#308080; '>(</span>Switch<span style='color:#308080; '>,</span> HIGH<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//dahili direnci kullanın, harici dirence gerek yok. </span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>millis<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#308080; '>-</span> TIMER <span style='color:#308080; '>></span><span style='color:#308080; '>=</span> SAMPLING<span style='color:#308080; '>)</span> <span style='color:#595979; '>//örnek ~= 250mS</span> <span style='color:#406080; '>{</span> TIMER <span style='color:#308080; '>=</span> millis<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span><span style='color:#308080; '>!</span>digitalRead<span style='color:#308080; '>(</span>Switch<span style='color:#308080; '>)</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> state<span style='color:#308080; '>+</span><span style='color:#308080; '>+</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//artış durumu</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>state <span style='color:#308080; '>></span> <span style='color:#008c00; '>3</span><span style='color:#308080; '>)</span> <span style='color:#595979; '>//sadece 4 parlaklık seçeneği istiyorum, 0, 1, 2, 3</span> state <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> analogWrite<span style='color:#308080; '>(</span>led<span style='color:#308080; '>,</span> brightness<span style='color:#308080; '>[</span>state<span style='color:#308080; '>]</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>//değiştirmek istemiyorsanız, analogWrite(led, state*85) kullanın; </span> <span style='color:#595979; '>//bayt dizisi yok;</span> <span style='color:#595979; '>//0*85 = 0</span> <span style='color:#595979; '>//1*85 = 85</span> <span style='color:#595979; '>//2*85 = 170</span> <span style='color:#595979; '>//3*85 = 255</span> <span style='color:#406080; '>}</span> <span style='color:#406080; '>}</span> <span style='color:#406080; '>}</span> </pre>

Proje 23 Devre Şeması (Aç/Kapat ile LED Geçişlerini Değiştir)

Proje 23 Açıklama (Aç/Kapat ile LED Geçişlerini Değiştir)

Bu projede, anahtarın her açılıp kapanmasında LED’in nasıl değiştirileceğini öğreneceğiz. Anahtarı (S1) birkaç kez açıp kapatmaya devam edin ve nasıl çalıştığını görün. LED’in durumundaki değişimi not edin.

Seri monitörü açın ve anahtarı (S1) her açtığınızda çıkan mesajları görün.

Lütfen Dikkat: BC-135 (SKU: 86600) Mechabau® Blok Devreler® Setiniz varsa, sürgülü anahtar (S1) yerine Pres Anahtarını (S2) kullanabilirsiniz.

Proje 23 Kod (Aç/Kapat ile LED Geçişlerini Değiştir)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> Switch_PIN <span style='color:#308080; '>=</span> <span style='color:#008c00; '>7</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// D7 switch pinine bağlı</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> LED_PIN <span style='color:#308080; '>=</span> <span style='color:#008c00; '>3</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// D3 LED pinine bağlı</span> <span style='color:#595979; '>// düzenlenebilir değişkenler:</span> <span style='color:#200080; font-weight:bold; '>int</span> ledState <span style='color:#308080; '>=</span> LOW<span style='color:#406080; '>;</span> <span style='color:#595979; '>// ED'in mevcut durumu</span> <span style='color:#200080; font-weight:bold; '>int</span> lastSwitchState<span style='color:#406080; '>;</span> <span style='color:#595979; '>// Switch'in önceki durumu</span> <span style='color:#200080; font-weight:bold; '>int</span> currentSwitchState<span style='color:#406080; '>;</span> <span style='color:#595979; '>// Switch'in mevcut durumu</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> Serial<span style='color:#308080; '>.</span>begin<span style='color:#308080; '>(</span><span style='color:#008c00; '>9600</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// seriali başlat</span> pinMode<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>,</span> INPUT_PULLUP<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// arduino pinini giriş çekme moduna ayarla</span> pinMode<span style='color:#308080; '>(</span>LED_PIN<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// arduino pinini çıkış moduna ayarla</span> currentSwitchState <span style='color:#308080; '>=</span> digitalRead<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> lastSwitchState <span style='color:#308080; '>=</span> currentSwitchState<span style='color:#406080; '>;</span> <span style='color:#595979; '>// son durumu kaydet</span> currentSwitchState <span style='color:#308080; '>=</span> digitalRead<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// yeni durumu oku</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>lastSwitchState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> HIGH <span style='color:#308080; '>&</span><span style='color:#308080; '>&</span> currentSwitchState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> LOW<span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> Serial<span style='color:#308080; '>.</span>println<span style='color:#308080; '>(</span><span style='color:#800000; '>"</span><span style='color:#1060b6; '>Anahtar açık</span><span style='color:#800000; '>"</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// LED durumunu değiştir</span> ledState <span style='color:#308080; '>=</span> <span style='color:#308080; '>!</span>ledState<span style='color:#406080; '>;</span> <span style='color:#595979; '>// LED'i geçiş durumuna göre kontrol et</span> digitalWrite<span style='color:#308080; '>(</span>LED_PIN<span style='color:#308080; '>,</span> ledState<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#406080; '>}</span> </pre>

Proje 24 Devre Şeması (Aç/Kapat ile Buzzer Geçişlerini Değiştir)

Proje 24 Açıklama (Aç/Kapat ile Buzzer Geçişlerini Değiştir)

Bu proje önceki proje ile aynıdır, sadece LED’i (L1) Buzzer (BZ1) ile değiştirin. Diğer çalışma şekilleri aynıdır.

Seri monitörü açın ve anahtarı (S1) her açtığınızda çıkan mesajları görün.

Lütfen Dikkat: BC-135 (SKU: 86600) Mechabau® Blok Devreler® Setiniz varsa, sürgülü anahtar (S1) yerine Pres Anahtarını (S2) kullanabilirsiniz.

Proje 24 Kod (Aç/Kapat ile Buzzer Geçişlerini Değiştir)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> Switch_PIN <span style='color:#308080; '>=</span> <span style='color:#008c00; '>7</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// D7 switch pinine bağlı</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> Buzzer_PIN <span style='color:#308080; '>=</span> <span style='color:#008c00; '>3</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// D3 Buzzer pinine bağlı</span> <span style='color:#595979; '>// düzenlenebilir değişkenler:</span> <span style='color:#200080; font-weight:bold; '>int</span> BuzzerState <span style='color:#308080; '>=</span> LOW<span style='color:#406080; '>;</span> <span style='color:#595979; '>// Buzzer'ın mevcut durumu</span> <span style='color:#200080; font-weight:bold; '>int</span> lastSwitchState<span style='color:#406080; '>;</span> <span style='color:#595979; '>// Switch'in önceki durumu</span> <span style='color:#200080; font-weight:bold; '>int</span> currentSwitchState<span style='color:#406080; '>;</span> <span style='color:#595979; '>// Switch'in mevcut durumu</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> Serial<span style='color:#308080; '>.</span>begin<span style='color:#308080; '>(</span><span style='color:#008c00; '>9600</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// seriali başlat</span> pinMode<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>,</span> INPUT_PULLUP<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// arduino pinini giriş çekme moduna ayarla</span> pinMode<span style='color:#308080; '>(</span>Buzzer_PIN<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// arduino pinini çıkış moduna ayarla</span> currentSwitchState <span style='color:#308080; '>=</span> digitalRead<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> lastSwitchState <span style='color:#308080; '>=</span> currentSwitchState<span style='color:#406080; '>;</span> <span style='color:#595979; '>// son durumu kaydet</span> currentSwitchState <span style='color:#308080; '>=</span> digitalRead<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// yeni durumu oku</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>lastSwitchState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> HIGH <span style='color:#308080; '>&</span><span style='color:#308080; '>&</span> currentSwitchState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> LOW<span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> Serial<span style='color:#308080; '>.</span>println<span style='color:#308080; '>(</span><span style='color:#800000; '>"</span><span style='color:#1060b6; '>Anahtar açık</span><span style='color:#800000; '>"</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Buzzer durumunu değiştir</span> BuzzerState <span style='color:#308080; '>=</span> <span style='color:#308080; '>!</span>BuzzerState<span style='color:#406080; '>;</span> <span style='color:#595979; '>// Buzzer'ı geçiş durumuna göre kontrol et</span> digitalWrite<span style='color:#308080; '>(</span>Buzzer_PIN<span style='color:#308080; '>,</span> BuzzerState<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#406080; '>}</span> </pre>

Proje 25 Devre Şeması (Kısa Basma Nasıl Tespit Edilir)

Proje 25 Açıklama (Kısa Basma Nasıl Tespit Edilir)

Anahtara basma ve bırakma arasındaki süreyi ölçüyoruz. Süre tanımlanan süreden daha kısa ise kısa basma olayı algılanır. SHORT_PRESS_TIME = 500 değerini istediğiniz gibi değiştirebilirsiniz. Süre ayarladığınız kadar uzun olduğunda seri monitörde herhangi bir tepki görmezsiniz.

Lütfen Dikkat: BC-135 (SKU: 86600) Mechabau® Blok Devreler® Setiniz varsa, sürgülü anahtar (S1) yerine Pres Anahtarını (S2) kullanabilirsiniz.

Proje 25 Kod (Kısa Basma Nasıl Tespit Edilir)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> Switch_PIN <span style='color:#308080; '>=</span> <span style='color:#008c00; '>7</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Switch pin numarası</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> SHORT_PRESS_TIME <span style='color:#308080; '>=</span> <span style='color:#008c00; '>500</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// 500 milisaniye</span> <span style='color:#595979; '>// Düzenlenebilir değişkenler:</span> <span style='color:#200080; font-weight:bold; '>int</span> lastState <span style='color:#308080; '>=</span> LOW<span style='color:#406080; '>;</span> <span style='color:#595979; '>// giriş pininden önceki durum</span> <span style='color:#200080; font-weight:bold; '>int</span> currentState<span style='color:#406080; '>;</span> <span style='color:#595979; '>// giriş pininin mevcut değerini okuma</span> <span style='color:#200080; font-weight:bold; '>unsigned</span> <span style='color:#200080; font-weight:bold; '>long</span> pressedTime <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>unsigned</span> <span style='color:#200080; font-weight:bold; '>long</span> releasedTime <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> Serial<span style='color:#308080; '>.</span>begin<span style='color:#308080; '>(</span><span style='color:#008c00; '>9600</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> pinMode<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>,</span> INPUT_PULLUP<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>// Anahtarın durumunu okuma:</span> currentState <span style='color:#308080; '>=</span> digitalRead<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>lastState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> HIGH <span style='color:#308080; '>&</span><span style='color:#308080; '>&</span> currentState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> LOW<span style='color:#308080; '>)</span> <span style='color:#595979; '>// Anahtar açık</span> pressedTime <span style='color:#308080; '>=</span> millis<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>else</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>lastState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> LOW <span style='color:#308080; '>&</span><span style='color:#308080; '>&</span> currentState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> HIGH<span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>// Anahtar kapalı</span> releasedTime <span style='color:#308080; '>=</span> millis<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>long</span> pressDuration <span style='color:#308080; '>=</span> releasedTime <span style='color:#308080; '>-</span> pressedTime<span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span> pressDuration <span style='color:#308080; '><</span> SHORT_PRESS_TIME <span style='color:#308080; '>)</span> Serial<span style='color:#308080; '>.</span>println<span style='color:#308080; '>(</span><span style='color:#800000; '>"</span><span style='color:#1060b6; '>Kısa basma algılandı</span><span style='color:#800000; '>"</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#595979; '>// son durumu kaydet</span> lastState <span style='color:#308080; '>=</span> currentState<span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> </pre>

Proje 26 Devre Şeması (Uzun Basma Nasıl Tespit Edilir)

Proje 26 Açıklama (Uzun Basma Nasıl Tespit Edilir)

Basma ve bırakma arasındaki süreyi ölçüyoruz. Süre tanımlanan süreden uzunsa uzun basma olayı algılanır. LONG_PRESS_TIME = 1000 değerini istediğiniz gibi değiştirebilirsiniz. Süre ayarladığınız kadar kısaldığında seri monitörde herhangi bir tepki görmezsiniz.

Lütfen Dikkat: BC-135 (SKU: 86600) Mechabau® Blok Devreler® Setiniz varsa, sürgülü anahtar (S1) yerine Pres Anahtarını (S2) kullanabilirsiniz.

Proje 26 Kod (Uzun Basma Nasıl Tespit Edilir)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> Switch_PIN <span style='color:#308080; '>=</span> <span style='color:#008c00; '>7</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Switch pin numarası</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> LONG_PRESS_TIME <span style='color:#308080; '>=</span> <span style='color:#008c00; '>1000</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// 1000 milisaniye</span> <span style='color:#595979; '>// Düzenlenebilir değişkenler:</span> <span style='color:#200080; font-weight:bold; '>int</span> lastState <span style='color:#308080; '>=</span> LOW<span style='color:#406080; '>;</span> <span style='color:#595979; '>// giriş pininden önceki durum</span> <span style='color:#200080; font-weight:bold; '>int</span> currentState<span style='color:#406080; '>;</span> <span style='color:#595979; '>// giriş pininin mevcut durumu</span> <span style='color:#200080; font-weight:bold; '>unsigned</span> <span style='color:#200080; font-weight:bold; '>long</span> pressedTime <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>unsigned</span> <span style='color:#200080; font-weight:bold; '>long</span> releasedTime <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> Serial<span style='color:#308080; '>.</span>begin<span style='color:#308080; '>(</span><span style='color:#008c00; '>9600</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> pinMode<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>,</span> INPUT_PULLUP<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>// Anahtarın durumunu okuma:</span> currentState <span style='color:#308080; '>=</span> digitalRead<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>lastState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> HIGH <span style='color:#308080; '>&</span><span style='color:#308080; '>&</span> currentState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> LOW<span style='color:#308080; '>)</span> <span style='color:#595979; '>// Anahtar açık</span> pressedTime <span style='color:#308080; '>=</span> millis<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>else</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>lastState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> LOW <span style='color:#308080; '>&</span><span style='color:#308080; '>&</span> currentState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> HIGH<span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>// Anahtar kapalı</span> releasedTime <span style='color:#308080; '>=</span> millis<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>long</span> pressDuration <span style='color:#308080; '>=</span> releasedTime <span style='color:#308080; '>-</span> pressedTime<span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span> pressDuration <span style='color:#308080; '>></span> LONG_PRESS_TIME <span style='color:#308080; '>)</span> Serial<span style='color:#308080; '>.</span>println<span style='color:#308080; '>(</span><span style='color:#800000; '>"</span><span style='color:#1060b6; '>Uzun basma algılandı</span><span style='color:#800000; '>"</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#595979; '>// son durumu kaydet</span> lastState <span style='color:#308080; '>=</span> currentState<span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> </pre>

Proje 27 Devre Şeması (Uzun ve Kısa Basma Nasıl Tespit Edilir)

Proje 27 Açıklama (Uzun ve Kısa Basma Nasıl Tespit Edilir)

Proje 25 ve 26’ya referanslıdır.

Neden “uzun basma” ve “kısa basma” tespiti gerekir? Basma sayısını kaydetmek için. Tek bir buton iki veya daha fazla işlevi yapabilir. Örneğin, çalışma modunu değiştirmek için kısa basma, cihazı kapatmak için uzun basma örnek olabilir. Yanlışlıkla kısa basma ile çalışacak cihazı engellemek için uzun basma kullanımı. Örneğin, bazı cihazları fabrika ayarlarına sıfırlama için buton kullanır. Butona yanlışlıkla basılması tehlikeli olabilir. Bunu önlemek için, cihaz yalnızca düğmeye uzun basıldığında (örn. 5 saniyeden fazla) fabrika ayarlarına sıfırlanacak şekilde ayarlanır.

Sonucu Seri Monitörde görün!

Lütfen Dikkat: BC-135 (SKU: 86600) Mechabau® Blok Devreler® Setiniz varsa, sürgülü anahtar (S1) yerine Pres Anahtarını (S2) kullanabilirsiniz.

Proje 27 Kod (Uzun ve Kısa Basma Nasıl Tespit Edilir)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> Switch_PIN <span style='color:#308080; '>=</span> <span style='color:#008c00; '>7</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Switch pin numarası D7</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> SHORT_PRESS_TIME <span style='color:#308080; '>=</span> <span style='color:#008c00; '>1000</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// 1000 milisaniye kısa basma</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> LONG_PRESS_TIME <span style='color:#308080; '>=</span> <span style='color:#008c00; '>1000</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// 1000 milisaniye uzun basma</span> <span style='color:#595979; '>// Düzenlenebilir değişkenler:</span> <span style='color:#200080; font-weight:bold; '>int</span> lastState <span style='color:#308080; '>=</span> LOW<span style='color:#406080; '>;</span> <span style='color:#595979; '>// giriş pininden önceki durum</span> <span style='color:#200080; font-weight:bold; '>int</span> currentState<span style='color:#406080; '>;</span> <span style='color:#595979; '>// giriş pininin mevcut durumu</span> <span style='color:#200080; font-weight:bold; '>unsigned</span> <span style='color:#200080; font-weight:bold; '>long</span> pressedTime <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>unsigned</span> <span style='color:#200080; font-weight:bold; '>long</span> releasedTime <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> Serial<span style='color:#308080; '>.</span>begin<span style='color:#308080; '>(</span><span style='color:#008c00; '>9600</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> pinMode<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>,</span> INPUT_PULLUP<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>// Anahtarın durumunu okuma:</span> currentState <span style='color:#308080; '>=</span> digitalRead<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>lastState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> HIGH <span style='color:#308080; '>&</span><span style='color:#308080; '>&</span> currentState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> LOW<span style='color:#308080; '>)</span> <span style='color:#595979; '>// Anahtar açık</span> pressedTime <span style='color:#308080; '>=</span> millis<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>else</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span>lastState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> LOW <span style='color:#308080; '>&</span><span style='color:#308080; '>&</span> currentState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> HIGH<span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>// Anahtar kapalı</span> releasedTime <span style='color:#308080; '>=</span> millis<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>long</span> pressDuration <span style='color:#308080; '>=</span> releasedTime <span style='color:#308080; '>-</span> pressedTime<span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span> pressDuration <span style='color:#308080; '><</span> SHORT_PRESS_TIME <span style='color:#308080; '>)</span> Serial<span style='color:#308080; '>.</span>println<span style='color:#308080; '>(</span><span style='color:#800000; '>"</span><span style='color:#1060b6; '>Kısa basma algılandı</span><span style='color:#800000; '>"</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>if</span><span style='color:#308080; '>(</span> pressDuration <span style='color:#308080; '>></span> LONG_PRESS_TIME <span style='color:#308080; '>)</span> Serial<span style='color:#308080; '>.</span>println<span style='color:#308080; '>(</span><span style='color:#800000; '>"</span><span style='color:#1060b6; '>Uzun basma algılandı</span><span style='color:#800000; '>"</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#595979; '>// son durumu kaydet</span> lastState <span style='color:#308080; '>=</span> currentState<span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> </pre>

Proje 28 Devre Şeması (Arduino IDE Sekmelerini Kullanma)

Proje 28 Açıklama (Arduino IDE Sekmelerini Kullanma)

Bu projede (S1) anahtarı açık ise ses çıkar. Aşağıdaki programı Kodlama BloğunaTM yükleyin. Devreyi kapatsanız bile melodi sonuna kadar çalacaktır.

Arduino IDE sekmelerini kullanarak, kodu Arduino Kodu Melodi Sekmesi adlı ilk bloktan kopyalayın.

pitches.h adlı programı kullanmak için ek bir kitaplığa/kütüphaneye ihtiyacınız var.

Ardından yeni bir sekme açın ve sekmeye şu adı verin: pitches.h ve ardından tamam düğmesine tıklayın.

Sekme şuna benziyor.

Arduino IDE sekmelerini kullanmak için, pitches.h Kütüphane Sekmesi adlı ikinci bloktan kodu kopyalayın ve kodu Kodlama BloğuTM’na yükleyin. Melodiyi dinlemek için anahtarı (S1) açın.

Lütfen Dikkat: BC-135 (SKU: 86600) Mechabau® Blok Devreler® Setiniz varsa, sürgülü anahtar (S1) yerine Pres Anahtarını (S2) kullanabilirsiniz.

Proje 28 Kod (Arduino IDE Sekmelerini Kullanma)/Arduino Kodu Melodi Sekmesi

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#004a43; '>#</span><span style='color:#004a43; '>include </span><span style='color:#800000; '>"</span><span style='color:#40015a; '>pitches.h</span><span style='color:#800000; '>"</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> Switch_PIN <span style='color:#308080; '>=</span> <span style='color:#008c00; '>7</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Switch'in pinine bağlı Arduino pini</span> <span style='color:#200080; font-weight:bold; '>const</span> <span style='color:#200080; font-weight:bold; '>int</span> BUZZER_PIN <span style='color:#308080; '>=</span> <span style='color:#008c00; '>3</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Buzzer pinine bağlı Arduino pini</span> <span style='color:#595979; '>// melodideki notalar:</span> <span style='color:#200080; font-weight:bold; '>int</span> melody<span style='color:#308080; '>[</span><span style='color:#308080; '>]</span> <span style='color:#308080; '>=</span> <span style='color:#406080; '>{</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_G5<span style='color:#308080; '>,</span> NOTE_C5<span style='color:#308080; '>,</span> NOTE_D5<span style='color:#308080; '>,</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_F5<span style='color:#308080; '>,</span> NOTE_F5<span style='color:#308080; '>,</span> NOTE_F5<span style='color:#308080; '>,</span> NOTE_F5<span style='color:#308080; '>,</span> NOTE_F5<span style='color:#308080; '>,</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_D5<span style='color:#308080; '>,</span> NOTE_D5<span style='color:#308080; '>,</span> NOTE_E5<span style='color:#308080; '>,</span> NOTE_D5<span style='color:#308080; '>,</span> NOTE_G5 <span style='color:#406080; '>}</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// nota süreleri: 4 = dörtlük nota, 8 = sekizlik nota, vb, tempo olarak da adlandırılır:</span> <span style='color:#200080; font-weight:bold; '>int</span> noteDurations<span style='color:#308080; '>[</span><span style='color:#308080; '>]</span> <span style='color:#308080; '>=</span> <span style='color:#406080; '>{</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>4</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>4</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>2</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>16</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>16</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>8</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>4</span><span style='color:#308080; '>,</span> <span style='color:#008c00; '>4</span> <span style='color:#406080; '>}</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> Serial<span style='color:#308080; '>.</span>begin<span style='color:#308080; '>(</span><span style='color:#008c00; '>9600</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// seriali başlat</span> pinMode<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>,</span> INPUT_PULLUP<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// arduino pinini giriş moduna ayarla</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#200080; font-weight:bold; '>int</span> SwitchState <span style='color:#308080; '>=</span> digitalRead<span style='color:#308080; '>(</span>Switch_PIN<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// yeni durumu oku</span> <span style='color:#200080; font-weight:bold; '>if</span> <span style='color:#308080; '>(</span>SwitchState <span style='color:#308080; '>=</span><span style='color:#308080; '>=</span> LOW<span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>// Anahtar açıldı</span> Serial<span style='color:#308080; '>.</span>println<span style='color:#308080; '>(</span><span style='color:#800000; '>"</span><span style='color:#1060b6; '>Anahtar açılıyor..</span><span style='color:#800000; '>"</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> buzzer<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> buzzer<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>// melodinin notalarını yinele:</span> <span style='color:#200080; font-weight:bold; '>int</span> size <span style='color:#308080; '>=</span> <span style='color:#200080; font-weight:bold; '>sizeof</span><span style='color:#308080; '>(</span>noteDurations<span style='color:#308080; '>)</span> <span style='color:#308080; '>/</span> <span style='color:#200080; font-weight:bold; '>sizeof</span><span style='color:#308080; '>(</span><span style='color:#200080; font-weight:bold; '>int</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#200080; font-weight:bold; '>for</span> <span style='color:#308080; '>(</span><span style='color:#200080; font-weight:bold; '>int</span> thisNote <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> thisNote <span style='color:#308080; '><</span> size<span style='color:#406080; '>;</span> thisNote<span style='color:#308080; '>+</span><span style='color:#308080; '>+</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>// nota süresini hesaplamak için nota süresini bir saniye bölün.</span> <span style='color:#595979; '>//Örneğin. dörtlük nota = 1000/4, sekizlik nota = 1000/8 vb.</span> <span style='color:#200080; font-weight:bold; '>int</span> noteDuration <span style='color:#308080; '>=</span> <span style='color:#008c00; '>1000</span> <span style='color:#308080; '>/</span> noteDurations<span style='color:#308080; '>[</span>thisNote<span style='color:#308080; '>]</span><span style='color:#406080; '>;</span> tone<span style='color:#308080; '>(</span>BUZZER_PIN<span style='color:#308080; '>,</span> melody<span style='color:#308080; '>[</span>thisNote<span style='color:#308080; '>]</span><span style='color:#308080; '>,</span> noteDuration<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// notları ayırt etmek için nota aralarında bir boşluk süresi ayarlayın.</span> <span style='color:#595979; '>// nota süresinin +%30'u kadar bir boşluk iyi çalışır:</span> <span style='color:#200080; font-weight:bold; '>int</span> pauseBetweenNotes <span style='color:#308080; '>=</span> noteDuration <span style='color:#308080; '>*</span> <span style='color:#008000; '>1.30</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Buradaki 1.30 değerini değiştirebilirsiniz.</span> delay<span style='color:#308080; '>(</span>pauseBetweenNotes<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// çalmayı durdur:</span> noTone<span style='color:#308080; '>(</span>BUZZER_PIN<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#406080; '>}</span> <span style='color:#406080; '>}</span> </pre>

Proje 28 Kod (Arduino IDE Sekmelerini Kullanma)/pitches.h Kütüphane Sekmesi

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#595979; '>// pitches.h Kütüphane Sekmesi</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_B0 31</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_C1 33</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_CS1 35</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_D1 37</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_DS1 39</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_E1 41</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_F1 44</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_FS1 46</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_G1 49</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_GS1 52</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_A1 55</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_AS1 58</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_B1 62</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_C2 65</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_CS2 69</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_D2 73</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_DS2 78</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_E2 82</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_F2 87</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_FS2 93</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_G2 98</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_GS2 104</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_A2 110</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_AS2 117</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_B2 123</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_C3 131</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_CS3 139</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_D3 147</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_DS3 156</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_E3 165</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_F3 175</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_FS3 185</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_G3 196</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_GS3 208</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_A3 220</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_AS3 233</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_B3 247</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_C4 262</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_CS4 277</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_D4 294</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_DS4 311</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_E4 330</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_F4 349</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_FS4 370</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_G4 392</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_GS4 415</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_A4 440</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_AS4 466</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_B4 494</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_C5 523</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_CS5 554</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_D5 587</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_DS5 622</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_E5 659</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_F5 698</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_FS5 740</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_G5 784</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_GS5 831</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_A5 880</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_AS5 932</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_B5 988</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_C6 1047</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_CS6 1109</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_D6 1175</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_DS6 1245</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_E6 1319</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_F6 1397</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_FS6 1480</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_G6 1568</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_GS6 1661</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_A6 1760</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_AS6 1865</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_B6 1976</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_C7 2093</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_CS7 2217</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_D7 2349</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_DS7 2489</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_E7 2637</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_F7 2794</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_FS7 2960</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_G7 3136</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_GS7 3322</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_A7 3520</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_AS7 3729</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_B7 3951</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_C8 4186</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_CS8 4435</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_D8 4699</span> <span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> NOTE_DS8 4978</span> </pre>

Proje 29 Devre Şeması (Işık Şiddetine Göre Ses Frekansını Değiştirin)

Proje 29 Açıklama (Işık Şiddetine Göre Ses Frekansını Değiştirin)

Bu projede, LDR ve Buzzer ile deney yapmayı öğreneceğiz. Bu deneyin çıktısı, LDR/fotodirenç (PR1) üzerine düşen ışığa bağlı olarak üretilen farklı frekanslarda sestir. Şimdi devreyi oluşturun ve aşağıdaki kodu Kodlama BloğunaTM yükleyin. Anahtarı (S1) AÇIK konuma getirin ve elinizi LDR/fotorezistörün (PR1) üzerinde gezdirin. Ses frekansındaki değişime dikkat edin.

Proje 29 Kod (Işık Şiddetine Göre Ses Frekansını Değiştirin)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>int</span> Buzzer <span style='color:#308080; '>=</span> <span style='color:#008c00; '>9</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Buzzer'ı dijital pin D9'a bağla</span> <span style='color:#200080; font-weight:bold; '>int</span> photoresistor <span style='color:#308080; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Fotodirenci analog pin 0'a bağla</span> <span style='color:#200080; font-weight:bold; '>int</span> Note<span style='color:#406080; '>;</span> <span style='color:#595979; '>// Nota değerinin kaydedildiği değişken</span> <span style='color:#200080; font-weight:bold; '>void</span> setup <span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> pinMode <span style='color:#308080; '>(</span>Buzzer<span style='color:#308080; '>,</span> OUTPUT<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Buzzer'ın bağlı olduğu pini çıkış olarak ayarla</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop <span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> Note <span style='color:#308080; '>=</span> <span style='color:#008c00; '>3</span> <span style='color:#308080; '>*</span> <span style='color:#308080; '>(</span>analogRead <span style='color:#308080; '>(</span>photoresistor<span style='color:#308080; '>)</span><span style='color:#308080; '>)</span> <span style='color:#308080; '>+</span> <span style='color:#008c00; '>400</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Notanın hesaplanması</span> tone <span style='color:#308080; '>(</span>Buzzer<span style='color:#308080; '>,</span> Note<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Notayı pin D9'a yaz</span> delay <span style='color:#308080; '>(</span><span style='color:#008c00; '>10</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Notayı değiştirmeden önce 10 ms bekleyin. Bu değeri değiştirebilirsiniz</span> <span style='color:#406080; '>}</span> </pre>

Proje 30 Devre Şeması (Işığa Bağlı Olarak Bip Frekansını Değiştirin)

Proje 30 Açıklama (Işığa Bağlı Olarak Bip Frekansını Değiştirin)

Bu deneyde önceki projede olduğu gibi ışığa bağlı direnç (R1) olan bir sensör ile çalışacağız. Ancak bu dersimizde anahtarı (S1) AÇIK konuma getirerek buzzerın (BZ1) bipleme frekansını değiştireceğiz. Karanlık bir ortamda, fotorezistörün (PR1) direnci  çok yüksek olacaktır. Işık, fotorezistör (PR1) üzerine düştüğünde direnç azalacaktır. Daha fazla ışıkta daha düşük bir dirence sahip olacaktır. Sensörden farklı değerler okuyarak aydınlık mı karanlık mı yoksa aralarında bir değer mi olduğunu tespit edebiliriz.

Anahtarı (S1) AÇIN ve telefon ışığınızı vb. LDR/fotodirenç (PR1) üzerine getirin. Bip frekansındaki değişikliğe dikkat edin.

Proje 30 Kod (Işığa Bağlı Olarak Bip Frekansını Değiştirin)

<pre style='color:#000020;background:#f6f8ff;'><span style='color:#200080; font-weight:bold; '>int</span> piezoPin <span style='color:#308080; '>=</span> <span style='color:#008c00; '>9</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Buzzer'ı Pin D9'a bağla</span> <span style='color:#200080; font-weight:bold; '>int</span> ldrPin <span style='color:#308080; '>=</span> A0<span style='color:#406080; '>;</span> <span style='color:#595979; '>// LDR'yi Analog Pin A0'a bağla</span> <span style='color:#200080; font-weight:bold; '>int</span> ldrValue <span style='color:#308080; '>=</span> A0<span style='color:#406080; '>;</span> <span style='color:#595979; '>// LDR'den farklı değerler okuma</span> <span style='color:#200080; font-weight:bold; '>void</span> setup<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#406080; '>}</span> <span style='color:#200080; font-weight:bold; '>void</span> loop<span style='color:#308080; '>(</span><span style='color:#308080; '>)</span> <span style='color:#406080; '>{</span> <span style='color:#595979; '>// Aşağıdaki döngü fonksiyonlarını başlatma</span> ldrValue <span style='color:#308080; '>=</span> analogRead<span style='color:#308080; '>(</span>ldrPin<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// LDR'den değer oku</span> tone<span style='color:#308080; '>(</span>piezoPin<span style='color:#308080; '>,</span><span style='color:#008c00; '>750</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// Buzzerdan 750Hz'lik bir ton çal (bip)</span> delay<span style='color:#308080; '>(</span><span style='color:#008c00; '>10</span><span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// biraz bekleyin, hızlı yanıt için gecikmeyi değiştirin.</span> noTone<span style='color:#308080; '>(</span>piezoPin<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// tonu 10 ms sonra durdur </span> delay<span style='color:#308080; '>(</span>ldrValue<span style='color:#308080; '>)</span><span style='color:#406080; '>;</span> <span style='color:#595979; '>// ldrValue değeri kadar (milisaniye) bekle</span> <span style='color:#406080; '>}</span> <span style='color:#595979; '>// Döngü fonksiyonlarının sonu </span> </pre>

Yukarıdaki Mechabau® Blok Devreler® / Kodlama Projeleri kapsamında sorularınız ya da proje önerileriniz için lütfen bizimle iletişime geçin.

mailto:servis@mechabau.com

 

Blok Devreler Ana Sayfası