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)
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)
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)
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.
- Pin Tanımları:
- Beyaz LED (L1)
D8
pinine bağlı. - Mavi LED (L2)
D9
pinine bağlı.
- Beyaz LED (L1)
setup()
Fonksiyonu:- LED pinleri çıkış olarak ayarlanır.
- LED'ler açılır (
digitalWrite(pin, HIGH)
).
loop()
Fonksiyonu:- Döngü içinde hiçbir şey yapılmaz çünkü LED'ler sürekli açık kalacak şekilde ayarlanmıştır.
Proje 4 Kod (Tüm Işıklar Açık)
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.
- Pin Tanımları:
- Beyaz LED (L2): Arduino Nano'nun D2 pinine bağlı.
- Kırmızı LED (L1): Arduino Nano'nun D3 pinine bağlı.
- Gecikme Süresi:
- Kodda
delayTime
adlı bir değişken tanımlandı. - Varsayılan değer 500 ms (yarım saniye). Yanıp sönme hızını artırmak veya azaltmak için bu değeri değiştirebilirsiniz.
- Kodda
setup()
Fonksiyonu:- LED pinlerini çıkış olarak ayarlar.
loop()
Fonksiyonu:- Beyaz LED'i yakar ve kırmızı LED'i kapatır, ardından gecikme süresi bekler.
- Daha sonra kırmızı LED'i yakar ve beyaz LED'i kapatır, yine gecikme süresi bekler.
- Bu işlem sürekli olarak tekrarlanır.
Yanıp Sönme Hızını Değiştirme:
- Kodun başındaki
delayTime
değişkeninin değerini değiştirerek LED'lerin daha hızlı veya yavaş yanıp sönmesini sağlayabilirsiniz.- Örneğin:
- 100 ms: Daha hızlı yanıp sönme.
- 1000 ms: Daha yavaş yanıp sönme.
- Örneğin:
Bu kodu yükleyerek devredeki LED'leri istediğiniz gibi kontrol edebilirsiniz!
Proje 5 Kod (Geçiş ve Yanıp Sönen Işıklar)
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.
- Bağımsız Kontrol:
millis()
fonksiyonu sayesinde LED'ler ve buzzer bağımsız olarak çalışır.- Her bileşen için farklı zamanlayıcılar (
previousMillisWhite
,previousMillisBlue
,previousMillisBuzzer
) kullanılır.
- Zaman Ayarları:
whiteLEDDuration
: Beyaz LED'in yanıp sönme süresi.blueLEDDuration
: Mavi LED'in yanıp sönme süresi.buzzerDuration
: Buzzer'ın bip süresi.- Bu değerleri değiştirerek yanıp sönme ve bip hızlarını düzenleyebilirsiniz.
- Buzzer Ayarları:
- Buzzer'ın bip aralığını artırmak için
buzzerDuration * 2
değeri kullanılır. - Daha sık bip sesi için bu süreyi azaltabilirsiniz.
- Buzzer'ın bip aralığını artırmak için
- Pin Durumları:
- LED'ler ve buzzer'ın durumları ters çevrilerek sırayla açılıp kapanması sağlanır.
Nasıl Çalışır?
- Beyaz LED (D2), mavi LED (D3) ve buzzer (D7) sırayla bağımsız olarak çalışır.
- Yanıp sönme ve bip hızlarını düzenlemek için yukarıdaki süre değerlerini değiştirebilirsiniz.
Bu kod, devredeki bileşenlerin bağımsız olarak çalışmasını sağlar.
Proje 6 Kod (Yanıp Sönen Işıklar ve Buzzer)
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)
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ğımız olarak kullanmaktayız.
- Bağlantılar:
- LDR'nin bir ucu Arduino'nun A0 analog pinine, diğer ucu ise 330Ω dirençle GND'ye bağlı.
- Direnç ve LDR'nin ortak noktası da 5V'a bağlanmış.
- Kod Çalışma Mantığı:
analogRead
fonksiyonu ile LDR'den gelen voltaj değeri okunur.- Değer, 0 ile 1023 arasında bir sayı olacaktır. Bu değer, ışık miktarına göre değişir.
- Daha parlak ışık, daha düşük bir direnç ve daha yüksek bir voltaj okumasına yol açar.
- Sonuç:
- Seri port ekranında sürekli olarak ışık seviyesiyle ilgili sayılar görünecektir.
- LDR üzerine ışık miktarını değiştirerek sonuçlardaki değişimi gözlemleyebilirsiniz.
Bu kodu Arduino IDE'ye yükleyip, "Seri Port Monitörü"nü açarak çalışmayı test edebilirsiniz.
Proje 8 Kod (LDR’den Veri Okuma)
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ğımız olarak kullanmaktayız.
Proje 9 Kod (Yıldız Savaşları Tema Şarkısı)
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.
- Bağlantılar:
- Fototransistör (PR1) bir ucunu LED üzerinden A0 pinine, diğer ucu ise 5V'a bağlı.
- Fototransistör ile GND arasına 330Ω direnç eklenmiş.
- Kırmızı LED'in uzun bacağı (anot) D3 pinine, kısa bacağı (katot) ise GND'ye bağlı.
- Kod Çalışma Mantığı:
analogRead
ile fototransistörden okunan voltaj değeri alınır.- Okunan değer, belirlenen eşiğin altında ise LED yanar (karanlık algılanır).
- Değer eşiğin üstünde ise LED söner (aydınlık algılanır).
- Hassasiyet Ayarı:
threshold
değerini artırarak LED'in daha karanlıkta yanmasını, azaltarak daha az karanlıkta yanmasını sağlayabilirsiniz.
- Alternatif Güç Kaynağı:
- USB kablosu yerine 9V pil ile devreyi beslemek için pil konektörünü kullanabilirsiniz.
Kodunuzu Arduino IDE'ye yükleyerek test edebilirsiniz. Ardından, devrenizi karanlık bir ortama taşıyıp gece lambası işlevini gözlemleyebilirsiniz.
Proje 10 Kod (Gece Lambası)
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.
- Yanıp Sönme Oranı:
- LED'in açık ve kapalı kalma süreleri
delay(500)
ile belirlenir. 500 ms değerini artırarak daha yavaş, azaltarak daha hızlı bir yanıp sönme elde edebilirsiniz.
- LED'in açık ve kapalı kalma süreleri
- Kod Çalışma Mantığı:
- Fototransistörden okunan değer
threshold
değerinin altına düştüğünde (karanlık algılandığında), LED yanıp sönmeye başlar. - Aydınlık ortamda ise LED tamamen kapalı kalır.
- Fototransistörden okunan değer
- Hassasiyet Ayarı:
threshold
değerini ayarlayarak karanlık/aydınlık algılama hassasiyetini değiştirebilirsiniz.
Bu kodu Arduino IDE'ye yükleyerek devreyi test edin. Karanlık bir ortamda LED'in yanıp sönmesi gerektiğini göreceksiniz. Yanıp sönme oranını ve hassasiyeti isteğinize göre düzenleyebilirsiniz.
Proje 11 Kod (Yanıp Sönme Oranı)
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.
- Buzzer Kullanımı:
- LED yerine buzzer bağlayın. (Rezistör üzerinden D3 pinine)
- Kod Çalışma Mantığı:
- Fototransistörden okunan değer
threshold
değerinin altına düştüğünde (karanlık algılandığında), buzzer aktif hale gelir ve belirli bir aralıkla ses çıkarır. - Aydınlık ortamda buzzer tamamen kapalı kalır.
- Fototransistörden okunan değer
- Hassasiyet Ayarı:
threshold
değerini artırarak buzzer'ın daha karanlıkta çalışmasını veya azaltarak daha az karanlıkta çalışmasını sağlayabilirsiniz.
- Alternatif Güç Kaynağı:
- USB yerine 9V pil ile devreyi çalıştırabilirsiniz.
Bu kodu Arduino IDE'ye yükleyerek devreyi test edebilirsiniz. Buzzer karanlık bir ortamda belirli aralıklarla ses çıkarmaya başlayacaktır. Ses çıkışının sıklığını delay(500)
değerini değiştirerek ayarlayabilirsiniz.
Proje 12 Kod (Gece Sireni)
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.
- Buzzer Bağlantısı:
- Buzzer'ı bağlayın (Rezistör üzerinden D3 pinine).
- Buzzer'ın bir ucu dijital pin A0'ye, diğer ucu ise GND'ye bağlanmalıdır.
- Çalışma Mantığı:
- Fototransistör karanlık bir ortam algıladığında (
ldrValue < threshold
), buzzer belirli aralıklarla çalışacaktır. - Aydınlık bir ortamda buzzer tamamen kapalı kalır.
- Fototransistör karanlık bir ortam algıladığında (
- Hassasiyet Ayarı:
threshold
değerini ayarlayarak karanlık algılama hassasiyetini artırabilir veya azaltabilirsiniz.
- Yanıp Sönme Davranışı:
delay(500)
değerlerini değiştirerek buzzer'ın açık ve kapalı kalma sürelerini ayarlayabilirsiniz. Örneğin,delay(1000)
yaparak daha uzun süreli bir ses çıkarabilirsiniz.
Bu kodu yükledikten sonra devrenizi karanlık bir ortama götürerek buzzer'ın çalışmasını gözlemleyebilirsiniz.
Proje 13 Kod (Karanlıkta Çalışan Siren)
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.
Kod Açıklamaları:
setup()
Fonksiyonu:- Tüm pinler çıkış olarak tanımlandı (
pinMode
komutları).
- Tüm pinler çıkış olarak tanımlandı (
loop()
Fonksiyonu:- Tüm pinler sırayla HIGH (aktif) yapılıyor, ardından 250 ms bekleniyor.
- Daha sonra tüm pinler LOW (kapalı) yapılıyor, ardından yine 250 ms bekleniyor.
- Delay Süresi:
delay(250)
komutları ile 250 ms süreyle yanıp sönme efekti sağlanıyor. Bunu ihtiyacınıza göre artırıp azaltabilirsiniz.
Kodunuzu doğrudan Arduino IDE'ye yapıştırarak çalıştırabilirsiniz.
Proje 14 Kod (Kodlama BloğuTM Testi)
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.
Kod Açıklaması:
- PWM Kullanımı:
analogWrite()
fonksiyonu, PWM (Darbe Genişlik Modülasyonu) kullanarak LED'in parlaklığını kontrol eder.
- LED Parlaklık Artışı ve Azalışı:
- İlk
while
döngüsü, LED parlaklığını sıfırdan 255'e kadar artırır. - İkinci
while
döngüsü, LED parlaklığını 255'ten sıfıra kadar azaltır.
- İlk
- Hız Kontrolü:
WAITTIME
: LED'in parlaklığının değişmesi arasındaki gecikme süresidir. Bu değeri artırarak daha yavaş, azaltarak daha hızlı bir efekt elde edebilirsiniz.STEP
: Parlaklık değişimindeki adım miktarıdır. Daha büyük bir değer kullanarak daha keskin geçişler sağlayabilirsiniz.
- Donanım Bağlantısı:
- LED'in pozitif (anot) ucu dijital pin D3'e, negatif (katot) ucu ise bir direnç aracılığıyla GND'ye bağlanmalıdır.
Bu kodu yükleyerek LED'in parlaklık değişimini gözlemleyebilirsiniz.
Proje 15 Kod (LED Parlaklığını Kademeli Olarak Değiştirme)
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.
Kod Açıklaması:
- Buzzer Kullanımı:
analogWrite()
fonksiyonu, buzzer'ın ses seviyesini kontrol eder. PWM sinyali ile buzzer'ın ürettiği ses seviyesi artırılıp azaltılır.
- Ses Seviyesi Artışı ve Azalışı:
- İlk
while
döngüsü, ses seviyesini sıfırdan 255'e kadar artırır. - İkinci
while
döngüsü, ses seviyesini 255'ten sıfıra kadar azaltır.
- İlk
- Hız ve Geçiş Kontrolü:
WAITTIME
: Ses seviyesinin değişmesi arasındaki bekleme süresidir. Daha küçük bir değer kullanarak geçişleri hızlandırabilirsiniz.STEP
: Her adımda ses seviyesinde yapılan artış veya azalış miktarıdır. Daha büyük bir değer kullanarak daha hızlı geçişler sağlayabilirsiniz.
- Donanım Bağlantısı:
- Buzzer'ın pozitif ucu dijital pin D3'e, negatif ucu ise GND'ye bağlanmalıdır.
Notlar:
- Buzzer sürekli çalıştığı için ses seviyesi sürekli olarak artacak ve azalacaktır.
- Daha belirgin bir efekt için
STEP
veWAITTIME
değerlerini ihtiyacınıza göre ayarlayabilirsiniz.
Bu kod, PWM sinyali kullanarak buzzer ses seviyesini yumuşak bir şekilde değiştirmenizi sağlar.
Proje 16 Kod (Ses Seviyesini Parabolik Değiştirme)
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.
Kod Açıklaması:
- LED ve Buzzer:
- Hem LED hem de Buzzer, pin D3'e bağlanır. Bu, PWM sinyali kullanılarak hem ışık hem de ses şiddetinin kontrol edilmesini sağlar.
- Parabolik Şiddet Değişimi:
while
döngüleri, PWM sinyali değerini artırır ve azaltır, böylece LED'in parlaklığı ve buzzer'ın sesi kademeli olarak değişir.
- Kontrol Parametreleri:
STEP
: Şiddet artış/azalış miktarını belirler. Daha büyük bir değer, daha hızlı geçiş sağlar.WAITTIME
: Her adımda bekleme süresini belirler. Daha kısa bir süre, daha hızlı değişim sağlar.
- Donanım Bağlantıları:
- LED ve Buzzer'ın pozitif uçları D3 pinine, negatif uçları ise GND'ye bağlanmalıdır.
Notlar:
- Kod, hem ışık hem de ses şiddetini aynı anda kontrol eder.
- STEP ve WAITTIME değerlerini değiştirerek efekt hızını ve hassasiyetini ayarlayabilirsiniz.
Bu projede, LED ve Buzzer, birbiriyle senkronize şekilde parabolik olarak parlaklık ve ses şiddeti değiştirir.
Proje 17 Kod (Işık ve Ses Şiddetini Parabolik Değiştirme)
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.
Kod Açıklaması:
- Pin Tanımlama:
- SWITCH_PIN sabiti, anahtarın bağlandığı pini temsil eder.
setup()
Fonksiyonu:pinMode(SWITCH_PIN, INPUT)
: Pin 7 giriş olarak ayarlanır.Serial.begin(9600)
: Seri monitör ile iletişim için hız ayarlanır.
loop()
Fonksiyonu:digitalRead(SWITCH_PIN)
: Anahtarın durumunu okur.- Eğer anahtar durumu HIGH ise, anahtarın açık olduğunu belirtir.
- Eğer anahtar durumu LOW ise, anahtarın kapalı olduğunu belirtir.
- Seri Monitör:
- Anahtarın durumu 500 ms aralıklarla seri monitöre yazdırılır.
Devre Bağlantıları:
- Anahtarın bir ucu D7 pinine, diğer ucu GND'ye bağlanır.
- 330Ω direnç, anahtarın VCC bağlantısı ile D7 arasına bağlanır.
- USB kablosu, Arduino'yu PC'ye bağlamak ve veri iletişimi sağlamak için kullanılır.
Çalışma:
- Serial monitörde sürekli olarak anahtarın açık veya kapalı olduğu bilgisi görüntülenir.
- Bu veri, projelerde dijital giriş durumlarını izlemek ve diğer bileşenleri kontrol etmek için kullanılabilir.
Bu basit proje, dijital giriş pinleriyle çalışmayı anlamak için harika bir başlangıçtır.
Proje 18 Kod (Anahtar Durumlarını Okuma)
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.
Kod Açıklaması:
- Pin Tanımlama:
- VOLTAGE_PIN sabiti, voltaj okumak için kullanılan A0 analog pinini temsil eder.
setup()
Fonksiyonu:Serial.begin(9600)
: Seri monitör ile iletişim başlatılır.
loop()
Fonksiyonu:analogRead(VOLTAGE_PIN)
: Analog pin üzerinden gelen değer okunur.- Voltaja Çevirme:
- Analog değer (0-1023) 5V ile ölçeklendirilerek gerçek voltaj hesaplanır.
- Formül:
(ADC Değeri * 5.0) / 1023.0
- Seri Monitör Çıktısı:
- Voltaj değeri seri monitöre yazdırılır.
- Gecikme:
- Ölçüm değerleri arasında 500ms bekleme eklenmiştir.
Devre Bağlantıları:
- A Noktası: 330Ω direnç ve GND ile bağlantılı.
- B Noktası: LED'in anod ucu (diyot sembolünün "+" tarafı).
- T Ucu: Kırmızı kablonun serbest ucu, farklı noktalara (A ve B) dokundurulur.
- A0 Pin: Arduino'nun analog giriş pini, "T" ucu üzerinden voltaj okumalarını yapar.
Çalışma:
- Seri port ekranında ölçülen voltaj değerleri görüntülenir.
- Deney Adımları:
- "T" ucunu açıkta bırakın ve voltajı gözlemleyin.
- "T" ucunu "A" noktasına dokundurun ve ölçüm yapın.
- "T" ucunu "B" noktasına dokundurun ve farklı voltaj değerlerini gözlemleyin.
Bu proje, analog sinyallerle çalışma ve ADC'nin kullanımını anlamak için harika bir adımdır.
Proje 19 Kod (Voltaj Okuma)
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.
Kod Açıklaması:
- Pin Tanımları:
- LED1: Beyaz LED, Arduino'nun dijital pin 2'sine bağlı.
- LED2: Mavi LED, Arduino'nun dijital pin 3'üne bağlı.
- Yanıp Sönme Süresi:
- DELAY_TIME: LED'lerin ne kadar süreyle açık ve kapalı kalacağını belirler. 1000 ms = 1 saniye.
setup()
Fonksiyonu:- LED pinleri çıkış olarak ayarlanır.
loop()
Fonksiyonu:- İlk olarak, LED1 açılır ve LED2 kapatılır.
- Belirlenen süre kadar beklenir.
- Daha sonra, LED1 kapatılır ve LED2 açılır.
- Bu işlem döngüde devam eder.
Çalışma Prensibi:
- LED1 ve LED2, sırayla yanar ve söner.
- LED'lerin hangi pinlere bağlı olduğu ve yanma süreleri Arduino kodunda kolayca değiştirilebilir.
Devre Bağlantıları:
- Beyaz LED (L1):
- Katot (-): GND'ye bağlı.
- Anot (+): 330Ω direnç üzerinden dijital pin 2'ye bağlanır.
- Mavi LED (L2):
- Katot (-): GND'ye bağlı.
- Anot (+): Dijital pin 3'e bağlanır.
- Güç Kaynağı:
- 9V batarya, devreyi beslemek için kullanılır.
Bu uygulama, Flip Flop ışıkların temel prensibini anlamanızı sağlar. Kodda DELAY_TIME
değişkenini düzenleyerek LED'lerin hızını değiştirebilirsiniz.
Proje 20 Kod (Flip Flop Işıklar)
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.
Kod Açıklaması:
- Pin Tanımları:
- LED: Mavi LED, Arduino'nun dijital pin 3'üne bağlı.
- BUZZER: Buzzer, Arduino'nun dijital pin 2'sine bağlı.
- Yanıp Sönme Süresi:
- DELAY_TIME: LED ve buzzer'ın açma-kapama sürelerini belirler. Varsayılan olarak 1 saniyedir.
setup()
Fonksiyonu:- LED ve buzzer çıkış pinleri olarak ayarlanır.
loop()
Fonksiyonu:- İlk olarak, LED açılır ve buzzer kapanır.
- Belirlenen süre kadar beklenir.
- Daha sonra, LED kapanır ve buzzer çalışır.
- Bu işlem döngüde devam eder.
Çalışma Prensibi:
- LED yanarken buzzer kapanır.
- LED sönerken buzzer aktif hale gelir ve ses çıkarır.
- Süreler Arduino kodunda ayarlanabilir.
Devre Bağlantıları:
- LED (L2):
- Katot (-): GND'ye bağlı.
- Anot (+): 330Ω direnç üzerinden dijital pin 3'e bağlanır.
- Buzzer (BZ1):
- Katot (-): GND'ye bağlı.
- Anot (+): Dijital pin 2'ye bağlanır.
- Güç Kaynağı:
- 9V batarya kullanarak devreyi bilgisayardan bağımsız çalıştırabilirsiniz.
Notlar:
- DELAY_TIME değişkenini değiştirerek LED ve buzzer'ın açma-kapama hızını artırabilir veya azaltabilirsiniz.
- Bilgisayardan Bağımsız Çalıştırma:
- Pil (B3) ve anahtar (S1) kullanarak devreyi bilgisayardan bağımsız hale getirebilirsiniz.
Bu proje, LED ve buzzer kullanımını entegre ederek Flip Flop sistemini bir adım daha ileri taşır.
Proje 21 Kod (Flip Flop Işık ve Ses)
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.
Kod Açıklaması:
- Pin Tanımları:
- LED: LED (L1), Arduino'nun dijital pin 3'üne bağlı.
- SWITCH: Anahtar (S1), Arduino'nun dijital pin 7'sine bağlı.
- Parlaklık Artışı:
- brightness: LED'in parlaklık seviyesi (0-255).
- step: Parlaklık artış miktarı. 85 kullanılarak 4 eşit artım sağlanır (0, 85, 170, 255).
setup()
Fonksiyonu:- LED çıkış, anahtar giriş olarak ayarlanır.
loop()
Fonksiyonu:- Anahtar açık (HIGH) olduğunda, LED parlaklığı 85 birim artar.
- Parlaklık maksimum değeri (255) geçerse sıfırlanır.
- Anahtar kapalı (LOW) olduğunda, LED tam parlaklıkta yanar.
- Bekleme Süresi:
- delay(500): LED'in parlaklık değişimi arasındaki bekleme süresi (500 ms).
Çalışma Prensibi:
- Anahtar Kapalı: LED, maksimum parlaklıkta yanar.
- Anahtar Açık: LED'in parlaklığı 4 adımda artar ve tekrar en düşük seviyeye sıfırlanır.
Devre Bağlantıları:
- LED (L1):
- Katot (-): GND'ye bağlı.
- Anot (+): 330Ω direnç üzerinden dijital pin 3'e bağlanır.
- Anahtar (S1):
- Bir ucu GND'ye, diğer ucu dijital pin 7'ye bağlanır.
- Güç Kaynağı:
- Arduino, USB bağlantısı üzerinden veya batarya ile çalıştırılabilir.
Notlar:
- Parlaklık Artışı:
- Eğer farklı bir artış miktarı istiyorsanız,
step
değişkenini değiştirin. - Daha yumuşak bir artış için küçük bir
step
değeri kullanabilirsiniz.
- Eğer farklı bir artış miktarı istiyorsanız,
- Bilgisayardan Bağımsız Çalıştırma:
- Pil ve anahtar modülü kullanarak bağımsız çalıştırabilirsiniz.
Bu proje, LED parlaklığını kontrol etmeyi ve PWM sinyalinin nasıl kullanılacağını anlamak için harika bir uygulamadır.
Proje 22 Kod (Işık Parlaklığını Artımlı Değiştirme)
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.
Kod Açıklaması:
- Pin Tanımları:
- LED: Dijital pin 3'e bağlanır.
- SWITCH: Dijital pin 7'ye bağlanır.
- LED Durum Takibi:
- ledState: LED'in mevcut durumunu (
true
= açık,false
= kapalı) tutar. - prevSwitchState: Anahtarın önceki durumunu kontrol ederek değişiklik algılar.
- ledState: LED'in mevcut durumunu (
- Debounce Mekanizması:
- Bir fiziksel anahtar, mekanik titreşim nedeniyle birden fazla kez tetiklenebilir.
delay(50)
ile bu sorun azaltılır.
- Bir fiziksel anahtar, mekanik titreşim nedeniyle birden fazla kez tetiklenebilir.
- Seri Monitör Mesajları:
- LED her açıldığında:
LED açıldı!
- LED her kapatıldığında:
LED kapatıldı!
- LED her açıldığında:
Çalışma Prensibi:
- Anahtar Durum Değişikliği:
- Anahtar kapalıyken (LOW), açıldığında (HIGH), LED'in durumu değişir.
- LED açıkken kapanır, kapalıyken açılır.
- Seri Monitör:
- Her geçişte, LED'in yeni durumu seri monitörde görüntülenir.
Devre Bağlantıları:
- LED (L1):
- Katot (-): GND'ye bağlanır.
- Anot (+): 330Ω direnç üzerinden dijital pin 3'e bağlanır.
- Anahtar (S1):
- Bir ucu GND'ye, diğer ucu dijital pin 7'ye bağlanır.
Notlar:
- Bilgisayardan Bağımsız Çalıştırma:
- Pil ve anahtar modülü kullanarak bağımsız çalıştırabilirsiniz.
- Seri monitör olmadan çalıştırıldığında LED durumu gözlemlenebilir.
- Pres Anahtar Kullanımı:
- Projede pres anahtar (S2) kullanılırsa, devre ve kod aynı şekilde çalışır.
Bu proje, bir anahtarın durumunu nasıl okuyacağınızı ve LED kontrolünü nasıl gerçekleştireceğinizi öğrenmek için idealdir.
Proje 23 Kod (Aç/Kapat ile LED Geçişlerini Değiştir)
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)
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.
Kod Açıklaması:
- SHORT_PRESS_TIME:
- Kısa basma için maksimum süreyi tanımlar. Örneğin, 500 ms kısa basma olarak algılanır.
- Bu değeri isteğinize göre artırıp azaltabilirsiniz.
- Basılı Kalma Süresi:
- Anahtarın basılı kaldığı süre,
millis()
fonksiyonu ile hesaplanır. - Anahtar bırakıldığında süre kontrol edilir ve kısa basma algılanır.
- Anahtarın basılı kaldığı süre,
- Debounce Sorunu:
- Kod, yalnızca basma bırakma arasındaki süreyi algılar. Daha hassas debounce kontrolü gerekirse, ek bir gecikme (ör.
delay(50)
) uygulanabilir.
- Kod, yalnızca basma bırakma arasındaki süreyi algılar. Daha hassas debounce kontrolü gerekirse, ek bir gecikme (ör.
Çalışma Prensibi:
- Anahtar ilk kez basıldığında, basma başlangıç zamanı kaydedilir.
- Anahtar bırakıldığında, geçen süre hesaplanır.
- Eğer süre SHORT_PRESS_TIME değerinden küçükse, "Kısa basma algılandı!" mesajı seri monitöre yazdırılır.
Devre Bağlantıları:
- Anahtar (S1):
- Bir ucu dijital pin 7'ye bağlanır.
- Diğer ucu GND'ye bağlanır.
- GND ve USB Bağlantısı:
- Arduino'nun GND pini, anahtarın diğer ucuna bağlanmıştır.
- Arduino, USB üzerinden bilgisayara bağlıdır.
Notlar:
- Pres Anahtar (S2): Eğer sürgülü anahtar yerine pres anahtar kullanıyorsanız, devre bağlantısı ve kod aynıdır.
- Seri Monitör: Arduino IDE'deki seri monitör penceresini açarak kısa basma mesajlarını görüntüleyebilirsiniz.
Bu proje, fiziksel girişleri algılamak ve tepki vermek için oldukça faydalıdır!
Proje 25 Kod (Kısa Basma Nasıl Tespit Edilir)
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)
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.
Kod Açıklaması:
- SHORT_PRESS_TIME:
- Kısa basma için maksimum süreyi tanımlar. 500 ms'den daha kısa süreli basmalar kısa basma olarak algılanır.
- LONG_PRESS_TIME:
- Uzun basma için minimum süreyi tanımlar. 1000 ms'den daha uzun basmalar uzun basma olarak algılanır.
- Süre Kontrolü:
- Eğer süre SHORT_PRESS_TIME değerinden küçükse kısa basma, LONG_PRESS_TIME değerinden büyükse uzun basma olarak kabul edilir.
- Seri Monitör:
- Algılanan kısa veya uzun basmalar, seri monitöre mesaj olarak yazdırılır.
Çalışma Prensibi:
- Anahtar basıldığında,
millis()
fonksiyonu ile başlangıç zamanı kaydedilir. - Anahtar bırakıldığında, geçen süre hesaplanır.
- Süreye göre kısa veya uzun basma olarak sınıflandırılır.
Devre Bağlantıları:
- Anahtar (S1):
- Bir ucu dijital pin 7'ye bağlanır.
- Diğer ucu GND'ye bağlanır.
- Arduino ve PC:
- Arduino, USB kablosu ile bilgisayara bağlanır.
Kullanım Senaryoları:
- Çalışma Modu Seçimi:
- Kısa basma ile cihaz modunu değiştirme.
- Cihaz Kapatma:
- Uzun basma ile cihazı kapatma.
- Fabrika Ayarlarına Sıfırlama:
- Yalnızca uzun basma ile fabrika ayarlarına sıfırlama işlemini etkinleştirme.
Notlar:
- Pres Anahtar (S2): Eğer sürgülü anahtar yerine pres anahtar kullanıyorsanız, devre ve kodda bir değişiklik gerekmez.
- Süre Ayarları:
- SHORT_PRESS_TIME ve LONG_PRESS_TIME değerlerini ihtiyaçlarınıza göre değiştirebilirsiniz.
- Seri Monitör: Seri monitör penceresini açarak basma türlerini kontrol edebilirsiniz.
Bu proje, tek bir butonla çok işlevli cihaz kontrolü sağlamak için oldukça kullanışlıdır!
Proje 27 Kod (Uzun ve Kısa Basma Nasıl Tespit Edilir)
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.
- Devre:
- Anahtar (S1): Buzzer'ın çalmasını başlatır.
- Buzzer (BZ1): Melodiyi çalar.
- Rezistör (R1): Gerekli direnç sağlar.
- Arduino IDE Sekme Kullanımı:
- Yeni bir sekme açmak için: Sağ üst köşedeki küçük oka tıklayın ve 'Yeni Sekme' seçeneğini seçin.
- Açılan sekmeye
pitches.h
adını verin ve ilgili kodu yapıştırın.
- Çalışma Prensibi:
- Anahtar açıldığında, ana kod melodiyi çalma fonksiyonunu çağırır.
pitches.h
dosyasındaki notalar kullanılarak buzzer'dan belirli bir melodi çalınır.
Proje 28 Kod (Arduino IDE Sekmelerini Kullanma)/Arduino Kodu Melodi Sekmesi
Proje 28 Kod (Arduino IDE Sekmelerini Kullanma)/pitches.h Kütüphane Sekmesi
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.
Kod Açıklaması:
- Anahtar Kullanımı:
- Buzzer, anahtar üzerinden D9 pinine bağlanmıştır.
- Devredeki anahtar (S1), buzzer'a fiziksel olarak bağlanmış ve buzzer'ı açıp kapatmaya olanak tanımaktadır.
- Kodun Çalışma Prensibi:
- LDR'den gelen değer okunur ve ışık yoğunluğuna bağlı olarak bir frekans üretilir.
- Üretilen frekans, buzzer üzerinden bir ton olarak duyulur.
Çalışma Prensibi:
- Anahtar Açıkken (S1):
- LDR üzerine düşen ışığa göre buzzer'dan ses frekansı üretilir.
- Daha fazla ışık → Daha yüksek frekans.
- Anahtar Kapalıyken (S1):
- Buzzer tamamen devre dışı kalır.
Notlar:
- Frekans Aralığı:
map()
fonksiyonundaki minimum ve maksimum değerleri ihtiyaçlarınıza göre değiştirebilirsiniz.
- LDR Hassasiyeti:
- LDR'nin ışığa karşı hassasiyetini artırmak için uygun bir direnç kullanabilirsiniz.
Bu projeyle ışığa duyarlı ses frekansları üreterek eğlenceli deneyler yapabilirsiniz!
Proje 29 Kod (Işık Şiddetine Göre Ses Frekansını Değiştirin)
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.
Güncellenmiş Açıklamalar:
- Projenin Amacı:
- Işığın yoğunluğuna bağlı olarak buzzer'ın bip frekansını değiştirmek.
- LDR üzerine düşen ışığın seviyesi, bip sesi frekansı ile temsil edilir.
- Kodun Çalışma Prensibi:
- LDR'den analog değer okunur.
- Bu değer bir frekansa dönüştürülür. Daha fazla ışık → Daha yüksek frekanslı bip sesi.
- Buzzer, ışık yoğunluğuna göre düzenli bir şekilde bip sesi verir.
- Anahtar Kullanımı (S1):
- Devredeki anahtar (S1), buzzer'ı tamamen devreye alır veya çıkarır.
- Bipler Arası Bekleme:
- Buzzer, 200 ms boyunca sesi çalar, ardından 100 ms bekler. Bu sayede düzenli bir bip sesi elde edilir.
Çalışma Prensibi:
- Anahtar Açıkken (S1):
- Karanlıkta: LDR'nin direnci yüksek → Daha düşük bir frekansta bip sesi.
- Işıkta: LDR'nin direnci düşük → Daha yüksek frekansta bip sesi.
- Anahtar Kapalıyken (S1):
- Buzzer devre dışı kalır, hiçbir ses duyulmaz.
Bu proje, bir LDR (fotodirenç) kullanarak ışık yoğunluğuna bağlı olarak bir buzzer'dan çıkan ses frekansını değiştirmek için tasarlanmıştır.
Proje 30 Kod (Işığa Bağlı Olarak Bip Frekansını Değiştirin)
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.