android ve elektronik
DESCRIPTION
TRANSCRIPT
ANDROID VE ELEKTRONİKANDROID VE ELEKTRONİK
Muharrem TaçMuharrem TaçM2 BilişimM2 Bilişim
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
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/
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
Elektronik devre elemanlarıElektronik devre elemanları
Direnç Kondansatör Transistör Diyot Güç kaynağı Transformatör
…
Elektronik devre şemalarıElektronik devre şemaları
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
Dijital elektronikDijital elektronik
Entegre devrelerEntegre devreler
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
ProteusProteus
http://www.labcenter.com/
ArduinoArduino
Arduino UNOArduino UNO
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…
ArduinoArduino
Arduino ShieldsArduino Shields
ArduinoArduinoArduino IDEArduino IDE
Android ve Arduino Mega ADKAndroid ve Arduino Mega ADK
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
Android ArduinoAndroid Arduino
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;
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
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
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
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
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;}}
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
Arduino Android UygulamalarıArduino Android Uygulamaları
Arduino CommanderArduino CommanderADK DemokitADK DemokitADK 2012ADK 2012……..
Android Yüklenebilen Açık PlatformlarAndroid Yüklenebilen Açık Platformlar
Panda BoardPanda BoardRaspberry PiRaspberry Pi……
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