Scratch İle Gerçek Zamanlı Analog Saat Yapımı

Scratch kodlama programını kullanarak hazırlamış olduğumuz analog saat uygulaması ile öğrencilerimiz daha önce kullanmadığı algılama komutlarını kullanacak ve bazı açısal hesaplamalar yapacaktır. Öğrencilerin hem programlama becerilerin hem de matematiksel ve mantıksal becerilerini geliştirmek için hazırlamış olduğumuz bu uygulamaları derslerinizde kullanarak öğrenmeyi daha eğlenceli hale getirebilirsiniz.

1. Sahne düzeni ve kuklalar hazırlanır.

  • Sahne düzeni için isterseniz internet üzerinden analog saat görünümü indirebilir ve “dosyadan yükle” seçeneği ile scratch programına ekleyebilirsiniz. İsterseniz “Yeni dekoru çiz” seçeneğini kullanarak scratch araçları ile şekildeki gibi bir analog saat çizimi yapabilirsiniz.

    TeknoYolcu-ScratchAnalogSaat

  • Yeni kuklayı çiz” seçeneği kullanılarak saat, dakika ve saniye olmak üzere 3 farklı kukla oluşturulur.

TeknoYolcu-ScratchAnalogSaat1

  • Kuklalar, aşağıdaki şekilde gösterildiği gibi kılıklar sekmesi içerisinde bulunan “kılık merkezini belirle” seçeneği kullanılarak uçları merkez olacak şekilde ayarlanır. Böylelikle akrep, yelkovan ve saniyenin merkez noktasından değil de uç noktalardan dönmesi sağlanmış olur.

TeknoYolcu-ScratchAnalogSaat2

2. Gerekli olan değişkenler oluşturulur.

  • Program komutları içerisinde ihtiyacımız olan 4 farklı değişken bulunmaktadır. Veri kod bloğu kullanılarak “bir değişken oluştur” seçeneği ile saat, dakika, saniye ve sayaç adındaki değişkenler oluşturulur.

TeknoYolcu-ScratchAnalogSaat3

3. Kuklalar için gerekli olan kod blokları oluşturulur.

– Saniye kuklası içerisine eklenmesi gereken komutlar aşağıdaki gibi olmalıdır.

TeknoYolcu-ScratchAnalogSaatKod1

Komutların Açıklaması:

  • 90 yönüne dön:  Kuklanın 12 yönüne bakması için kullanılmıştır.
  • “şimdiki saniyex6” derece dön: Bilgisayarın o anki saniyesini 6 ile çarparak o açıda dönmesini sağlar. Böylelikle saniye kuklası doğru açıya gelmiş olacaktır. Örneğin: 30. saniyede ise 30×6=180 derece dönmesi sağlanır ve böylelikle 6 yönünü gösterecektir.
  • Saniye, şimdiki saniye olsun: Saniye değişkeninin bilgisayarın o anki saatine göre ayarlar.
  • Sürekli tekrarla: İçerisinde yer alan komutların sürekli tekrarlanmasını ve kontrol edilmesini sağlar.
  • 1 saniye bekle: Sürekli tekrarla içerisindeki komutların 1 saniyede bir tekrarlanmasını sağlar.
  • Saniyeyi 1 arttır: Saniye değişkenini 1 artırır.
  • 6 derece dön: Saniye değişkeni her arttığında 6 derece dönmesi sağlanır. 6 derece olmasının sebebi 360 derecelik tam turun 60 saniyede tamamlanmasını sağlamak içindir.
  • Eğer saniye=60 ise: Saniye değişkeni 60 olduğunda içindeki komutları çalıştırır.
  • Saniye 0 olsun: 60 saniye geçtiğinde tekrar saniye değişkeni sıfırlanır.
  • Dakika haberini sal: 60 saniye geçtiğinde dakika haberini gönderir. Dakika kuklası içerisinde dakika haberi geldiğinde yapılacak komutlar belirlenmiştir.

– Dakika kuklası içerisine eklenmesi gereken komutlar aşağıdaki gibi olmalıdır.

TeknoYolcu-ScratchAnalogSaatKod2

Komutların Açıklaması:

  • Sayaç 0 olsun: Sayaç değişkeni her bir dakikayı sayması için kullanılmaktadır. Burada başlangıç değeri 0 olarak belirlenmiştir.
  • 90 yönüne dön:  Kuklanın 12 yönüne bakması için kullanılmıştır.
  • “şimdiki dakika”x6 derece dön: Bilgisayarın o anki dakikasını 6 ile çarparak o açıda dönmesini sağlar. Böylelikle dakika kuklası doğru açıya gelmiş olacaktır. Örneğin: 30. dakikada ise 30×6=180 derece dönmesi sağlanır ve böylelikle 6 yönünü gösterecektir.
  • Dakika “şimdiki dakika” olsun: Bilgisayarın o andaki dakikasını dakika değişkenine aktadır.
  • Dakika haberi gelince: Saniye komutları içerisinde yer alan dakika haberini sal komutu geldiğinde yani saniye değişkeni 60 olduğunda dakika kuklasının 6 derce dönmesini sağlar.
  • Sayaç 1 arttır: Sayaç değişkenini 1 arttırır. Bu değişken saat kuklası komutlarında kullanılacaktır.

– Saat kuklası içerisine eklenmesi gereken komutlar aşağıdaki gibi olmalıdır.

TeknoYolcu-ScratchAnalogSaatKod33

Komutların Açıklaması:

  • 90 yönüne dön:  Kuklanın 12 yönüne bakması için kullanılmıştır.
  • Saat, şimdiki saat olsun: Saat değişkeninin o anki bilgisayar saati olması sağlanır.
  • Eğer saat<13 ise: Saat değişkeni 13 ‘den küçük ise içindeki komutu çalıştırır.
  • Saatx28 derece dön: Saat değişkeni 13’den küçük ise saat değişkeni 28 ile çarparak o açıda dönmesini sağlar. Burada 30 yerine 28 kullanmamızın sebebi buçuklu saatlerde saatin tam üzerinde değil de biraz daha geri açıda durmasını sağlamaktır.
  • Eğer 12<saat ise: Eğer saat 12’den büyük ise içerisinde yer alan komutu çalıştırır.
  • (Saat-12)x28 derece dön: Saat 12 den büyük ise 12 çıkartarak 28 ile çarpma işlemi yapılır. Örneğin saat 13 ile 1 aynı açıda olmalıdır. Bu sebeple 12 çıkartılarak işlem yapılırsa aynı açıda dönmesi sağlanmış olur.
  • Sürekli tekrarla: İçerisinde yer alan komutları sürekli olarak kontrol eder veya çalıştırır.
  • Eğer sayaç=5 ise: Sayaç değişkeni yani dakikayı sayan değişken 5 olduğunda 5 dakika geçmiştir ve saat değişkeninin 2.5 derecelik açıyla dönmesi sağlanır. Ayrıca sayaç değişkeni tekrardan sıfırlanır. Buradaki 2.5 derecelik açının sebebi her 1 saatte akrebin 30 derece dönmesini sağlamaktır. Her 5 dakikada bir 2.5 derece dönerse 60 dakikada 2.5×12=30 derece dönmesi sağlanmış olur.

Uygulama dosyası için instagram hesabımızı takip ederek talepte bulunabilirsiniz.

Görüntülenme Sayısı: 89

Bir Cevap Yazın

Önceki yazıyı okuyun:
TeknoYolcu-SmallBasic4
Small Basic Ders 4: Kaplumbağa Grafik

Scratch kodlama programında olduğu gibi small basic programında da kuklalara...

Kapat