🎓 mBlock nedir (Scratch ve Arduino birleşimi) Test 1 - Ders Notu
Bu ders notu, "mBlock nedir (Scratch ve Arduino birleşimi) Test 1" sınavında karşılaşabileceğiniz temel kavramları ve bilgileri özetlemektedir. mBlock'un ne olduğunu, Scratch ile benzerliklerini ve Arduino ile nasıl birleştiğini kolayca anlayacaksınız.
📌 mBlock Nedir?
mBlock, özellikle çocukların ve yeni başlayanların kodlama öğrenmesini kolaylaştırmak için tasarlanmış, blok tabanlı bir programlama aracıdır.
- Görsel bir programlama dilidir; yani kod yazmak yerine renkli blokları sürükleyip bırakarak program oluşturursunuz.
- Hem yazılım (kodlama) hem de donanım (robotik, elektronik) projeleri geliştirmek için kullanılır.
- Makeblock firması tarafından geliştirilmiştir ve Makeblock robotları ile uyumlu çalışır, ancak Arduino gibi diğer donanımları da destekler.
💡 İpucu: mBlock'u bir köprü gibi düşünebilirsiniz; hem ekrandaki animasyonları kontrol edebilir hem de gerçek dünyadaki robotları hareket ettirebilirsiniz!
📌 Scratch ile İlişkisi: Görsel Programlama Dünyası
mBlock, MIT tarafından geliştirilen popüler Scratch programlama dilinden ilham almıştır ve onun temel özelliklerini taşır.
- Blok Tabanlı Yapı: Her iki platform da kod yazmak yerine hazır kod bloklarını birleştirerek program oluşturma mantığına sahiptir. Bu, kodlama hatalarını azaltır ve öğrenmeyi kolaylaştırır.
- Karakterler ve Sahne: mBlock da Scratch gibi karakterler (kuklalar) ve bir sahne üzerinde çalışır. Bu sayede animasyonlar, oyunlar ve hikayeler oluşturulabilir.
- Olay Odaklı Programlama: Bir tuşa basıldığında, bir karaktere tıklandığında veya bir sensörden veri geldiğinde gibi olaylara tepki veren programlar yazmayı sağlar.
⚠️ Dikkat: mBlock'u Scratch'in donanım kontrol yetenekleriyle genişletilmiş bir versiyonu olarak düşünebilirsiniz.
📌 Arduino ile İlişkisi: Fiziksel Programlama ve Donanım Kontrolü
mBlock'un en güçlü yönlerinden biri, Arduino gibi mikrodenetleyici kartlarla kolayca entegre olabilmesidir. Bu sayede dijital dünyadan fiziksel dünyaya geçiş yapabilirsiniz.
- Arduino Nedir?: Arduino, açık kaynaklı bir elektronik platformudur. Sensörlerden bilgi alabilir, ışıkları yakıp söndürebilir, motorları çalıştırabilir ve diğer elektronik bileşenleri kontrol edebilir.
- mBlock ve Arduino Entegrasyonu: mBlock, Arduino kartlarını programlamak için özel bloklar sunar. Bu bloklar sayesinde Arduino'ya kod yükleyebilir ve sensörlerden gelen verileri okuyup aktüatörleri (motor, LED vb.) kontrol edebilirsiniz.
- Gerçek Dünya Projeleri: mBlock ve Arduino birleşimiyle robotlar, akıllı ev sistemleri, hava durumu istasyonları gibi interaktif fiziksel projeler geliştirebilirsiniz.
📝 Örnek: mBlock ile yazdığınız bir programla, bir ışık sensöründen gelen veriye göre bir LED'i yakıp söndürebilir veya bir butona basıldığında bir motoru çalıştırabilirsiniz.
📌 mBlock Arayüzü ve Temel Bileşenleri
mBlock arayüzü, kullanıcıların kolayca programlama yapabilmesi için tasarlanmıştır. Temel olarak şu bölümlerden oluşur:
- Blok Paleti: Tüm kod bloklarının (Hareket, Görünüm, Olaylar, Kontrol, Sensörler vb.) bulunduğu alandır. Renklerine göre kategorilere ayrılmıştır.
- Kod Alanı (Çalışma Alanı): Blokların sürüklenip bırakılarak birleştirildiği, programın oluşturulduğu ana alandır.
- Sahne Alanı: Karakterlerin hareket ettiği, animasyonların gösterildiği görsel alandır.
- Kukla Alanı: Sahnedeki karakterlerin (kuklaların) ve arka planların yönetildiği alandır.
- Cihaz Alanı: Arduino veya Makeblock robotları gibi harici cihazların eklendiği ve ayarlarının yapıldığı bölümdür.
💡 İpucu: Her bir blok kategorisi, belirli bir görevi yerine getiren komutları içerir. Örneğin, "Hareket" kategorisi karakterin hareket etmesini sağlarken, "Kontrol" kategorisi döngüler ve koşullar içerir.
📌 Blok Tabanlı Programlama Mantığı
mBlock'un temelinde, blokları mantıksal bir sıra ile birleştirerek bir algoritma oluşturma fikri yatar. Bu, programlamanın temel prensiplerini öğretir.
- Sıralama: Kod blokları yukarıdan aşağıya doğru sırayla çalışır.
- Döngüler (Tekrarlar): Belirli bir kod bloğunu defalarca tekrar etmek için kullanılır (örneğin, "10 defa tekrarla" veya "sürekli tekrarla").
- Koşullar (Şartlar): Belirli bir durum gerçekleştiğinde (örneğin, "eğer ışık seviyesi düşükse") farklı bir kod bloğunun çalışmasını sağlar ("o zaman LED'i yak").
- Olaylar: Programın ne zaman başlayacağını veya belirli bir eylemin ne zaman tetikleneceğini belirler (örneğin, "tıklanınca", "boşluk tuşuna basılınca").
⚠️ Dikkat: Programlamanın temeli, bilgisayara neyi, ne zaman ve hangi sırayla yapacağını anlatmaktır. Bloklar bu süreci görselleştirir.