Arduino ve Raspberry Pi uygulamalarım :) (c++,c , Python , Php)

byanigli

Hectopat
Katılım
3 Ocak 2014
Mesajlar
541
Yer
İzmir, Turkey, Turkey
Daha fazla  
Cinsiyet
Erkek
Meslek
student of software engineering
Arduino ile toprak nemliliği ve oda sıcaklığı ve nemliliği ölçümü
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

Raspberry pi ile php tabanlı bir site üzerinden kapı kontrol etmek.
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

İnternet Radyosu
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

Arduino ile yangın , yağmur kontrolleri ve oda sıcaklığı ölçümü
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

Arduino ile ortam ışığını keşfetme
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
Hocam harika çalışmalar. Ellerinize sağlık.

Bende Raspberry Pi'ye başlamayı düşünüyordum. Tavsiye edebileceğiniz bir kaynak/site var mı?

Teşekkürler.
 
Öncelikle python'u öğrenmelisin. Bende bilmiyorum cok zorlandım. Öğrendikten sonra GPIO kontrolü basitleşiyor ve Linux kullanmasınıda biliyorsan kaynağa ihtiyaç duymazsın. Ben teşekkür ederim.
 
Bir sorun oluşturmaz. Raspberry Pi ile gerçekten prof. uygulamalar çıkıyor. Ben otomatik vites araça bağladım, İnternet ve mobil app. wi-fi ile vites P yada N ise araçı çalıştırıp klimayı istediğin konuma getirebiliyorum.
Gerçekten çok iyi bir çalışma olmuş. Tebrikler.
 
Hepsi güzel, özellikle php site üzerinden kapı açma çok iyi. :)
Bende son 2 aydır bu işe merak sardım ancak Raspberry pi ve Arduino arasın da kaldım. Anladığım kadarı ile Raspberry pi Linux tabanlı daha pro bir sistem. Arduino' nun ise kendine has bir programlama dili var.
Bir UDOO diye bir şey var ona tabi o yeniymiş. :)

byanigli yukarıda yazdıklarımda yanılmıyorum değil mi? Yani Raspberry pi Linux tabanlı olduğundan doğal olarak Arduino dan avantajlı oluyor sanırsam. Üzerlerindeki donanımları da incelediğimde Raspberry pi' nin çok daha iyi olduğunu anlamış bulunuyorum.

Yazdıklarım arasın da yanlış bildiğim yada eksik gördüğüm var mıdır? Teşekkürler :)
 
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Arduino complieri kullanırsan, C/C++ programla dili ile kodlanmaktadır. Ama C# ve Java kullanarak da Ardiuno ile haberleşebilirsin. Raspberry Pi ise debian tabanlı Linux işletim sistemi kullanmaktadır. Mini bir bilgisayardır aslında. Bu da size avantaj sağlamaktadır. Bir diğer yandan, Pyhton ve Linux'e iyi hakim olmanız gerekiyor. Ancak web tabanlı uygulamalarda Php Javascript ,Mysql bilgisinede sahip olmalısın. Udoo ile tanışmadım daha. Kullanıcısı ve satıcısı 1 x Ardiuno mega + 4xRaspberry pi olarak tanıtıyorlar.


Ardiuno için basit bir robot yapıyorum. Örnek için kaynak kodlarım
Kod:
#include <Servo.h>

#define HareketliechoPin 2 // Echo Pin
#define HareketlitrigPin 3 // Trigger Pin
#define YukseklikechoPin 6
#define YuksekliktrigPin 7
#define KarsiechoPin 4
#define KarsitrigPin 5
#define ileriLed 13
#define sagsolLed 12
#define boslukLed 11

Servo myHareketliservo;
Servo myLefttires;
Servo myRighttires;

class Heraketli{
private:
    int HL1;
    int HL2;

public:
    void Hareketli_look_left_right()
    {
        int Hduration,duration;
        for (int pos = 0; pos < 180; pos += 1) // Servo 0'dan 1 pozisyonuna 180 derece dönecek.
        {
            myHareketliservo.write(pos); // Belirlenen pozisyona gitmesi isteniyor.
            delay(5); // Pozisyona 5 ms de ulaşıyor.
        }
      
        digitalWrite(HareketlitrigPin, HIGH);
        delayMicroseconds(1000);
        digitalWrite(HareketlitrigPin, LOW);
        Hduration = pulseIn(HareketliechoPin, HIGH);
        HL1 = (Hduration / 2) / 29.1;

            
        for (int pos1 = 180; pos1 >= 1; pos1 -= 1) // Servo 1'den 0 pozisyonuna 180 derece dönecek.
        {
            myHareketliservo.write(pos1); // Belirlenen pozisyona gitmesi isteniyor.
            delay(5); // Pozisyona 5 ms de ulaşıyor
        }
      
        digitalWrite(HareketlitrigPin, HIGH);
        delayMicroseconds(1000);
        digitalWrite(HareketlitrigPin, LOW);
        duration = pulseIn(HareketliechoPin, HIGH);
        HL2 = (duration / 2) / 29.1;
        

    }

    void Hareketli_hesapla()
    {
                digitalWrite(sagsolLed,OUTPUT);
        if (HL1>HL2)
        {
            Serial.println("Sola donuyoruz");
                        myLefttires.write(360);
                        myRighttires.write(0);
        }
        else if (HL1<HL2)
        {
            Serial.println("Saga donuyoruz");
                       myLefttires.write(0);
                       myRighttires.write(360);

        }
                else
                {
                     Serial.println("3 sn Geri gidiyoruz");
                     myLefttires.write(0);
                     myRighttires.write(0);
                }

    }
};

class Yukseklik{
private:
    int height,duration;
  
public:
    static int mesafe;
    void setHeight()
    {
        digitalWrite(YuksekliktrigPin, HIGH);
        delayMicroseconds(1000);
        digitalWrite(YuksekliktrigPin, LOW);
        duration = pulseIn(YukseklikechoPin, HIGH);
        height = (duration / 2) / 29.1;
    }

    int getHeight()
    {
        return height;
    }

};

int Yukseklik::mesafe = 11;

class Karsi{
private:
    int mesafe,duration;
public:
    static int kontkarsi;
    void setMesafe()
    {
        digitalWrite(KarsitrigPin, HIGH);
        delayMicroseconds(1000);
        digitalWrite(KarsitrigPin, LOW);
        duration = pulseIn(KarsiechoPin, HIGH);
        mesafe = (duration / 2) / 29.1;
    }
  
    int getMesafe()
    {
        return mesafe;
    }
};

int Karsi::kontkarsi = 16;

// Gerekli objelerini bu aralıkta yarat
Yukseklik asHc;
Heraketli donenHc;
Karsi karsiHc;
// Gerekli objelerini üsteeki aralıkta yarat
void setup()
{
Serial.begin (9600);
pinMode(HareketlitrigPin, OUTPUT);
pinMode(HareketliechoPin, INPUT);
pinMode(YuksekliktrigPin,OUTPUT);
pinMode(YukseklikechoPin,INPUT);
pinMode(KarsitrigPin,OUTPUT);
pinMode(KarsiechoPin,INPUT);
pinMode(ileriLed,OUTPUT);
pinMode(boslukLed,OUTPUT);
pinMode(sagsolLed,OUTPUT);
myHareketliservo.attach(30); // Servonun sinyal alacağı pin numarasını belirliyorsunuz.
myLefttires.attach(52);
myRighttires.attach(53);
}



void loop()
{
  digitalWrite(ileriLed,LOW);
  digitalWrite(boslukLed,LOW);
  digitalWrite(sagsolLed,LOW);
  asHc.setHeight();// robot yerden yükseliğini yükseklik classına set eder
  Serial.println(asHc.getHeight());
if(asHc.getHeight()>asHc.mesafe) // önünde cukur olup olmadığını takip eder
   {
      Serial.println("onum cukur 3.saniye geri gidiorum");
      digitalWrite(boslukLed,HIGH);
      myLefttires.write(0);
      myRighttires.write(360);
   }
else
{
  karsiHc.setMesafe();

  if(karsiHc.getMesafe()>karsiHc.kontkarsi)
  {
    Serial.println("ileri dogru gidiyorum");
    digitalWrite(ileriLed,HIGH);
       myLefttires.write(360);
       myRighttires.write(0);
  }

  else
  {
  ;
       myLefttires.write(0);
       myRighttires.write(360);
    donenHc.Hareketli_look_left_right();
    donenHc.Hareketli_hesapla(); 
  }

}
}
 
byanigli web tabanlı uygulamalar için python' nun web ayağı olan django kütüphanesi sanırım işimizi görecek. Ayrıca şunu belirteyim programlama bilgim var ancak elektronikten fazla anlamıyorum ( bu anlayamayacağım ve yapamayacağım anlamına gelmiyor tabi :) ) Örneğin elektronik bilgim var sayarak bir motoru web üzerinden nasıl aktif yapabilirim. Yani web uygulaması üzerinden o portlara nasıl hükmedebilirim.

Ardiuno' nun c/c++ benzeri kendi özel bir dili var bunu biliyorum. Burada yazdığın bir port için (led, motor) bunları canlandırmak için web üzerinden bu kodu nasıl etkileşimli hale getiriyoruz (php ve django) buna çok yabancıyım. :) Teşekkürler.
 

Yeni konular

Geri
Yukarı