Açık Kaynak Assembly İşletim Sistemi

Merhabalar… Ben Uygar. Bir önceki yazımda (http://blog.turkiyeelektronik.com/2017/06/22/kendi-isletim-sisteminizi-yazin/) sizlere assembly ile basit bir bootloaderın nasıl yazılacağından, bilgisayarların nasıl önyükleme yaptığından, BIOS’dan, POST işleminden ve önyüklemenin ne olduğundan bahsetmiştim. Şimdi ise varolan bir açık kaynak işletim sisteminin kodlarını değiştirerek kendi basit işletim sisteminizi nasıl yapabileceğinizi göstereceğim 🙂

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]

Başlamadan önce önceki yazımda belirtmediğim ancak bir işletim sisteminin olmazsa olmaz bazı bölümlerini açıklayayim. İşletim sistemleri, donanım ile iletişim kurarken kernel (Çekirdek) adlı bir yazılım kullanır. Kullanıcının gördüğü kısım User Interface – UI (Kullanıcı Arayüzü) olarak adlandırılır. Kullanıcı arayüzü üzerinde çalışan programlar, hiçbir işletim sisteminde doğrudan donanım ile haberleşemez. Programlar kernel’a istekte bulunur. Kernel bu isteği donanıma iletir ve gelen cevap yine doğrudan uygulamalara gidemez.

Kernel Nedir?

Kernel; işletim sisteminin çekirdeğini oluşturan ve sistemdeki her şeyi kontrol eden bir bilgisayar yazılımıdır. Önceki yazımda ikinci önyükleyici işletim sistemini yükler demiştim. Burada işletim sistemi olarak bahsettiğim yazılım aslında kernel’dı. Yani kernel, bootloader’dan sonra yüklenen ilk yazılımdır. Şimdilik bu kadar bilgi yeterli 🙂 Daha sonra sadece kernel’ı anlatan ayrı bir yazı yazacağım.

Çizim kaynağı: Wikipedia

Yukarıda işletim sistemlerinin genel yapısını görmektesiniz. Şimdi sizlere bu yazıda anlatacağım açık kaynak kodlu basit işletim sistemine gelelim. Kullanacağımız sistemin adı MikeOS.

MikeOS Nedir?

MikeOS, assembly dili ile yazılmış, x86 bilgisayarlar için bir işletim sistemidir. Ancak bu işletim sistemi bir bilgisayarı kullanmak için değil; basit 16-bit, gerçek mod işletim sistemlerinin nasıl çalıştığını öğretmek amacıyla, bir eğitim aracı olarak tasarlanmış.

Artık başlayabiliriz. http://mikeos.sourceforge.net/  adresindeki Downloads bölümünden onu indirelim. İndirdiğimiz arşivi herhangi bir yere çıkaralım. Ben 4.5 sürümünü indirdim. Çıkardığım arşivin klasör yapısı aşağıdaki gibi:

mikeos-4.5/
├── source/
│   ├── features/
│   │   └── *.asm
│   ├── bootload/
│   │   ├── bootload.bin
│   │   └── bootload.asm
│   ├── kernel.bin
│   └── kernel.asm
├── programs/
│   └── *.*
├── doc/
│   └── (Çeşitli dökümanlar)
├── disk_images/
│   ├── README.TXT
│   ├── mikeos.iso 
│   ├── mikeos.flp 
│   └── mikeos.dmg
├── test-linux.sh
├── README.TXT
├── buildwin.bat
└── build-*.sh

Bu dosyalardan source klasörü, işletim sistemimizin dosyalarının bulunduğu klasör. programs ise işletim sistemimizde çalışan programların klasörü. doc, bizler için hazırlanmış İngilizce belgelerin bulunduğu klasör.  disk_images ise işletim sistemimizi derledikten sonra oluşan önyüklenebilir disk kalıpları ve binary dosyaları.

source, yani kaynak klasörünü inceleyelim. İçinde features yani özellikler adında bir klasör var. Bu klasörün içerisinde ise çeşitli assembly dosyaları (.asm) var. Bu dosyalar, kernel tarafından yüklenen ve sistemin temel fonksiyonlarını oluşturan dosyalar. bootload klasöründe ise önyükleyicimiz bulunuyor. Bir önceki yazımda anlattığım önyükleyicinin çok daha karışık hali 🙂 *.asm dosyaları; derlenmemiş, insanlar tarafından direk olarak okunabilir dosyalardır. *.bin gibi dosyalar ise derlenmiş ve yanlızca makineler tarafından okunabilir dosyalardır. kernel.asm ise yazının başında belirttiğim sistem çekirdeği.

Şimdi bu işletim sistemini nasıl çalıştıracağımızı anlatacağım. Bu aşamada build dosyalarınan faydalanacağız. Build dosyaları, kullandığımız işletim sisteminin adına göre isimlendirilmiş. Kendimize uygun olan build dosyasını açıyoruz. Örneğin ben Linux kullandığım için build-linux.sh’ı açacağım.

Ancak açtığımda “You must be logged in as root to build (for loopback mounting)
Enter ‘su’ or ‘sudo bash’ to switch to root” şeklinde bir hata aldım. Dolayısıyla Linux kullanıcıları, sudo sh ./build-linux.sh komutunu kullanmalılar.

Yukarıdaki mesajları aldığımızda disk_images klasöründeki dosyalar güncellenmiş oluyor. Bunları Linux üzerinde test-linux.sh dosyasını kullanarak kolayca qemu üzerinden çalıştırabiliyoruz. Windows için ise mikeos.iso  dosyası virtual machine (sanal makine) üzerinden çalıştırılabilir.

Sistemi çalıştırdığımızda karşımıza çıkan ekran. Ok tuşları ve enter yardımıyla OK’a basarsak grafiksel kullanıcı arayüzü (GUI) açılır. Cancel’e basarsak, komut satırı şeklinde olan kullanıcı arayüzü açılır.

OK’a bastığımızda çıkan arayüz. Burda gördükleriniz, programs klasöründeki dosyalar. KERNEL.BIN hariç her şeyi çalıştırabilirsiniz.

Bu da sistemin konsol arayüzü.

Bu yazımın da sonuna geldim. Bulduğunuz her türlü dosyayı inceleyerek kendinizi geliştirebilir, değerleri değiştrerek eğlenebilirsiniz 🙂 Bir sonraki yazımda görüşmek üzere…

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]

Kendi İşletim Sisteminizi Yazın!

Mehabalar… Bu yazımda sizlere assembly dili ile nasıl basit bir bootloader yazabileceğinizi anlatacağım.

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]

Ancak bunlardan önce işletim sistemleri hakkında genel bilgiler vermekte fayda var.

BIOS Nedir?

BIOS, (Basic input-output System) (Türkçesi: Temel Giriş-Çıkış Sistemi) bilgisayarınızı satın aldığınızda onunla beraber gelen bir EPROM (Erasable Programmable Read-Only Memory) (Türkçesi: Silinebilir Programlanabilir Salt Okunur Hafıza) hafıza üzerinde bulunan bir yazılımdır. Bilgisayar açıldığı anda işlemciye tüm diğer donanımları tanıtır. Bu donanımların temel iletişimprotokollerini belirler. Ve işletim sisteminin herhangi bir sürücüden (örn: HDD/USB bellek vb.)  başlatılmasını sağlar ve işletim sistemi çalışırken donanım/yazılım arasındaki ilişkileri düzenler. Aşağıda anakart üzerinde bulunan BIOS EPROM yongasını görmektesiniz:

BIOS EPROM
Fotoğraf Kaynağı: Wikipedia

Önyükleme (Boot) Nedir?

Bilgisayarlarda önyükleme, bilgisayarın başlatma tuşuna basıldıktan sonra bir işletim sistemini başlatması için gereken komut veya komut dizesidir.

Bilgisayar Nasıl Önyükleme Yapar?

Bir bilgisayar kasasının başlatma tuşuna bastığınızda bilgisayarınız öncelikle işlemci pinlerini sıfırlar ve register’ları belirli bir değere ayarlar. CPU, BIOS ardesine atlar (0xFFFF0). BIOS, bir POST kontrolü (Power-on Self-Test) (Türkçe: Açılışta otomatik sınama) ve diğer gerekli kontrolleri yapar. Bu kontroller, tüm donanımı (RAM, CPU vb.) sağlıklı çalışıp çalışmadığını denetlemek için anakartı tarar. Bazen bilgisayarımızı açtığımızda gelen “Beep” sesleri, bu kontrolün olumsuz sonuçlanmasından kaynaklanır. Aşağıda bilgisayarımız POST işlemini gerçekleştirirken karşımıza çıkan bir ekranın ekran alıntısı bulunmakta.

Fotoğraf Kaynağı: Wikipedia

Bu işlemden sonra BIOS, MBR’ye (Master Boot Record) (Tr: Ana Önyükleme Kaydı) atlar. MBR, disklerin ilk 512 baytlık bölümüdür. Bu bölüm, diskinilk sektörüdür. BIOS, MBR üzerie geldiğinde buradan birinci bootloader yüklenir. Bu 512baytlık yazılım, ikinci bootloader’ı çalıştırır. İkinci bootloader ise işletim sistemini yükler. Aşağıda birinci bootloader’in yapısını görmektesiniz:

MBR
Çizim Kaynakçası: www.engineersgarage.com

Örnek Bir Bootloader

[BITS 16]       ;Derleyiciye kodun 16 bit olduğunu söyledik.
[ORG 0x7C00]    ;Derleyiciye kodun yüklendikten sonra hafızadaki
                ;yerini belirttik.
MOV SI, String  ;Dize işaretçisini SI'ya kaydet.
CALL PrintString;Dize basma fonksiyonunu çağır.
JMP $           ;Sonsuz döngüyü başlatıyoruz.
PrintCharacter: ;Ekrana karakter basarken kullanacağımız işlem.
                ;ASCII değerinin AL içerisinde olduğunu varsayınız.
MOV AH, 0x0E    ;BIOS'a ekrana bir karakter basmamız gerektiğini
                ; söyle.
MOV BH, 0x00    ;Sayfa numarası. 
MOV BL, 0x07    ;Yazı özniteliği 0x07, siyah arkaplan üzerinde 
                ; açık yazı tipi.
INT 0x10        ;Video kesmesini çağır.
RET             ;Çağrı işlemine geri dön.
PrintString:    ;Ekrana dize basarken kullanacağımız işlem.
                ;Dize başlama işaretçisi SI kaydında.

next_character: ;Dizeden bir sonraki karakteri almak için etiket.
MOV AL, [SI]    ;Dizeden bir bayt al ve AL içerisine kaydet.
INC SI          ;SI'yi artır.
OR AL, AL       ;AL daki değerin 0 olup olmadığını kontrol et. 
                ;(0 => dize sonu)
JZ exit_function;Dize bittiyse dön
CALL PrintCharacter ;Bitmediyse AL'daki karakteri bas.
JMP next_character  ;Dizeden sonraki karakteri getir.
exit_function:      ;Etiketi bitir
RET                 ;İşleme dön
PrintString:        ;Ekrana dize basarken kullanacağımız işlem.
                    ;Dize başlama işaretçisi SI kaydında.
next_character:     ;Dizeden bir sonraki karakteri almak için etiket.
MOV AL, [SI]        ;Dizeden bir bayt al ve AL içerisine kaydet.
INC SI              ;SI'yi artır.
OR AL, AL           ;AL daki değerin 0 olup olmadığını kontrol et.
                    ;(0 => dize sonu)
JZ exit_function    ;Dize bittiyse dön
CALL PrintCharacter ;Bitmediyse AL'daki karakteri bas.
JMP next_character  ;Dizeden sonraki karakteri getir.
exit_function:      ;Etiketi bitir
RET                 ;İşleme dön
;Veri
String db 'Www.TurkiyeElektronik.Com', 0 ;0 ile biten String dizesi.

TIMES 510 - ($ - $$) db 0 ;Sektörün geri kalanını 0 ile doldur.
DW 0xAA55                 ;Önyükleyici imzası.

Evet kodların yanındaki ; işaretlerinden sonraki açıklamalar yardımıyla kodu anlayabilirsiniz 🙂 Komutları tek tek açıklamak için assembly ile ilgili başka bir yazı yazmayı düşünüyorum. Kısa bir bilgi vermek gerekirse assembly, çok düşük seviyeli (makine diline yakın) ve karmaşık bir dildir 😀 Şimdi bu kodu yazdıktan sonra nasıl derleyeceğinizi göstereceğim.  Ben Linux işletim sistemini kullanıyorum. Ancak bildiğim kadarıyla kullandığım programların [nasm (assembly derleyicisi), qemu (emülatör)] Windows için olanları da var 🙂 Öncelikle üsetteki assembly kodunu derlememiz, yani makine diline çevirmemiz gerekir. Bunun için Windows komut isteminden veya Linux uçbiriminden cd komutu ile yukarıdaki assembly kodunu kaydettiğimiz boot.asm dosyasının bulunduğu klasöre gelelim. Daha sonra nasm boot.asm -f bin -o boot.bin komutu ile makine dilinde bir boot.bin dosyası oluşturalım.

Geldik en güzel aşamaya: denemek 🙂 Denemek için ise qemu-system-i386 ./boot.binkomutunu kullanalım.

Ve sonuç:

OS Test

Ancak belirtmekte fayda var ki buşekilde sıfırdan bir işletim sistemi yazmamız neredeyse olanaksız. Bu nedenle Linux Kernel‘i ve GRUB Bootloader‘ını kullanmamızda fayda var. Kerneli Linux ve GRUB terimlerini daha sonra tek tek açıklayacağım. Umarım faydalı bir yazı olmuştur. Yorumlarınızı bekliyorm 🙂 Sorularınızı yorumlar aracılığı ile her zaman sorabilirsiniz. Sonraki yazılarımda görüşmek üzere, hoşça kalın…

Kaynakça:

http://whatis.techtarget.com/definition/BIOS-basic-input-output-system

https://www.engineersgarage.com/tutorials/how-computer-pc-boots-up

http://viralpatel.net/taj/tutorial/hello_world_bootloader.php

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]

TDA2822M İle Basit Bir Anfi

Merhabalar… Bu yazımda sizlere basit bir anfi entegresi olan TDA2822M‘i nasıl kullanabileceğinizi anlatacağım.

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]

Bildiğimiz gibi anfiler, sesi duyulabilecek seviyelere yükseltmeye yarar. Ses özelliğine sahip her cihazda anfi bulunur. Araba radyoları, bilgisayarlar, televizyonlar, radyolar… yani günlük hayatımızda kullandığımızın cihazların çoğunda anfi vardır.

TDA2822M Entegresi Nerelerde kullanılır?

Bu kulaklık anfisi, daha çok ucuz radyo ve bilgisayar hoparlörleri vb. yerlerde sıklıkla karşımıza çıkar. Yapacağımız anfi, 15 liradan daha pahalı olmayacak 🙂

Teknik Bilgi

Boyutları ile verdiği güç oranı gayet güzel ve ucuz olduğu için çok popüler bir entegre olan TDA2822M entegresi, köprü veya stereo olarak çıkış verebiliyor. Tek kanal (köprü) çıkışı daha yüksek ses almamıza olanak sağlıyor. Bu entegrenin çalışma voltajı aralığı 1.8v ile 15v arasında değişebiliyor. Datasheet’i açmak için buraya tıklayınız.

Ben aşağıdaki videoda datasheet üzerindeki test devrelerinden köprü olanı kullandım. Şimdi onun şemasını sizlerle paylaşacağım. Bu şemayı kullanarak kendi TDA2822M anfinizi oluşturabilirsiniz. Diğer örnekler için yukarıda linkini paylaştığım datasheet’i inceleyebilirsiniz. 🙂

TDA2822M Köprü Örnek Şema
TDA2822M Köprü Örnek Şema

Örnek çalışma videosu:

Bootstrap Nedir

Merhaba arkadaşlar. Ben Uygar. Bu yazımda Bootstrap’dan bahsedeceğim.

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]

Bootstrap Nedir

Eğer web geliştirme ile biraz ilgilendiyseniz Bootstrap terimini duymuşsunuzdur. Bootstrap’ın resmi sitesinde yazanlara göre Bootstrap, mobil öncelikli, duyarlı (ekran boyutu olarak),  en popüler HTML, CSS ve JS iskeletidir (framework). Harika geliyor! Şimdi onu nasıl kullanacağız?

Bootstrap’ın “Getting Started” sayfası, size onu nasıl kullanabileceğiniz hakkında detaylı açıklamayı yapıyor. Öncelikle Bootstrap’ın Getting Started sayfasına buradan bakalım.

Öncelikle Bootstrap’ı indirmeliyiz. Bir web sitesi tasarlarken kullanabileceğimiz iki yöntem var. Bootstrap dosyalarını kendi sunucumuzda barındırmak veya Bootstrap CDN’ini kullanmak. Ben dosyaları indirmenizi tavsiye ederim. Çünkü basit bir örnek vermem gerekirse siteyi çevrimdışı olarak test etmek istediğinizde dosyaları yerel bilgisayarınızdan okuyabilirsiniz. Ancak çevrimdışı bir ortamda CDN yöntemi çalışmayacaktır.

Son sürüm Bootstrap’ı indirdikten sonra onu bir klasöre (örn: Masaüstüne bir klasör açın ve oraya çıkarın) çıkarın. Şimdi çıkardığınız dosyaların görevlerini anlatacağım.

bootstrap/
├── css/
│   ├── bootstrap.css
│   ├── bootstrap.css.map
│   ├── bootstrap.min.css
│   ├── bootstrap.min.css.map
│   ├── bootstrap-theme.css
│   ├── bootstrap-theme.css.map
│   ├── bootstrap-theme.min.css
│   └── bootstrap-theme.min.css.map
├── js/
│   ├── bootstrap.js
│   └── bootstrap.min.js
└── fonts/
    ├── glyphicons-halflings-regular.eot
    ├── glyphicons-halflings-regular.svg
    ├── glyphicons-halflings-regular.ttf
    ├── glyphicons-halflings-regular.woff
    └── glyphicons-halflings-regular.woff2

Klasörlerimiz bu şekilde. Bunlardan js ve css klasörlerini kullanacağız. css klasörünün içerisinde ise bootstrap.css ve bootstrap.min.css gibi dosyalar var. Bu dosyaların hepsini zamanla açıklayacağım ancak şimdilik bu ikisi yeterli olacaktır 🙂

bootstrap.css, Bootstrap’ın ana CSS frameworküdür. bootstrap.min.css ise onun  en minimum halidir diyebiliriz. Minimum halini kullanmamız sayfamızın yüklenme hızı açısından avantajlı olacaktır.

Şimdi ilk örneğimize geçelim. Bu örnekte html belgemize Bootstrap’ı dahil edip geleneğe uyarak ekrana “Hello, world!” yazacağız 🙂

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title>Bootstrap Hello World!</title>

    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <h1>Hello, world!</h1>

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
  </body>
</html>

Bu örneği çalıştırdığımızda aşağıdaki gibi bir sayfa bizi bekliyor olacak:

Bootstrap Örneği.
Bootstrap Örneği.

Şimdi üstteki kodu açıklayalım. Bu yazıda sadece Bootstrap ile alakalı olan satırları açıklayacağım. HTML ile olan yazılarımızı okuyabilirsiniz 🙂

<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

Bu satır, sayfanın ekran boyutlarına göre otomatik olarak değişmesini sağlıyor.

<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">

Bu satır ise Bootstrap’ı indirdiğimiz dosyalardan dahil ediyor.

<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->

Bu satırlar, tarayıcı uyumluluğu için var.

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

Jquery’yi yüklüyor. Jquery, Bootstrap’ın JS frameworkü için gereklidir.

<script src="js/bootstrap.min.js"></script>

Bu satırda ise Bootstrap JS frameworkünü yükledik.

Bu yazımız da buraya kadar arkadaşlar. Sorularınızı yorum aracılığı ile sormaktan lütfen çekinmeyin 🙂 Bir sonraki yazımda görüşmek üzere, hoşça kalın…

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]

 

9 Volt DC Regüle Edilmiş Güç Kaynağı

Merhabalar…

Bu yazımda sizlere küçük projeleriniz için 9 Volt DC bir güç kaynağının nasıl yapılacağını anlatacağım.

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]

Küçük düşük akım 9VDC regüle edilmiş güç kaynağı, bipolar transistör ve zener diyot ile oluşturulmuştur. Bu devre, seri voltaj regülatörü olarak da bilinir. Giriş voltajının regüle edilmesine gerek yoktur. Bu devre çıkış voltajını regüle eder ve sabit 9V DC, 250mA sağlar. Zener diyot, transistörün base ucuna referans voltajı sağlar. Küçük projeleriniz için çok uygun bir güç kaynağıdır. Güç çıkışını zener diyodu değiştirerek değiştirebilirsiniz. Çıkış akımınız yüksekse transistöre bir ısı emici (heat sink) gerekebilir.

Çıkış Voltajı Formülü Vout=Vz-VBe

Vz=Zener diyot Voltajı, VBe=0.7V

Özellikler

  • Giriş: 12V AC veya DC, 500mA
  • Çıkış: 9.3V DC, 250mA, Regüle edilmiş çıkış
  • Girişte doğrultucu bulunur.
  • Çıkış için LED göstergesi

Şema

9vDC regüle edilmiş güç kaynağı şema
Kaynak: www.electronics-lab.com

Malzeme Listesi

9v DC güç kaynağı malzeme listesi
Kaynak: www.electronics-lab.com

Yazı Kaynağı: www.electronics-lab.com

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]

Raspberry Pi Masaüstü Kasası – Tüm Çevre Birimleri Dahil

Raspberry Pi; iyi tasarlanmış, güçlü ve ucuz bir karttır. Ancak eksiksiz bir bilgisayar değildir. Bazı dağıtıcı firmalar sadece bir plastik kutu ve güç kaynağından daha fazlasına ihtiyacınız olduğunu biliyorlar.  Element14’teki ‘Pi Masaüstü’ kiti, ihtiyacınız olan her şeyi ve daha fazlasını içerir; RPi’nizi tam teşekküllü bir bilgisayara dönüştürür.

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]

Halihazırda bir Raspberry Pi kartınız varsa, Pi Masaüstü Seti onu gerçek bir bilgisayara dönüştürmek için ihtiyacınız olan her şeyi sağlar. Wi-Fi, Bluetooth, gerçek zamanlı bir saat (real-time clock), mSATA-SSD sabit sürücü için bir arayüz, ısı emici (heat sink), isteğe bağlı bir kamera, düzgün bir güç anahtarı ve şık siyah kutu. Eğer SSD ile bir Pi kurarsanız; zarif, hızlı, sessiz ve ucuz bir bilgisayarınız olur. Montajı sadece birkaç dakika sürer.

Gerekli tüm parçaları kablolar ile birbirine bağladıktan sonra tek eksiğiniz HDMI bir monitör, klavye ve fare. Bu kitin fiyatı: €46.71

Kaynakça: https://www.elektormagazine.com/news/pi-desktop-includes-peripherals-and-a-neat-case

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]

 

 

 

Breadboard Kullanımı

Merhaba arkadaşlar, ben Uygar KOÇ. Bu yazımda sizlere güzel bir prototip devre oluşturma platformu olan breadboardlara nasıl devre kurulacağını anlatacağım.

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]

İsim Nereden Geliyor?

Breadboardun Türkçe karşılığı “Ekmek Tahtası”dır. Öyleyse niye üzerine devreler kurduğumuz bu kartın adını ekmek tahtası koyduk?

Çünkü uzun yıllar önce insanlar, devreleri annelerinin ekmek tahtaları üzerinde delikler açarak veya raptiyeler takarak oluşturuyorlardı.

Bundan beri elektronik devler çok küçüldü ve bizler devreleri bağlamak için daha iyi yollar aradık. Bu ekmek tahtaları, zamanla modern breadboardlara dönüştü.

Neden Breadboard Kullanmalı?

Elektronik bir breadbord, (Üzerinde devreler kurulan, sandviç hazırlanan değil 😀 ) prototip oluşturmak için mükemmel bir karttır. Lehim yapmaya ihtiyaç duymaz. Böylece birçok değişikliği rahatlıkla yapabiliriz.

Ayrıca elektroniğe yeni başlayanlar için breadbord, müthiş kolaylık sağlayacaktır.

Bir Breadboardun Anatomisi

Bir breadboardun başlıca özellikleri

Terminal Şeritleri

Devreleri kurarken en çok kullanacağımız alanlar bunlardır. Fotoğrafta gösterildiği gibi hepsi birbirine şeritler halinde bağlıdır.

Güç Rayları

Devremizin gücünü bu alandan veririz. Fotoğrafta görüldüğü gibi (+) hattı bir şerit, (-) hattı ayrı bir şerittir.

DIP Desteği

DIP entegreleri kullanırken bu boşluk çok işimize yarayacak. Bu bölümün kullanımını aşağıda eklediğim videomda anlattım.

Aşağıdaki fotoğraflar breadboardların anatomisini açıklamaktadır 🙂

Breadboard

 

Bir sonraki yazımda görüşmek üzere, hoşçakalın… 🙂

Kaynakça: https://learn.sparkfun.com/tutorials/how-to-use-a-breadboard

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]