android ve elektronik

28
ANDROID VE ELEKTRONİK ANDROID VE ELEKTRONİK Muharrem Taç Muharrem Taç M2 Bilişim M2 Bilişim

Upload: muharrem-tac

Post on 18-Nov-2014

662 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Android ve Elektronik

ANDROID VE ELEKTRONİKANDROID VE ELEKTRONİK

Muharrem TaçMuharrem TaçM2 BilişimM2 Bilişim

Page 2: Android ve Elektronik

Bilim dalı olarak elektronikBilim dalı olarak elektronik

Elektronik, serbest elektronların (valans elektron) denetimini Elektronik, serbest elektronların (valans elektron) denetimini konu edinen bir bilim dalıdır. Atom çekirdeğinin en dış konu edinen bir bilim dalıdır. Atom çekirdeğinin en dış yörüngesindeki elektronun atom çekirdeğine daha zayıf bir yörüngesindeki elektronun atom çekirdeğine daha zayıf bir kuvvetle bağlı olmasından dolayı valans elektronun enerji kuvvetle bağlı olmasından dolayı valans elektronun enerji seviyesinin arttırılması sonucu atom çekirdeğinden koparılması seviyesinin arttırılması sonucu atom çekirdeğinden koparılması prensibidir.prensibidir.

Elektronik cihazların temel yapı taşlarında silisyum, germanyum, Elektronik cihazların temel yapı taşlarında silisyum, germanyum, ve galyum elementleri kullanılarak imal edilir. Bu maddeler ve galyum elementleri kullanılarak imal edilir. Bu maddeler aralarında mikro veya nano boşluklar bırakılarak elektronların bu aralarında mikro veya nano boşluklar bırakılarak elektronların bu elementler arasında kuantum sıçramaları yani elektronların orbital elementler arasında kuantum sıçramaları yani elektronların orbital (yörünge) değiştirmesi sağlanarak mantıksal işlemler yaptırılır. (yörünge) değiştirmesi sağlanarak mantıksal işlemler yaptırılır. Bilgisayarın ve elektronik cihazların temel çalışma prensibi bu Bilgisayarın ve elektronik cihazların temel çalışma prensibi bu ilkeye dayanır.ilkeye dayanır.

http://tr.wikipedia.org/wiki/Elektronik

Page 3: Android ve Elektronik

Mühendislik olarak elektronikMühendislik olarak elektronik

Elektronik, elektrik akımını geçiren, iletken, yarı Elektronik, elektrik akımını geçiren, iletken, yarı iletken, üstün iletken, direnç, kondansatör, iletken, üstün iletken, direnç, kondansatör, indüktans, vakum tüpleri ve nano ölçekli yapılarla indüktans, vakum tüpleri ve nano ölçekli yapılarla imal edilen elemanların ve bu elemanların montajıyla imal edilen elemanların ve bu elemanların montajıyla meydana gelen cihazların geliştirilmesiyle ilgilenen meydana gelen cihazların geliştirilmesiyle ilgilenen mühendislik dalıdır.mühendislik dalıdır.

http://www.nuveforum.net/731-muhendislik-bilimleri-bolumu/31090-elektronik-nedir-elektronik-hakkinda/

Page 4: Android ve Elektronik

TarihçeTarihçe

James Clerk Maxwell Michael Faraday Antonio Meucci Nikola Tesla

John Bardeen, William Shockley ve Walter Brattain

Jack KilbyGeoffrey Dummer

Georg Simon Ohm

Alessandro VoltaAndré-Marie Ampère

Luigi Galvani

John von Neumann

Page 5: Android ve Elektronik

Elektronik devre elemanlarıElektronik devre elemanları

Direnç Kondansatör Transistör Diyot Güç kaynağı Transformatör

Page 6: Android ve Elektronik

Elektronik devre şemalarıElektronik devre şemaları

Page 7: Android ve Elektronik

Dijital elektronikDijital elektronik

Mantıksal kapılarMantıksal kapılar

http://www.schoolphysics.co.uk/age16-19/Electronics/Logic%20gates/text/Logic_gates/index.html

Page 8: Android ve Elektronik

Dijital elektronikDijital elektronik

Entegre devrelerEntegre devreler

Page 9: Android ve Elektronik

Mikro işlemciler ve mikro denetleyicilerMikro işlemciler ve mikro denetleyiciler

MikroişlemciMikroişlemci

http://elektroteknoloji.com/blog/mikroislemci-ve-mikrodenetleyici-arasindaki-farklar/

Bir mikroişlemci görevini yerine getirebilmesi için mutlaka, verilerin saklanacağı bellek birimine, dış dünyadan veri alış-verişinin düzenli yapılmasını sağlayan giriş/çıkış birimine ihtiyaç duyar. Bunlar bir mikroişlemcili sistemde ayrı ayrı birimler (entegreler) şeklinde yerini alır.Örnek: Intel Core i7

MikrodenetleyiciMikrodenetleyici

Mikrodenetleyicilerde tüm bu birimler (işlemci, bellek ve G/Ç, bunlara ADC ve DAC gibi sinyal dönüştürücü elemanlarda eklenebilmektedir) bir arada bulunmaktadır.Örnek: Atmel Atmega 2560

Page 10: Android ve Elektronik

ProteusProteus

http://www.labcenter.com/

Page 11: Android ve Elektronik

ArduinoArduino

Arduino UNOArduino UNO

Page 12: Android ve Elektronik

ArduinoArduino

Bir prototyping platform,Bir prototyping platform,Çeşitli modelleri var,Çeşitli modelleri var,Temelde Atmel marka mikrodenetleyiciler içeriyor,Temelde Atmel marka mikrodenetleyiciler içeriyor,Programlama dili olarak Processing ve Wiring’e dayanan kendi dili kullanılıyor,Programlama dili olarak Processing ve Wiring’e dayanan kendi dili kullanılıyor,Java ile yazılmış bir IDE’si var,Java ile yazılmış bir IDE’si var,Shield adı verilen eklentiler ile zenginleştirilebiliyor,Shield adı verilen eklentiler ile zenginleştirilebiliyor,Açık kaynaklı (Open Hardware),Açık kaynaklı (Open Hardware),Büyük topluluk desteğine sahip,Büyük topluluk desteğine sahip,Hemen her konuda kütüphaneler var,Hemen her konuda kütüphaneler var,Hemen her türlü eklenti ve shieldları Türkiye’de bulunuyor, Dealextreme’de hepsi var Hemen her türlü eklenti ve shieldları Türkiye’de bulunuyor, Dealextreme’de hepsi var ama geç ulaşıyor,ama geç ulaşıyor,Tüm platformlarda destek var…Tüm platformlarda destek var…

Page 13: Android ve Elektronik

ArduinoArduino

Page 14: Android ve Elektronik

Arduino ShieldsArduino Shields

Page 15: Android ve Elektronik

ArduinoArduinoArduino IDEArduino IDE

Page 16: Android ve Elektronik

Android ve Arduino Mega ADKAndroid ve Arduino Mega ADK

Page 17: Android ve Elektronik

Android ve Arduino Mega ADKAndroid ve Arduino Mega ADK

ADK: Android Acessory Development Kit’in ADK: Android Acessory Development Kit’in kısaltmasıkısaltması

Android Open Accessory support is included in Android 3.1 (API Level 12) and higher, and supported through an Add-On Library in Android 2.3.4 (API Level 10) and higher.

Android 4.1 and higher has support for audio output over a USB connection or Bluetooth. Find out how to build audio docks and other plug-in audio output hardware for Android.

http://source.android.com/tech/accessories/index.html

Page 18: Android ve Elektronik

Android ArduinoAndroid Arduino

Page 19: Android ve Elektronik

Android ArduinoAndroid Arduino

<uses-library android:name="com.android.future.usb.accessory"></uses-library>

AndroidManifest.xmlAndroidManifest.xml

private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {String action = intent.getAction();if (ACTION_USB_PERMISSION.equals(action)) {synchronized (this) {UsbAccessory accessory = UsbManager.getAccessory(intent);if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)) {openAccessory(accessory);} else {Log.d(TAG, "permission denied for accessory " + accessory);}mPermissionRequestPending = false;}} else if (UsbManager.ACTION_USB_ACCESSORY_DETACHED.equals(action)) {UsbAccessory accessory = UsbManager.getAccessory(intent);if (accessory != null && accessory.equals(mAccessory)) {closeAccessory();}}}};

import com.android.future.usb.UsbAccessory;import com.android.future.usb.UsbManager;

Page 20: Android ve Elektronik

Android ArduinoAndroid Arduino

@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); mUsbManager = UsbManager.getInstance(this);mPermissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0);IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);filter.addAction(UsbManager.ACTION_USB_ACCESSORY_DETACHED);registerReceiver(mUsbReceiver, filter); if (getLastNonConfigurationInstance() != null) {mAccessory = (UsbAccessory) getLastNonConfigurationInstance();openAccessory(mAccessory);} setContentView(R.layout.activity_main);buttonLED = (ToggleButton) findViewById(R.id.toggleButtonLED);

}

codecode

Page 21: Android ve Elektronik

Android ArduinoAndroid Arduino

@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); mUsbManager = UsbManager.getInstance(this);mPermissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0);IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);filter.addAction(UsbManager.ACTION_USB_ACCESSORY_DETACHED);registerReceiver(mUsbReceiver, filter); if (getLastNonConfigurationInstance() != null) {mAccessory = (UsbAccessory) getLastNonConfigurationInstance();openAccessory(mAccessory);} setContentView(R.layout.activity_main);buttonLED = (ToggleButton) findViewById(R.id.toggleButtonLED);

}

codecode

Page 22: Android ve Elektronik

Android ArduinoAndroid Arduino

@Overridepublic void onResume() {super.onResume(); if (mInputStream != null && mOutputStream != null) {return;} UsbAccessory[] accessories = mUsbManager.getAccessoryList();UsbAccessory accessory = (accessories == null ? null : accessories[0]);if (accessory != null) {if (mUsbManager.hasPermission(accessory)) {openAccessory(accessory);} else {synchronized (mUsbReceiver) {if (!mPermissionRequestPending) {mUsbManager.requestPermission(accessory,mPermissionIntent);mPermissionRequestPending = true;}}}} else {Log.d(TAG, "mAccessory is null");}}

codecode

Page 23: Android ve Elektronik

Android ArduinoAndroid Arduino

private void openAccessory(UsbAccessory accessory) {mFileDescriptor = mUsbManager.openAccessory(accessory);if (mFileDescriptor != null) {mAccessory = accessory;FileDescriptor fd = mFileDescriptor.getFileDescriptor();mInputStream = new FileInputStream(fd);mOutputStream = new FileOutputStream(fd);Log.d(TAG, "accessory opened");} else {Log.d(TAG, "accessory open fail");}}

codecode

Page 24: Android ve Elektronik

Android ArduinoAndroid Arduino

public void blinkLED(View v){ byte[] buffer = new byte[1]; if(buttonLED.isChecked())buffer[0]=(byte)0; // button says on, light is offelsebuffer[0]=(byte)1; // button says off, light is on if (mOutputStream != null) {try {mOutputStream.write(buffer);} catch (IOException e) {Log.e(TAG, "write failed", e);}}}

Java codeJava code

private void closeAccessory() {try {if (mFileDescriptor != null) {mFileDescriptor.close();}} catch (IOException e) {} finally {mFileDescriptor = null;mAccessory = null;}}

Page 25: Android ve Elektronik

Android ArduinoAndroid Arduino

#include <Max3421e.h>#include <Usb.h>#include <AndroidAccessory.h>#define LED_PIN 13AndroidAccessory acc("Manufacturer", "Model", "Description", "1.0", "http://yoursite.com", "0000000012345678");

void setup(){ // set communiation speed Serial.begin(115200); pinMode(LED_PIN, OUTPUT); acc.powerOn();} void loop(){ byte msg[0]; if (acc.isConnected()) { int len = acc.read(msg, sizeof(msg), 1); // read data into msg variable if (len > 0) { if (msg[0] == 1) // compare received data digitalWrite(LED_PIN,HIGH); // turn on light else digitalWrite(LED_PIN,LOW); // turn off light } } else digitalWrite(LED_PIN , LOW); // turn off light}

Arduino CodeArduino Code

Page 26: Android ve Elektronik

Arduino Android UygulamalarıArduino Android Uygulamaları

Arduino CommanderArduino CommanderADK DemokitADK DemokitADK 2012ADK 2012……..

Page 27: Android ve Elektronik

Android Yüklenebilen Açık PlatformlarAndroid Yüklenebilen Açık Platformlar

Panda BoardPanda BoardRaspberry PiRaspberry Pi……

Page 28: Android ve Elektronik

TeşekkürlerTeşekkürler

[email protected]@[email protected]@gmail.comwww.gelecekonline.comwww.gelecekonline.comwww.muharremtac.comwww.muharremtac.com

facebook.com/muharremtacfacebook.com/muharremtactwitter.com/muharremtactwitter.com/muharremtac