#1 PicoBricks – PicoBlink

0
467

Gerçek hayatta işi yeni öğrenmeye başlayan çalışan, önce en temel görevi üstlenir. Temizlik görevlisi ise süpürgenin kullanımını, aşçı ise mutfak araç gereçlerini, garson ise tepsi taşımayı… Bu örnekleri arttırabiliriz. Yazılım geliştirmeye yeni başlayanların ilk yazdıkları kod “Hello World” olarak bilinir. Kullandıkları dil de ekrana ya da konsol penceresine program başlar başlamaz “Hello World” yazdırmak, programlamaya atılan ilk adımdır. Bir bebeğin emeklemeye başlaması gibi… Robotik kodlamaya diğer adıyla fiziksel programlamaya atılan ilk adım ise Blink uygulamasıdır. Robotik kodlamaya göz kırpmak anlamını taşır. Basit olarak bir LED’in bağlantısını devre kartına yaparak yapılan kodlama ile LED’in sürekli yanıp sönmesini sağlanır. Robotik kodlama alanında kendini geliştirmiş kişilere bu seviyeye nasıl geldiklerini sorun. Size verecekleri cevap şöyle başlar; her şey bir LED yakmak ile başladı!

LED’ler elektronik cihazların dilidir. LED’ler sayesinde programcı cihazın görevin hangi aşamasında olduğunu, varsa sorunun ne olduğunu, hangi seçeneklerin aktif olduğunu kullanıcılara ifade eder. Bu projede Picobricks ile üzerinde yer alan LED’lerin çeşitlerini öğrenip onları nasıl yakıp söndüreceğini öğreneceksin.

Proje Detayları ve Algoritma

Picobricks üzerinde 1 adet 5mm kırmızı LED, 1 adet WS2812B RGB LED bulunmaktadır. Normal LED’ler tek renk yanabilirken RGB renkler hem ana hem ara renkler olmak üzere farklı renklerde yanabilmektedir. Bu projede Picobricks üzerindeki kırmızı LED kullanacağız.

Projede Picobricks üzerindeki kırmızı LED yakılması, belirli bir süre geçtikten sonra söndürülmesi,  tekrar belirli bir süre geçtikten sonra yakılması ve bu işlemlerin sürekli tekrarlanması için gerekli kodlar yazacağız.

Bağlantı Şeması

Projenin MicroBlocks ile Kodlanması

MicroBlocks-Picobricks bağlantısı ve kütüphane yükleme işlemleri yaptıysan ilk proje için takip etmen gereken adımlar aşağıdaki tabloda ayrıntılı olarak belirtilmiştir.

1İlk olarak Picobricks başladığında yazdığınız kodların çalışabilmesi için Control menüsünde when started bloğunu sürükleyerek kod yazma alanına bırak—-
2Daha sonra yazdığın kodların Picobricks çalıştığı sürece sürekli olarak çalışması için yine Control menüsünden forever bloğunu sürükleyerek when started bloğunun altına ekle
3Kırmızı LED’in yanması için Picobricks kütüphanesindeki kod blokları arasından PicoBricks set red LED bloğunu sürükleyerek forever bloğunun içine bırak. Start tuşuna basarak kırmızı LED’in yanıp yanmadığını test et.
4Şimdi kırmızı LED’i söndürmek için Picobricks set red LED bloğundaki onay kutusuna bir kere tıklayarak onay kutusunu kırmızı yani kapalı konuma getir ve tekrar Start tuşuna basarak LED’in sönüp sönmediğini test et.
5Kırmızı ledi kod bloğuyla yakıp söndürdükten sonra belirli zaman aralıklarıyla ledin kendi kendine yanıp sönmesi için gerekli kodları yazacağız. Control kategorisinden wait 500 millisecs bloğunu sürükleyerek PicoBricks set red LED bloğunun altına ekle. 
6Şimdi tekrar Picobricks set red LED bloğunu wait 500 millisecs bloğunun altına ekle ve onay kutusunu kapalı konuma getir. Daha sonra tekrar wait 500 millisecs bloğunu en alta ekle. Start tuşuna bastığında Picobricks üzerindeki kırmızı ledin 500 milisaniye aralıklarla yanıp söndüğünü göreceksin.wait 500 millisesc bloğundaki 500 sayısı milisaniyeyi temsil eder. Bu sayıyı dilediğin gibi değiştirebilirsin. 1000 yaptığında kırmızı LED 1000 milisaniye yani 1 saniye aralıklarla yanıp sönecektir.

Projenin MicroBlocks kodlarına erişmek için tıkla.

Proje Önerisi

Farklı zaman aralıkları ile LED’i yakabilir miyiz? Örneğin; birkaç kez saniyede bir, birkaç kez yarım saniyede bir LED’in yanıp sönmesi.

 Projenin MicroPython Kodları

from machine import Pin
import utime

led = Pin(7, Pin.OUT)

while True:
    led.toggle()
    utime.sleep(0.5)

Projenin Arduino C Kodları


void setup() {
  pinMode(7, OUTPUT);
}

void loop() {
  digitalWrite(7, HIGH);   
  delay(500);                    
  digitalWrite(7, LOW);    
  delay(500);                     
}

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz