26 Satır Bahanesiyle, Ucundan Bit-Byte, MBit/s Meali

Previously on around here: 26 Satırda İsrafı Önleme


// Işık sensöründen gelecek değerleri x değişkeni içinde tutacağız.
// Gelecek olan veriler 0 ile 1023 arasında olacağından, yani 255’ten büyük olacağı için int x; diyoruz. Küçük olacak olsa idi byte x; yazmak daha verimli olurdu.
// x = 15 , y= 200 vb.. makismum 255’e kadar değer alacaklarsa bunları int yerine byte olarak atamak daha sağlıklı.

// Öncelikle byte tercih etmeye çalışmamızın sebebi; 8 bitlik bir alan düşünelim _ _ _ _ _ _ _ _
// her bir değer elektrik var/yok = 0/1 gibi 2 değer alabileceği için -lise permutasyon konularundan hatırlayalım-
// her bir alana 2 yazarız. 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 = 256
// böylece elimizde 256 adet değer olabilir. Ve dikkat edilirse bu 8 bit = 1 byte ‘lık bir yer tutar.

// O halde kullanacağımız bir değişkeni örneğin x’i byte olarak tanımlarsak,
// x işlem gördüğü her yerde, RAM/Bellek/İşlemci/Denetleyici/Trafik.. 1 byte’lık bir maliyeti olacakır.

// Başa dönecek olursak, LDR/sensör’den gelecek olan veriler 255’ten büyük olduğu için int yani integer kullanıyoruz.
// ATmega tabanlı işlemcilerde, int için 2 byte yer ayırdığı için, int’in sınırları -32,768 ile 32,767 arasında olacaktır.
// 2 byte = 16 bit = 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 😉
// https://www.arduino.cc/reference/en/language/variables/data-types/int/

 

// Serial haberleşmeyi başlatıyoruz.
//  Baud rate hızımız ise 9600

// Baud rate?
// İnenete bağlantı hızımı söylerken ne diyoruz? 16 Mbit/s gibi değil mi.
// Yani, saniye 16 x 1,048,576 adet 0 ya da 1 alabiliyoruz demek.
// Saniye ilettiğimiz bit sayısına BitRate diyoruz.

// Baud ise, saniye ilettiğimiz şey bit değil de başka semboller olabildiğinde karşımıza çıkıyor.
// Ki adını mucidi olan Fransız mühendis Émile Baudot’tan alıyor.

// Örneğin 0 derece 45 derece 135 derece 275 derece gibi açı bilgisini iletmek istediğimizi düşünelim
// yukarıda da geçtiği üzere “275” değeri için byte yeterli olmadığı için interger kullanmamız gerekir
// yani 16 bit kullanacağız. Oysa 275 yazıp göndermek yerine, şöyle demiş olsak
// 00 = 0
// 01 = 30
// 10 = 135
// 11 = 275
// Görüldüğü gibi olay 16 bit yerine _ _ iki bitte olay çözülmüş oldu.
// bu sistemi kullanan kablolu tv yayını, 8 kat daha kapasiteli olabilir gibi sanki 😉
// https://www.electronicdesign.com/communications/what-s-difference-between-bit-rate-and-baud-rate

 

// Işık sensörü dijital olmadığı için,
// bize 0 ya da 1 göndermek yerine, 0 ile 1023 arasında değerler gönderecek
// yani 0-1 olmadığına göre Analog. Bu yüzden Işık sensörünü A0 /Analog Sıfır pinine bağlıyoruz.
// Arduinoya dışardan bilgiler bu pinden giriş yapacağı için pin modunu Giriş/INPUT yapıyoruz.
// (parantez içinde; Analog pinler varsayılan olarak zaten Giriş/INPUT durumundadır.)
// bu örnek için boşuna yazmışız ama genel olarak, giriş istediğimiz durumlardaki kullanımı şekilde.

 

// Arduino gibi bir MikroDenetleyici’den dışarı yönde çıkış almak istediğimiz için
// 3 Nolu pinini Çıkış/OUTPUT olarak ayarlıyoruz.
// Böylece, bu pine HIGH ya da LOW gönderdiğimizde, buraya bağlı olan cihazı kontrol etmiş olacağız.
// Burada basit bir LED olduğunda, led yakıp söndürme yapabileceğimiz gibi
// Bir bacağı bu pine bağlı bir Röle ile, röleye bağlı olan bir anahtar ile koca bir nükleer tesisi de açıp kapatabilirsiniz.
// Arduino ile nükleer reaktör çalıştırmak .. // click bate başlık olur bundan 🙂

 


Görsel: shutterstock

This article has 1 comment

  1. Pingback: Döngünün Kabuğunu Kırıp Dışarı Çıkmak | MuratTatar.xyz

Leave a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir