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
Posted from my blog with SteemPress :
https://murattatar.xyz/26-satir-bahanesiyle-ucundan-bit-byte-mbit-s-meali/
Üçüncü parti bir steem uygulaması olmadan, varsayılan olarak steemit'e kod reklandirme gelmese keşke..
Hocam bu süper bir üretgenlik.👍
İlerleyen zamanlarda, icraatın içinden görüntüler hatta canlı-interaktif uygulamalar paylaşabilirim diye umut ediyorum..
İnşallah gerçeğe dönerse süper olur. Ülke ekonomisine katkı olur.
Devamı >
https://steemit.com/tr/@murattatar/voidloopveanalogreadaklamas-mle7469x9t