Şimdi Ara

Arduino Başlangıç Projeleri

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
35
Cevap
14
Favori
19.579
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Ardunio, kodların yazıldığı sayfaya sketch adını veriyor yani karalama.Setup() ve Loop() bölümeri bu karalamalarda mutlaka olmak zorunda.

    void setup () 
    { ilk değerler ve ilk başta bir kere çalışacak kodlar
    }
    void loop()
    {
    // devamlı tekrarlanarak sırasıyla çalışacak kodları burada yazıyoruz }


    Bu yazımda Arduino'nun çıkışlarına led bağlayarak, bir kaç örnekle çıkışlara hükmedeceğiz.Yazımda yapacağımız uygulamalardaki malzemeler ise şunlar:

    - 4 adet Led (Farklı renklerde olursa güzel olur.)
    - Jumper Kablolar
    - Direnç (İsteğe bağlı ben şahsen kullanmadım.)


    Öncelikle her mikroişlemciye girişte olduğu gibi klasik bir giriş ile yani led flaşör ile giriş yapalım.

    Launchpad 10.pinini çıkış olarak aldım ve oraya bir led bağladım. Dileyen ledin önüne direnç de koyabilir.

    İsteğimiz şu olacak, led 1 saniye yanacak ve 1 saniye sönecek. Kodlar ve şeması;

    void setup() {                 
    // Pinler Çıkış olarak belirleniyor
    pinMode(10, OUTPUT); // MAVI LED
    }
    void loop() {
    digitalWrite(10, HIGH); // LED yanik
    delay(500); // 500mS bekle
    digitalWrite(10, LOW); // LED sonuk
    delay(500); // 500ms bekle
    }


     Arduino Başlangıç Projeleri

    Biraz daha görsel tabiri caizse cix birşey yapalım :) . 4 adet ledi yanyana sırayla yakalım ve 4'ü aynı anda yanmadan hiçbiri sönmesin. Kodlar :

    int led1=7; 
    int led2=8;
    int led3=9;
    int led4=10;

    void setup()
    {
    pinMode(led1, OUTPUT); //7.pin led1
    pinMode(led2,OUTPUT); //8.pin led2
    pinMode(led3,OUTPUT); //9.pin led3
    pinMode(led4,OUTPUT); //10.pin led4
    }
    int i;
    void loop() {

    for(i=0;i<=1;i++)
    {
    digitalWrite(led1,HIGH); //1.ledi yak
    delay(250); // 0.25 saniye bekle
    digitalWrite(led2,HIGH); //2.ledi de yak
    delay(250); // 0.25 saniye bekle
    digitalWrite(led3,HIGH); // 3.ledi de yak
    delay(250); // 0.25 saniye bekle
    digitalWrite(led4,HIGH); // 4.ledi de yak

    }
    for(i=0;i<=1;i++)
    {
    digitalWrite(led1,LOW); //1.ledi söndür
    delay(250); //0.25 saniye bekle
    digitalWrite(led2,LOW); //2.ledi de söndür
    delay(250); //0.25 saniye bekle
    digitalWrite(led3,LOW); //3.ledi de söndür
    delay(250); //0.25 saniye bekle
    digitalWrite(led4,LOW); //4.ledi de söndür


    }}


     Arduino Başlangıç Projeleri

    Video :



    < Bu mesaj bu kişi tarafından değiştirildi Gömülü Mühendis -- 9 Mart 2014; 17:34:23 >







  • Daha önce dijital çıkışlara hakim olmuştuk. "1" ve "0" mantığı ile ledimizi yakmış ve söndürmüştük.Fakat hayatta ki ölçülebilen değerler sadece "1" ve "0" lardan oluşmuyor. Bu yazımda analog çıkışlarla ilgili çalışma yapacağız. Arduino UNO ve türevleri bu özelliği barındırmakta.

    Bu özellik elbette ki tüm çıkış pinlerinde yok. Üzerinde ~ işareti bulunan pinleri kullanırsak analog özelliğini de kullanabiliriz.

    Dijital çıkışlarda " digitalWrite(10, HIGH ), digitalWrite(10, LOW) " komutunu kullanıyorduk. Çıkışımız ya "1" ya da "0" oluyordu. Analog özelliğini kullanabilmemiz için ise aşağıdaki komuta ihtiyacımız olacak.

    quote:

    analogWrite( )


    Öncelikle devremizi aşağıdaki gibi kuruyoruz.Tabi siz isterseniz üzerinde "~" işareti bulunan herhangi bir pini de kullabilirsiniz.
     Arduino Başlangıç Projeleri

    Kodlar ve açıklaması :


    int led=9; 

    void setup()
    {
    pinMode(led, OUTPUT);

    }
    void loop()
    {
    int parlaklik;
    {
    for (parlaklik=0;parlaklik<=255;parlaklik+=5)
    {analogWrite(led,parlaklik);
    delay(100);
    }
    for(parlaklik=255;parlaklik>=0;parlaklik-=5)
    {
    analogWrite(led,parlaklik);
    delay(100);
    }
    }
    }



    9. pinimizi çıkış olarak ayarladık
    Parlaklık ismiyle integer bir değer okuttuk.Bu değerimiz analog çıkış almamızı sağlayacak.
    8 bitlik dijital değeri analog değere çevirmiş olduk 2^8=256 formülünden analog çıkışımız 0-255 arasında değişecek.
    Biz bu değeri 5'er 5'er 255'e kadar arttırdık ve sonra da 255'ten 5'er 5'er azalttık.
    Böylece analog olarak ledimizin parlaklığını arttırmış ve azaltmış olduk.




  • Butonlar mikroişlemcilerle yapılan her proje önemli elemanlardır. Yazılan programları çalıştırmada ya da çalışan programlara anında müdahele için butonlar kullanılmaktadır. Açıkçası yazılan program sonrası uygulamaya geçildiğinde ve butona basıldığında bir led in yanması bile ayrı bir zevk veriyor insana :).
     Arduino Başlangıç Projeleri

    Butonlar önemli çünkü mikroişlemciler ile yapacağımız herhangi bir robotik uygulamada, robota bu butonlar sayesinde yön verme gibi bir seçeneğimiz bulunmakta. Oyuncak arabalar için git/gel komutları gibi.
    Arduino'dan önce kullanmış olduğum MSP430 Launchpad üzerinde kendi butonu bulunmaktaydı ve geriye sadece onu programa okutmak kalıyordu. Arduino UNO'da sadece reset butonu olduğu için bu butonu kendimiz harici olarak eklicez.

    Butonu şemada görüldüğü gibi +Vin ile toprak arasına bir direnç ile birlikte bağlıcaz.


    Arduino, PC ile seri haberleşme yapabilme özelliğine sahip bir mikroişlemci. Arduino programının üst menüsünde bulunan Tools kısmından Serial Monitor yazan yere tıklarsak seri haberleşmeyi gösterecek olan pencereyi görebiliriz. Elbette ki bu seri haberleşmeyi kullanmamız için gereken bir komutumuz olacak.Bir kez kullanacağımız için bu komutu void setup() içerisinde kullanıcaz.

    quote:

    Serial.begin(9600);


    Şemamızdaki devreyi kurduktan sonra aşağıdaki komutları yükleyebiliriz artık mikroişlemcimize.

    int buton = 2; // 2.pini isimlendirdik 

    void setup() {

    Serial.begin(9600); //9600 baud hızında seri haberleşme için

    pinMode(buton, INPUT_PULLUP); // 2.pinin giriş olduğunu belirttik
    }

    void loop() {

    int butondurumu = digitalRead(buton); //buton durum adında integer bir değeri programa okuttuk ve bunu da butonun durumu olarak belirledik (1 ya da 0)

    Serial.println(butondurumu); // Seri Haberleşme ile butonun durumu ekrana yansıtılıyor.
    delay(20); // değer okunurken 2 değer arasında ki süre ms.
    }



    INPUT_PULLUP komutunu kullandım çünkü sadece INPUT komutunu kullandığımda buton değerleri saçmaladı biraz. INPUT_PULLUP komutunu kullandığımda sonuçlarım daha sağlıklı oldu.

    Mikroişlemcilerin tipine göre butonların okunması farklılık gösterebiliyor. Arduino'da butona bastığımızda "0", basılmadığında "1" sonucunu alıyoruz.

     Arduino Başlangıç Projeleri

    Seri haberleşme özelliği sayesinde butonun durumunu ekranda görebiliyoruz. 0 ise basılı , 1 ise basılı değil.

    Küçük bir uygulama yapalım şimdi. Bir portu input, başka bir portu output olarak kullanalım. Çıkışa led bağlayalım,butona bastığımızda led yansın diğer koşulda da sönük halde kalsın. Devremizi aşağıdaki gibi bağlayalım.

     Arduino Başlangıç Projeleri

    2.pine buton, 4.pine de led bağladık.Komutlar :

    int buton = 2; //buton'a 2 sayısı atandı 

    void setup() {

    Serial.begin(9600); //Seri Haberleşme Kodu
    pinMode(buton, INPUT_PULLUP); //2.pin giriş oldu
    pinMode(4, OUTPUT); //4.pin çıkış oldu
    }
    void loop() {


    int butondurumu = digitalRead(buton); // butondan okunan sonuç butondurumuna atandı


    delay(20);
    if (butondurumu == 0)
    { digitalWrite (4, HIGH);
    Serial.println("LED YANDI");} //buton basılıysa led yanık halde // ve ekrana yansıtılıyor
    else
    {digitalWrite (4, LOW);
    Serial.println("LED SONDU");} //buton basılı değilse led sönük halde ve ekrana yansıtılıyor
    }


     Arduino Başlangıç Projeleri





  • Hayatta herşeyin "1" ve "0" lardan oluşmadığından bahsetmiştik.Hayat analog değerlerle kaynıyor :D. Bu yazımda bunu daha iyi anlıcaz. Maksimum 5V'a kadar ölçüm yapabilen bir voltmetre yapıcaz.

     Arduino Başlangıç Projeleri

    Arduino analog girişleri 10bitliktir. 2^10= 1024 matematiksel hesabından, okunan her analog değer 1024 örneğe ayrılır.Bu ayrılan örneklere göre de okunma işlemi yapılır yani her değer 0-1023 değerleri ve bu değerler arasında ki en yakın tamsayı değerine atanır. Aslında daha önce bahsetmem gerekiyordu (Analog çıkışlarda) bu ADC olayından , geç kaldığım için özür dilerim.

    Bizim analog gerilim değerimiz maksimum 5V olacak. Bu 5V'luk değer 0-1023 değerleri arasında atanacak. Bu, seri haberleşme portunu kullanıp değer okurken küçük bir matematiksel formüle ihtiyacımız olacağını gösteriyor bize.

    Öncelikle potansiyometrenin bir ucu 5V'ta, bir ucu toprakta, orta ucu da A1 pininde olmak üzere şekildeki gibi devremizi bağlıyoruz.Analog girişi üzerinde Analog yazan pinlerden yapıyoruz.



    void setup () 
    { Serial.begin(9600);} //9600 baud hızında seri haberleşme komutu

    void loop () {
    int analogdeger = analogRead(A1); //A1'den okunan analog değerleri atadık

    float gerilim = analogdeger * (5.0 / 1023.0); // Bu kısmı aşağıda açıklıcam

    Serial.println(gerilim); //Ekranda gerilim değerini gösteriyoruz.
    delay(50); //2 ölçüm arasında geçen zaman dilimi (ms)
    }


    A1 pininden okunan değerler 0 ile 1023 arasında değişen değerler olacak. Temel Ölçme dersinde öğrendiğimiz analog ölçüm formülünü bu kısımda kullandık, kullandık ki seri haberleşme sayesinde ekrana yazdıracağımız değer volt biriminde olsun.

    Gerilim = Okunan Skala Değeri x ( Maksimum Okunabilen Değer / Maksimum Skala )
     Arduino Başlangıç Projeleri

    Analog olarak değer okumak bizim için çok mühim olacak çünkü aklıma gelen örnek Helikopterler,Multikopterler vb. araçları kullanırken yapacağımız kumanda sistemlerinde kullanabiliriz bu analog değer okumayı.




  • Butonların öneminden daha önceki yazımda bahsetmiştim. Burada da yine bir öncekine benzer bir uygulama yapacağız. Bu uygulamanın yapılış amacını aslında 7 segment display uygulamalarına giriş için yaptığımızı düşünebiliriz.
     Arduino Başlangıç Projeleri

    Kısaca uygulamadan söz etmek gerekirse amacımız burda 1 sayısal giriş ile 2 sayısal çıkışı yönetmek olacak. Butona her bastığımızda çıkışın yeri değişecek. Yani çıkış olarak kullandığımız yeşil ve turuncu ledleri sırayla butona basarak yanmasını sağlayacağız.

    Bu uygulamaya geçmeden önce size aritmetik bir operatör olan " mod " almayı anlatacağım.

    Arduino'da ve bir çok C tabanlı dilde mod " % " ifadesi ile alınmakta. Yani biz herhangi bir integer değerin herhangi bir sayı modunda almak istersek şu şekilde kullanmamız gerekiyor.
    Integer değeri= sayi , mod=5 olsun;

    quote:

    " sayi%5 "


    Uygulamamızda bu kavramın daha iyi anlaşılacağını düşünüyorum.

    int led1=8;  //yeşil led 
    int led2=7; //turuncu led
    int buton=4;
    int ledsirasi=0; //modunu alacağımız sayi

    void setup () {
    pinMode(led1,OUTPUT);
    pinMode(led2,OUTPUT);
    pinMode(buton,INPUT_PULLUP);}

    void loop () {
    int butondurumu=digitalRead(buton);
    if (butondurumu==0)
    {ledsirasi=ledsirasi+1;}

    if (ledsirasi%2==0)
    {digitalWrite(led1,HIGH);
    digitalWrite(led2,LOW);}
    else
    {digitalWrite(led2,HIGH);
    digitalWrite(led1,LOW);}

    delay(100);
    }


    Programda çıkışları seçmeyi (aslında 1 olanı seçmeyi) mod2ye bağlı olarak ledsirasi integer değerine göre seçtim. ledsirasi 0'dan başlamak üzere her butona basıldığında 1 artacak ve mod2ye göre de ya "1" ya da "0" olacak. Buna göre de ya yeşil led ya da kırmızı led in yanması sağlanmış olacak.

    Bir sonraki uygulamamızda 7 segmentli gösterge ile 0-9 arası sayıcı yapacağız. Daha önce CMOS 4026 entegresi ile hazır olarak bunu yapmıştım bu sefer arduinoyu kendimiz programlayarak bunu yapacağız.




  • Bir önceki yazımda ledleri buton yardımıyla sırasıyla yakmıştık. Bu yazımda ise 7 segment gösterge (display) kullanarak 0-9 sayıcı yapacağız. Ama önce 7 segment display hakkında biraz bilgi edinmeliyiz.

    Displaylerin bir çok çeşiti bulunmakta (ortak anot,ortak katot, 7seg,14 seg, 16 seg vs.). Biz projemizde 7 segmentli ortak katot display kullanacağız.

    Display 8 adet ledden oluşmakta. Bunlardan 7 tanesini istediğimiz rakamları göstermek için kullanacağız. Bu yüzden de hangi ledi hangi harfle adlandırdığımızı programlamanın ve sayıcının sağlığı açısından iyi öğrenmemiz gerekiyor. Sağdaki resim hangi ledin hangi harf ile standardize edildiğini gösteriyor. Bu isimler standarttır tabi siz kendi istediğiniz gibi adlandırabilirsiniz fakat şimdiki proje için standarda uyacağız.
     Arduino Başlangıç Projeleri
     Arduino Başlangıç Projeleri
    Elimizde bulunan katot displayin hangi pininin hangi ledi yaktığı yandaki resim göstermekte. A ledini yakmak için örneğin 7 numaralı display pinine gerilim vermeliyiz. Tabii ki 5 voltu aşmamak ve 8.,3. pinlerin toprağa bağlı olması şartı ile.

    Herhangi bir lede gerilim uygulamadaki direnç bağlama kuralımızı burda da işleyebiliriz o yüzden pinlere direkt 9v veya benzeri gerilimleri uygulamayın :) .

    Projemize gelince, yanmasını istediğimiz ledleri teker teker Arduino'muzdaki belirlediğimiz pinlere takıyoruz. Kusura bakmayın fritzingde devre biraz karışık çıktı fakat eminim ki kodlara bakarak zaten devreyi kendiniz de kurabilirsiniz rahatlıkla.

    Devrede bir önceki yazıda yaptığımız uygulamaya benzer olacak sadece daha gösterişli ve daha anlamlı daha işe yarar bir proje olacak. Geliştirilerek skorboard yapılabilir bu proje ile.

     Arduino Başlangıç Projeleri

    Butona her bastığımızda sırasıyla istediğimiz sayılar yanmaya başlayacak. Örneğin, 1 sayısı için B ve C ledlerine bağlı pinler 1, diğerleri 0 olacak. Peki bunu nasıl yapacağız.

    Kodlarımızda "sayi" isimli bir integer değer gireceğiz ve 0'da itibaren her döngüde 1 artacak. Bu integer değerin 10 ile bölümünden kalan sayıyı displayde göstereceğiz. Yani "%10" ifadesini kullanacağız. Kodlarımız;

    int buton=12; 

    int a=2; // her pine displaydeki bir led bağlı
    int b=6;
    int c=8;
    int d=9;
    int e=4;
    int f=3;
    int g=7;
    int x=5; //Displaydeki nokta led

    int sayi=0; // Modu alınacak sayi

    void setup () {
    pinMode(a,OUTPUT);
    pinMode(b,OUTPUT);
    pinMode(c,OUTPUT);
    pinMode(d,OUTPUT);
    pinMode(e,OUTPUT);
    pinMode(f,OUTPUT);
    pinMode(g,OUTPUT);
    pinMode(x,OUTPUT);
    pinMode(buton,INPUT_PULLUP);
    Serial.begin (9600);} // Sayi değerini monitörde görmek için
    void loop () {
    int butondurumu=digitalRead(buton); // buton durumu okuyoruz
    if (butondurumu==0) //butona her basıldığında;
    {sayi=sayi+1;} // sayi değeri 1 artacak

    if (sayi%10==0) //sayinin moduna göre display ledleri
    {digitalWrite(a,HIGH); //yanacak
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,LOW);
    }
    else if (sayi%10==1)
    {digitalWrite(a,LOW);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,LOW);
    digitalWrite(e,LOW);
    digitalWrite(f,LOW);
    digitalWrite(g,LOW);
    }
    else if (sayi%10==2)
    {digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,LOW);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,LOW);
    digitalWrite(g,HIGH);
    }
    else if (sayi%10==3)
    {digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,LOW);
    digitalWrite(f,LOW);
    digitalWrite(g,HIGH);
    }
    else if (sayi%10==4)
    {digitalWrite(a,LOW);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,LOW);
    digitalWrite(e,LOW);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    }
    else if (sayi%10==5)
    {digitalWrite(a,HIGH);
    digitalWrite(b,LOW);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,LOW);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    }
    else if (sayi%10==6)
    {digitalWrite(a,HIGH);
    digitalWrite(b,LOW);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    }
    else if (sayi%10==7)
    {digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,LOW);
    digitalWrite(e,LOW);
    digitalWrite(f,LOW);
    digitalWrite(g,LOW);
    }
    else if (sayi%10==8)
    {digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,HIGH);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    }
    else if (sayi%10==9)
    {digitalWrite(a,HIGH);
    digitalWrite(b,HIGH);
    digitalWrite(c,HIGH);
    digitalWrite(d,HIGH);
    digitalWrite(e,LOW);
    digitalWrite(f,HIGH);
    digitalWrite(g,HIGH);
    }

    delay(100);
    Serial.println(sayi); //Bilgisayardaki değere bakarak
    delay(10); //displayin doğru olup olmadığını
    //anlayabiliriz.
    }

    Devremizin Resmi;
     Arduino Başlangıç Projeleri

    Devrenin Çalışma Videosu :




  • gayet açıklayıcı türkçe anlatımlar olmuş :)
  • Yapay Zeka’dan İlgili Konular
    Arduino projesi hk. birkaç soru
    9 yıl önce açıldı
    Arduino çalışmalarım,,,
    8 yıl önce açıldı
    Daha Fazla Göster
  • Güzel çalışma, örnekler ve zorluk dercesi giderek artacaktır umarım :-)
  • Tatilde arduinoya başlamayı planlıyordum artık burdan takip ederim örnekleri
  • tebrik ederim son derece açıklayıcı. arduino ya başlamayı düşünenler için güzel bir Türkçe kaynak olacaktır
  • Teşekkür ederim arkadaşlar...

    Öğrendikçe yazmaya ve daha ileri seviyede uygulamalara da başlayacağım tekrar teşekkür ederim :).
  • Güzel bir rehber daha ellerine sağlık

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Hocam blogunuz çok güzelmiş teşekkürler güzel paylaşımlar için
  • Hocam merhaba
    polis çakar devresi yapmaya çalıştım ancak bu kodlara göre 2 led birden yanıyor ayrı ayrı yakamıyorum kodlardamı bi sorun var acaba(8i pinmodede9 olarak yazmışım mesajı editlerken düzelttim)son durum iki led birden pin10un ayarlarına göre yanıyor
    kodlar şu şekilde:

    void setup() {
    // Pinler Çıkış olarak belirleniyor
    pinMode(10, OUTPUT); // MAVI LED
    pinMode(8,OUTPUT);
    }
    void loop() {
    digitalWrite(10, HIGH); // LED yanik
    delay(50);
    digitalWrite(10,LOW);
    delay(50);
    digitalWrite(10,HIGH);
    delay(50);
    digitalWrite(10,LOW);
    delay(1000);
    digitalWrite(8,HIGH);
    delay(50);
    digitalWrite(8, LOW);
    delay(50);
    digitalWrite(8,HIGH);
    delay(50);
    digitalWrite(8,LOW);
    delay(1000);
    }




     Arduino Başlangıç Projeleri



    < Bu mesaj bu kişi tarafından değiştirildi GorkemSelcuk -- 26 Aralık 2014; 21:31:10 >




  • Hemen yazdıktan sonra aklıma geldi.Sorun çözüldü.Aynısını yaşayanlar için çözüm:
    pin8 yerine pin5e çevirdim.digitalin diger parçasında olması için ya değilse sanırsam seri baglama gibi oluyor.
    ledi de breadbordun sağ tarafına çektim.gndyi de kabloyla oraya çektim ve sonuç başarılı oldu.isteyenler kullanabilir. :)
  • Arduionayla ilgilenen arkadaşlar bir buluşma yapsak iyi olur ne dersiniz?

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Merhaba ,

    çalıştığım şirkette otomasyon panelleri üzerinde endalara çeşitli 4.20 (analog input ) değerleri gösteriyoruz. basınç sıcaklık transmitterlerinden.

    benim yapmak istediğim bu endalardan kurtulmak. ardunio'nun hangi ürünü ile bu ar-ge mi tamamlarım. ?

    projemde birde PLC var.PLC üzerinden bu AI değerleri kendi yazılımımıza geliyor.

    yani 4.20 değerleri ----- bir ayağı ardunio üzerinden tablete diğer ayağı ardunio dan çıkıp plc ye girmem gerekiyor.

    bu konuda yol gösterebilir misiniz ?


    ardunio üzerinde analog output var mı ?
  • hkaram kullanıcısına yanıt
    Arduinoda bu pinler (~ işaretli olanlar) analog output görevi görmektedir. Yukarıdaki bir kaç örnek uygulama yapılmış.
  • @ogzcndyr hocam çok teşekkür ederim. Pulse-width modulation (PWM) olarak geçen kısım mı yani ?

    bilgi işlem uzmanıyım aslında. Bu akıllı kartlarda çok tecrübeli değilim.Doğru ürüne karar verip projeyi başlatmam gerekiyor.:(
  • hkaram kullanıcısına yanıt
    Aynen pwm çıkış olarakta geçiyor. BU LİNKTEN pwm hakkında fikir edinebilirsiniz. Ayrıca BURDAKİ facebook grubuna üye olursanız projenizde yardımcı olabilecek insanlar bulabilirsiniz.
  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.