1Sheeld+ - Akıllı telefon ile çok yönlü Arduino Shield

Kodla Büyü

Mesut AKGÜN

Seçkin Üye
Seçkin Üye
Mesajlar
260
3408-02.jpg
1sheeld-akilli-telefon-ile-cok-yonlu-arduino-shield-9868-arduino-shield-seeedstudio-22864-98-B.jpg
1Sheeld+ Arduino ile kullanım için kolayca ayarlanabilir. Düşük güçlü dahili bluetooth modülü ile Arduinonuza iOS veya Android telefonlara bağlanma özelliği verir. Appstore ve Google Play Store daki 1Sheeld uygulaması sayesinde cep telefonunuzu bir Arduino Shield ına dönüştürebilirsiniz. Bu uygulama sayesinde Android akıllı telefonunuzun LCD ekran, jiroskop, LED ler, ivme ölçer, magnetometre, GSM, Wi-Fi, GPS gibi özelliklerini Arduino sketch iniz ile yönetebilirsiniz.

Telefonunuza bağlandıktan sonra telefonunuzdan Arduino nun pinlerini kontrol edip, Arduino ya data gönderebilirsiniz veya tam tersini de yapabilirsiniz. 1Sheeld kütüphanesi Arduino nuza telefonunuzun tam kontrolünü verir. Böylece Arduino email gönderebilir, kamerayı yönetebilir, ses tanımayı kullanabilir, Facebook ve Twitter bildirimleri gönderebilir kısaca akıllı telefonunuzun yapabileceği herşeyi yapabilir.

Özellikler

5V ve 3.3V kartlar ile uyumludur.
Akıllı telefonunuzu 40 çeşit shield a dönüştürür.
Ses Tanıma, Twitter, GPS, gamepad, kamera ve daha fazlası.
Arduino ile input ve output olarak kullanılabilir.
Elektronik prototipleme süreci
İki fiziksel kısım ve yazılım platformundan oluşur.
iOS ve Android ile uyumludur.

Nasıl Çalışır?

Kendi kütüphanemiz olan 1Sheeld kütüphanesini kullanarak sketch inizi hazırlayın ve Arduino ya gönderin. 1Sheeld I fiziksel olarak Arduino ya bağlayın, akıllı telefonunuzla eşleştirin ve hazırsınız. Uygulamamızı açın ve kullanmak istediğiniz shield ları seçin ve Android telefonunuzun gücünü Arduino ya katın.

1Sheeld ile neler yapabilirsiniz?

Sınırsız! RC arabanızı kontrol edebilen, bitkileriniz su istediğinde tweet atabilen güçlü bir akıllı telefona sahipsiniz.

1Sheeld için LED, yapışkan buton, buzzer, slider, LCD, 7-Segment, keypad, müzik çalar, game pad, bildirim, twitter, facebook, foursquare, jiroskop, sms, flashlight ve mikrofon gibi çeşitli shield lar geliştirdik ve daha bir çokları geliyor.

Örnek 1Sheeld+ shield ları:

GLCD Shield – Akıllı telefonunuzun ekranını Arduino ya LCD ekran çıkışı olarak kullabilirsiniz.

Color Dedector Shield – Akıllı telefonun kamerasını kullanarak Arduino ya algılanan renge bağlı tepki verdirebilirsiniz.

Internet Shield – IoT nin gücünü 1Sheeld in basitliği ile ayağınıza kadar getirir.

Pattern Shield – Arduino nuz ile telefonunuzdaki çiz ile aç özelliğini kullanarak belirli şekiller için belirli şeyler yaptırabilirsiniz.

Voice Recognition Shield – Sesinizi kullanarak Arduino nuzu yönetebilirsiniz.

Text to Speech Shield – Arduino dan aldığınız text formatını telefonunuz ile konuşmaya dönüştürün.

Data Logger Shield – Telefonunuzun hafızasını kullanarak istediğiniz bir sensörün verilerini loglayın.

Terminal Shield – Telefonunuzu terminale dönüştürün, Arduino dan aldığınız data yı telefonunuzda gösterin.

Twitter Shield – Arduino sketch ini kullanarak tweet gönderebilirsiniz.

Facebook Shield – Belirlediğiniz şartlar doğrultusunda facebook duruumunuzu günceller.

Email Shield – Belli donanım olayları oluştuğunda email gönderebilirsiniz.

Skype Shield – Belirlediğiniz şartlar doğrultusunda skype video veya sesli arama yapabilirsiniz.

SMS Shield – Triger ayarlarınıza göre istediğiniz kişiye mesaj gönderme.

Camera Shield – Belli olaylar olduğunda telefonunuzun kamerayı kullanarak fotoğraf çekmenizi sağlar. Karanlıkta da flaş kullanarak fotoğraf çekmenizi sağlar.

Gyroscope Shield – Telefonunuzun hareketleri ile LED ler yakabilirsiniz veya Arduino kontrollü bir arabayı sürebilirsiniz.

Accelerometer Shield – Hareketli bir cismin ivmesini telefonunuzdaki ivme sensörü ve Arduino yu kullanarak öğrenebilirsiniz.

Daha fazla bilgi için http://1sheeld.com/shields

Dökümanlar

Download:
1Sheeld+ Fritzing File
1Sheeld+ Firmware
1Sheeld+ Documentation
1Sheeld+ Arduino IDE Library

Not: Bu başlık altına 1Sheeld + Arduino kalkanı ile yapacağım örnekler eklenecektir.
 
Son düzenleme:
Proje: 1 Telefonumuzla ses şiddetini ölçüp led yakmak.

1. Adım: Malzemeler

  • 1Sheeld veya 1Sheeld +
  • Arduino kartı
  • USB kablosu
  • Android Akıllı Telefon
  • LED
Not: herhangi bir sensör satın almanıza gerek yoktur çünkü zaten bunları akıllı telefonunuzda bulundurursunuz. Hatta söz konusu uygulamada ledin yanıp yanmadığını görebiliyorsunuz.

1.jpg

2. Adım: 1Sheeld Uygulamasını akıllı telefonunuza indirin

apps-500x84.png

3. Adım: 1Sheeld kütüphanesini indirin
Arduino IDE'yi 1.6.2'den öncesi kullanan kullanıcılar için, 1Sheeld kütüphanesini indirin .

Ardından, kütüphaneyi başarılı bir şekilde indirdikten sonra, Arudino'nun kütüphane dizinindeki “Path \ UserName \ Documents \ Arduino \ libraries” deki dosyaları açın.





4. Adım: Kodu arduinoya yükleyin.

Kod:
#define CUSTOM_SETTINGS
#define INCLUDE_MIC_SHIELD

/* 1Sheeld library kütüphanesini ekliyoruz.*/
#include <OneSheeld.h>

/* 13 nolu pine bağlı ledi tanmlıyoruz. */
int ledPin = 13;

void setup()
{
  /* İletişimi açıyoruz */
  OneSheeld.begin();
  /* Ledin bağlı olduğu pini çıkış olarak ayarlıyoruz. */
  pinMode(ledPin,OUTPUT);
}

void loop ()
{
  /* Sürekli olarak telefondan ses şiddetini ölçüyoruz. */
  if(Mic.getValue() > 80)
  {
    /* Ses şiddeti 80 db üzerinde ise ledi yakıyoruz*/
    digitalWrite(ledPin,HIGH);
  }
  else
  {
    /* Ses şiddeti 80 db altında ise ledi söndürüyoruz */
    digitalWrite(ledPin,LOW);
  }
}

 
Son düzenleme:
hocam IoT için NodeMCU (Esp8266) örneklerine bakmanızı öneririm. Ayrıca Youtube da Kevin Darrah kişisinin çalışmalarını takip etmenizi de öneririm.
Kevin Darrah Wiki
 
2 tane farklı uygulama yaptım ben OneShield ile yaklaşık 3-4 senedir kullanıyorum bazı projelerde işime çok yarıyor.

Projenin biri cep telefonunda ki ivme sensörlerini kullanarak gasp,hırsızlık,trafik kaza analizi yapıyor ve istenen cep numarasına gps konumunu gönderiyor aynı zamanda twitter ve facebook üzerinden de konumu paylaşıyor.

Diğer projede eğlence amaçlı sınıfta ki ses kirlilik oranını yani desibel i belli seviyeye çıktığı zaman Okul Müdür'ünün telefonun X Sınıfta çok ses var gürültü miktarı belirlenen oranın üstünde diye sms atıyor :)

Yanlız cep telefonundaki tüm sensörleri kullanabiliyor olmak büyük bir masraftan kurtarıyor diyebilirim.
 
Proje: 2 Telefonumuzu buzzer olarak kullanma
1. Adım Malzemeler:
Arduino Kartı
1Sheeld+
Led
Düğme
10K Direnç
Jumper Kablo

Untitled Sketch_bb.jpg

2. Adım Kodu Yüklüyoruz.
Kod:
#define CUSTOM_SETTINGS
#define INCLUDE_BUZZER_SHIELD

/* 1Sheeld kütüphanesini ekliyoruz*/
#include <OneSheeld.h>

/* düğmeyi 12. pine atıyoruz */
int buttonPin = 12;
/* Ledi ve buzzeri 13. pine atıyoruz. */
int ledPin = 13;

void setup()
{
  /* iletişimi başlatıyoruz */
  OneSheeld.begin();
  /* Düğmenin bağlı olduğu pini giriş pini olarak ayarlıyoruz */
  pinMode(buttonPin,INPUT);
  /* Ledin ve buzzerin bağlı oduğu pini çıkış pini olarak ayarlıyoruz. */
  pinMode(ledPin,OUTPUT);
}

void loop()
{
  /* sürekli düğmenin durumunu kontrol ediyoruz */
  if(digitalRead(buttonPin) == HIGH)
  {
    /* Eğer düğme basılı ise buzzerı aktif ediyoruz  */
    Buzzer.buzzOn();
    /* Ledi yakıyoruz */
    digitalWrite(ledPin,HIGH);
  }
  else
  {
    /* Eğer düğme basılı değilse buzzerı pasif yapıyoruz */
    Buzzer.buzzOff();
    /* Ledi söndürüyoruz */
    digitalWrite(ledPin,LOW);
  }
}
 
Son düzenleme:
bluetooth shield mi hocam bu.
Kendi işlemcisi de var ama telefonla iletişim bluetooth 4.0 ile gerçekleşiyor. Benim gördüğüm rahatlığı kendi kütüphanelerinin hazır olması, ios ve google playde uygulaması olması, telefon sensörlerini kullandığı için ek sensör alma ve kablo karmaşasının olmaması.
 
Proje 3: İvme ölçer değerine göre RGBLed yakma

Parça listesi:


1Sheeld+1
RGB LED (Ortak katot, rgb)
Arduino
R1 100Ω Direnç (Yeşil)
R2 100Ω Direnç (Mavi)
R3 150Ω Direnç (Kırmızı)
Akıllı Telefon
Accelerometer.jpg

Kod:

Kod:
#define CUSTOM_SETTINGS
#define INCLUDE_ACCELEROMETER_SENSOR_SHIELD

/* OneSheeld kütüphanesini projeye dahil ediyoruz. */
#include <OneSheeld.h>

/* RGBLed pinlerini tanımlıyoruz.  */
int RledPin = 11;
int GledPin = 13;
int BledPin = 12;

void setup()
{
  /* İletişimi başlatıyoruz. */
  OneSheeld.begin();
  /* Led pinlerini çıkış olarak tanımlıyoruz. */
  pinMode(RledPin,OUTPUT);
  pinMode(GledPin,OUTPUT);
  pinMode(BledPin,OUTPUT);
}

void loop()
{
  /* İvme ölçer sensörün X değerini sürekli kontrol ediyoruz. */
  if(AccelerometerSensor.getX() > 8)
  {
    digitalWrite(RledPin,HIGH);
  }
  else
  {
    digitalWrite(RledPin,LOW);
  }

  /*İvme ölçer sensörün Y değerini sürekli kontrol ediyoruz. */
  if(AccelerometerSensor.getY() > 8)
  {
    digitalWrite(GledPin,HIGH);
  }
  else
  {
    digitalWrite(GledPin,LOW);
  }

  /* İvme ölçer sensörün Z değerini sürekli kontrol ediyoruz. */
  if(AccelerometerSensor.getZ() > 8)
  {
    digitalWrite(BledPin,HIGH);
  }
  else
  {
    digitalWrite(BledPin,LOW);
  }
}

 

Ekli dosyalar

  • Accelerometer.zip
    671.9 KB · Görüntüleme: 12
Son düzenleme:
Şu an en önemli soru nerden almamızı tavsiye edersiniz. Zaten yapacağız belli :)
 
Proje: 4
Düğmeye basarak telefonumuzun kamerasından fotoğraf çekme (Twitter hesabımızda paylaşma).
Malzemeler:
Arduino Kartı
1Sheeld+
Led
Düğme
10K Direnç
Jumper Kablo


Kod:

Kod:
#define CUSTOM_SETTINGS
#define INCLUDE_CAMERA_SHIELD
/* twitter hesabınız varsa çekilen fotonun paylaşılması için gerekli kütüphane */
/* #define INCLUDE_TWITTER_SHIELD */

/* 1Sheeld kütüphanesi projeye dahil ediliyor. */
#include <OneSheeld.h>

/* Düğmenin bağlı olduğu pin tanımlanıyor. */
int buttonPin = 12;
/* Ledin bağlı olduğu pin tanımlanıyor. */
int ledPin = 13;

void setup()
{
  /* İletişim başlatılıyor. */
  OneSheeld.begin();
  /* Düğme pini giriş pini olarak tanımlanıyor. */
  pinMode(buttonPin,INPUT);
  /* Led pini çıkış pini olarak tanımlanıyor. */
  pinMode(ledPin,OUTPUT);
}

void loop()
{
  /* Düğmenin durumu kontrol ediliyor. */
  if(digitalRead(buttonPin) == HIGH)
  {
    /* Düğmeye basılmışsa ledi yakıyoruz. */
    digitalWrite(ledPin,HIGH);
    /* Kameramızın flashını açıyoruz. */
    Camera.setFlash(ON);
    /* Arka kameradan fotoğraf çekiliyor. */
    Camera.rearCapture();
    /*10 saniye bekleniyor */
    OneSheeld.delay(10000);
    /* Twitter hesabımızda fotoğrafımız paylaşılıyor */
    /* Twitter.tweetLastPicture("Buraya başlık gelecek"); */
  }
  else
  {
    /* Düğmeye basılmamışsa ledi söndürüyoruz. */
    digitalWrite(ledPin,LOW);
  }
  
}

 

Ekli dosyalar

  • Camera.zip
    490.1 KB · Görüntüleme: 7
Son düzenleme:
ürün hem ticari ve pahalı bir ürün, hem de kaynakları paylaşılmış. Ürünün üzerindeki malzemeler belki 100 tl yi geçmez..
 
ürün hem ticari ve pahalı bir ürün, hem de kaynakları paylaşılmış. Ürünün üzerindeki malzemeler belki 100 tl yi geçmez..
Haklısınız donanıma değer katan kütüphaneleri ve akıllı telefon uygulamaları. İnşallah ülkemizde de böyle ürünler yapılıp daha ucuza ulaşabilmemiz sağlanır.
 
Proje: 5
Akıllı telefonumuzun kamerasını renk algılayıcısı olarak kullanma

Color_bb.jpg

Kod:

Kod:
#define CUSTOM_SETTINGS
#define INCLUDE_COLOR_DETECTOR_SHIELD

/* OneSheeld kütüphanesi dahil ediliyor. */
#include <OneSheeld.h>

/* RGB Ledin pinleri tanımlanıyor. */ 
int redPin = 9;
int greenPin =10;
int bluePin = 11;

void setup() {
  /* İletişim başlatılıyor. */
  OneSheeld.begin();
  /* RGB LED pinleri çıkış olarak ayarlanıyor. */
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
  /* Renk algılama paletini varsayılan 16 milyon yerine yalnızca 8 farklı renk elde edecek şekilde ayarlayıyoruz. */
  ColorDetector.setPalette(_3_BIT_RGB_PALETTE);
}

void loop() {
  /* Algılanan yeni bir renk olup olmadığını kontrol ediyoruz. */
  if(ColorDetector.isNewColorReceived())
  {
    /* Son algıanan rengi okuyup ve yerel olarak kaydediyoruz */
    Color readColor = ColorDetector.getLastColor();

    /* Kırmızı, mavi ve yeşil değerleri alıyoruz. */
    byte redValue = readColor.getRed();
    byte greenValue = readColor.getGreen();
    byte blueValue = readColor.getBlue();
    
    /* Elde ettiğimiz değerleri RGB lede aktarıyorıyoz. */
    digitalWrite(redPin,redValue);
    digitalWrite(greenPin,greenValue);
    digitalWrite(bluePin,blueValue);   
  }
}

 

Ekli dosyalar

  • Color.zip
    483.8 KB · Görüntüleme: 5
Geri
Üst