Şimdi Ara

Arduino çalışmalarım,,, (3. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
118
Cevap
3
Favori
5.897
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
4 oy
Öne Çıkar
Sayfa: önceki 12345
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Hemen şimdi yine denemeler yaptım,tık yok.
     
    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>

    LiquidCrystal_I2C lcd(0x20,16,2); // set the LCD address to 0x20 for a 16 chars and 2 line display

    void setup()
    {
    lcd.init(); // initialize the lcd

    // Print a message to the LCD.
    lcd.backlight();
    lcd.print("Hello, world!");
    }

    void loop()
    {
    }

    0,20'yi 26 yapıp a0'ı GND'ye şase veriyorum,yok,0,27 yazıyorum yok.Usandım,demek ki bu LCD'yi de pert etmişiyiz.Nasıl olduysa?
  • Bu kodlama'da PCF8574'ün test kodları...Bu arada arduino'cu olup çıktım haa.Foruma kod yüklemeye de başladık anasını satayım..
     
    #include <Wire.h>
    #include <LiquidCrystal_PCF8574.h>

    LiquidCrystal_PCF8574 lcd(0x27); // set the LCD address to 0x27 for a 16 chars and 2 line display

    int show;

    void setup()
    {
    int error;

    Serial.begin(115200);
    Serial.println("LCD...");

    while (! Serial);

    Serial.println("Dose: check for LCD");

    // Seehttp://playground.arduino.cc/Main/I2cScanner
    Wire.begin();
    Wire.beginTransmission(0x27);
    error = Wire.endTransmission();
    Serial.print("Error: ");
    Serial.print(error);

    if (error == 0) {
    Serial.println(": LCD found.");

    } else {
    Serial.println(": LCD not found.");
    } // if

    lcd.begin(16, 2); // initialize the lcd
    show = 0;
    } // setup()

    void loop()
    {
    if (show == 0) {
    lcd.setBacklight(255);
    lcd.home(); lcd.clear();
    lcd.print("Hello LCD");
    delay(1000);

    lcd.setBacklight(0);
    delay(400);
    lcd.setBacklight(255);

    } else if (show == 1) {
    lcd.clear();
    lcd.print("Cursor On");
    lcd.cursor();

    } else if (show == 2) {
    lcd.clear();
    lcd.print("Cursor Blink");
    lcd.blink();

    } else if (show == 3) {
    lcd.clear();
    lcd.print("Cursor OFF");
    lcd.noBlink();
    lcd.noCursor();

    } else if (show == 4) {
    lcd.clear();
    lcd.print("Display Off");
    lcd.noDisplay();

    } else if (show == 5) {
    lcd.clear();
    lcd.print("Display On");
    lcd.display();

    } else if (show == 7) {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("*** first line.");
    lcd.setCursor(0, 1);
    lcd.print("*** second line.");

    } else if (show == 8) {
    lcd.scrollDisplayLeft();
    } else if (show == 9) {
    lcd.scrollDisplayLeft();
    } else if (show == 10) {
    lcd.scrollDisplayLeft();
    } else if (show == 11) {
    lcd.scrollDisplayRight();
    } // if

    delay(2000);
    show = (show + 1) % 12;
    } // loop()




  • Kontrolda okey,ISIS'da okey...14 sıra ledli karaşimşek devresi kodları..
    Daha fazla sayılı çıkış isteyenler için, analok girişleri de çıkış atayıp 20 adet sıralı yapılabilir...Bunun 8 sıralı led olan kodları bulmuştum,kendim 14'e çıkardım.

    const int LEDdizisi[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13};

    void setup () {

    for(int i=0; i<14 ;i++)
    {
    pinMode(LEDdizisi[i], OUTPUT);
    }

    }

    void loop() {
    for(int i=0; i<14; i++){
    digitalWrite(LEDdizisi[i],HIGH);
    delay(50);
    digitalWrite(LEDdizisi[i],LOW);
    }

    for(int j=13;j>-1; j--)
    {
    digitalWrite(LEDdizisi[j],HIGH);
    delay(50);
    digitalWrite(LEDdizisi[j], LOW);

    }
    }



    < Bu mesaj bu kişi tarafından değiştirildi malisert32 -- 12 Ağustos 2017; 0:47:54 >
  • Lcd displayler en ufak sorunda yanan cihazlar malesef zamanla yakmamayı öğreniyor insan
  • quote:

    Orijinalden alıntı: cames123

    Lcd displayler en ufak sorunda yanan cihazlar malesef zamanla yakmamayı öğreniyor insan

    Evet katılıyorum.Ama bozduğuma değecek inşallah.Yeni gelecek LCD'leri daha dikkatli monte edeceğim.Hele 20x4'leri en son öğrenince kullanacağım inşallah..
  • Rabbime şükürler olsun,,problemi çözdüm,görüntüyü aldık,,gerisi gelir biiznillah..
    Yeşil LCD bozukmuş,,ama mavi yeni aldığım sağlam ama onun da driver'i olan PC8574 kartı bozukmuş.Bu gün aklıma geldi kartı söktüm,önce PİC renk okuyucu ile denedim sonuç süperdi.Hemen PC başına geçip bağlantıları yapıp Hello world'u yükledim sonuç kötüydü,,1-2 soru işareti çzgi mizgi,,derken,,kodlarını kendi modifiyem olan saat yazılımını yükledim.Pot ile son ayarı verdim.Sonuç resimde görüldüğü gibi mükemmeld,,olumluydu yani..Ne kadar çok sevindim anlatamam.Çünkü arduino hk. ilerlememde bu bana bir manevi engel olmuştu.Hamd olsun bu engel kalkınca ufkum genişledi,yeni projelere umudum geldi..
    Bu çalışan saat devresi ve kodlarını paylaşmakla sevincimi paylaşmak isterim.Bağlantı aynen numaralarda yazıldığı gibi.
     
    /*
    Digital Winding Clock - Arduino Clock for beginners
    No RTC,
    Just set it to exact time using the push buttons each time you switch on the clock
    Made by Techno (s??o? ??ןuu?)
    Feel free to modify
    */
    #include <LiquidCrystal.h>
    LiquidCrystal
    lcd(12,11,5,4,3,2);
    int h=12;
    int m;
    int s;
    int flag;
    int TIME;
    const int hs=8;
    const int ms=9;
    int state1;
    int state2;
    void setup()
    {
    lcd.begin(16,2);
    }
    void loop()
    {
    lcd.setCursor(0,0);
    s=s+1;
    lcd.print("SAAT:");
    lcd.print(h);
    lcd.print(":");
    lcd.print(m);
    lcd.print(":");
    lcd.print(s);
    if(flag<12)lcd.print("AM");
    if(flag==12)lcd.print("PM");
    if(flag>12)lcd.print("PM");
    if(flag==24)flag=0;
    delay(1000);
    lcd.clear();
    if(s==60){
    s=0;
    m=m+1;
    }
    if(m==60)
    {
    m=0;
    h=h+1;
    flag=flag+1;
    }
    if(h==13)
    {
    h=1;
    }
    lcd.setCursor(0,1);
    lcd.print("HAYIRLI GUNLER");
    //-------Time
    // setting-------//
    state1=digitalRead(hs);
    if(state1==1)
    {
    h=h+1;
    flag=flag+1;
    if(flag<12)lcd.print("AM");
    if(flag==12)lcd.print("PM");
    if(flag>12)lcd.print("PM");
    if(flag==24)flag=0;
    if(h==13)h=1;
    }
    state2=digitalRead(ms);
    if(state2==1){
    s=0;
    m=m+1;
    }
    }
    Arduino çalışmalarım,,,Arduino çalışmalarım,,,




  • Bu resim saat bağArduino çalışmalarım,,,lantısı için;
  • Aynı yazılımı MEGA2560'a yükledim,pinler aynı numara,sonuç olumlu ve gayet güzel...Arduino çalışmalarım,,,Arduino çalışmalarım,,,




  • LCD ile kayan yazı tamamdır. Video linki;https://youtu.be/uTv1L62xO5g

    Bu arada dijital voltmetre de tamamdır.Dün solar şarj kontrolunun da net sonucunu aldım.Arduino ile,doluluk oranı %0,6-%99,7 arası değişimle akü şarjı sağlanıyor.Özellikle yarım yüklerde daha net ve daha kararlı çalışacağını düşünüyorum.Arduino çalışmalarım,,,



    < Bu mesaj bu kişi tarafından değiştirildi malisert32 -- 13 Ağustos 2017; 22:52:57 >




  • Olumlu sonucunu aldığım solar şarj yazılımı+LCD voltmetre yazılımını birleştirdim.Birleştirme de yerler çok önemli,dikkatli olunmalı.Bir parantez hatası olumsuz sonuç veriyor.Void setup void loop,,,yada çalıştırılacak-gösterilecek cihaz tanıtımı önemli. Ör; #include "LiquidCrystal.h"

    Çok şükür ilerleme gayet güzel gidiyor.50hz tam sinüs inverter devresinde geri bildirimsiz sonuç aldığım gibi modifiye sinüs tam kontrol sağlayan inverter devresi de tamamdır.
    Ayrıca Arduino ile smps devrelerde tam kontrollu istenilen frekans ve genlik ayarlı SMPS devre tasarımları da bitti.

    Buradan 32x8 DotMatrix ile kayan yazı vb. uygulama sonuçlarını da paylaşacağım inşallah.

    Arduino çalışmalarım,,,




  • MehmetAli abi ortalığın tozunu attırıyorsun yine, geç başladın ama roket hızıyla ilerliyorsun. Allah gayretini muzaffer milli hissiyatını daim kılsın.

    Bende bir haftalık arduinocu olarak aynı yollardan geçtim.Bende lcd ekranda full yanan karakterle bayağı cebelleştikten sonra çıkış pininin birini yanlış bağladığımı

    Görüp de düzeltince ekrana yazı gelmişti.

    Yıllarca analog la uğraşanlar için lcd ekranda bir şeyler görmek güzel bir duygu, elektroniği arduinoda tanıyan arkadaşlar bilemeyebilirler bu hissiyatı.

    Benim önceliğim masamın üzerine saat, derece ve nem gösteren bir devre koymak öncelikle. Sonra senden kopya çekmeye başlarız artık.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: ekrem3457

    MehmetAli abi ortalığın tozunu attırıyorsun yine, geç başladın ama roket hızıyla ilerliyorsun. Allah gayretini muzaffer milli hissiyatını daim kılsın.

    Bende bir haftalık arduinocu olarak aynı yollardan geçtim.Bende lcd ekranda full yanan karakterle bayağı cebelleştikten sonra çıkış pininin birini yanlış bağladığımı

    Görüp de düzeltince ekrana yazı gelmişti.

    Yıllarca analog la uğraşanlar için lcd ekranda bir şeyler görmek güzel bir duygu, elektroniği arduinoda tanıyan arkadaşlar bilemeyebilirler bu hissiyatı.

    Benim önceliğim masamın üzerine saat, derece ve nem gösteren bir devre koymak öncelikle. Sonra senden kopya çekmeye başlarız artık.

    Amin,Allah razı olsun.Rabbimiz yar ve yardımcımız olsun inşallah.
    2-3 gün önce oğlum arduino uno'nun birini bu gün ben birini nakavt ettik.5V arduino çıkışına yanlışlıkla akü voltajı değdi,aynen nakavt.Analok giriş voltajını 0-4V aralıklarında atayıp genlik değişimiyle şarj kontrolu yapmaya çalışıyordum,UNO'yu yaktık,,nasip bu kadarmış,şimdiden elimde 3 tane nakavt UNO oldu.Olsun iyi ki Çinliler var sudan ucuz alıyoruz da bütçeyi zorlamıyor.

    Bu arada tanesi 2,76-2,8 dolara uno alırken baktım nano'nun hiç de eksik yanı yok ve tanesi 1,7 dolar,,hemen 5 tane nano sipariş verdim.8-10 tane UNO yolda...Yoldakiler gelmeden elimdekileri yaktım bittibir MEGA kaldı...
    Net sonuç aldığım projeleri ayrıntılı paylaşmaktan şeref duyarım.




  • Siz de olmasanız bu bölümle kimse ilgilenmeyecek, çalışmalarınızın devamını dilerim, kolay gelsin
  • quote:

    Orijinalden alıntı: kesin09

    Siz de olmasanız bu bölümle kimse ilgilenmeyecek, çalışmalarınızın devamını dilerim, kolay gelsin

    Eyvallah,teşekkür ederim.
  • Hocam en son lisede elektronikle ilgilenmiştim, bölümüm dolayısıyla. BU aralar elektronik anılarım depreşti :D UNO alacağım sanırım bu gidişle :D Bizim zamanımızda UNO yoktu tabi :D Lütfen uğraşmaya devam edin ve bu konuya cevap atmaktan vazgeçmeyin. Çok güzel işler çıkarıyorsunuz Yakında ben de geliyorum. :)
  • quote:

    Orijinalden alıntı: ozan ozugur

    Hocam en son lisede elektronikle ilgilenmiştim, bölümüm dolayısıyla. BU aralar elektronik anılarım depreşti :D UNO alacağım sanırım bu gidişle :D Bizim zamanımızda UNO yoktu tabi :D Lütfen uğraşmaya devam edin ve bu konuya cevap atmaktan vazgeçmeyin. Çok güzel işler çıkarıyorsunuz Yakında ben de geliyorum. :)

    Teşekkür ederim.
    Yıllarca smps,opamp,komp. entegreleri ile uğraştım.Yazılımı,beni zorlar diye düşünürdüm.Oysa öyle zor bir yanı yokmuş..Düşünen arkadaşlara tavsiye ederim.Hem maliyet olarak düşük hemde yapımı kolay.




  • Arkadaşlar;Giriş-çıkış atamaları,süre, analog-dijital in-out konuları tamam ama galiba İf ve Else konularında takılıyorum.Daha doğrusu asıl çözemediğim konu;2 adet 50 Hz analog çıkış atayıp bu çıkışların bir analog in kontrolu ile genliklerini ayarlamak istiyorum.Dimmer ile ancak tek çıkış kontrolu ve 490 Hz.(default out) ile kontrol sağlıyorum.Ekleyeceğim resimde göreceğiniz gibi orjinalinde tek çıkış olan dimmerin çıkışlarını çoğaltabiliyorum ama maalesef bütün çıkışlar senkron çalışıyor.Yani ben istiyorum ki bu resimdeki gibi değil,,2 çıkış sıra ile HIGH-LOW olsun ama hem analog hemde 50 Hz. olsun.Bende bir giriş kontrolu ile bu sıralı 2 çıkışın genliğini kontrol edebileyim.Nasıl yapabilirim acaba?Arduino çalışmalarım,,,




  • Bahsettiğim senkron 2 çıkışlı devrenin yazılımını ekleyeyim ki bilen bir arkadaş belki üzerinde modifiye ederek durumu izah eder.
     

    int ledPin_0 = 9; // LED connected to digital pin 9
    int ledPin_1 = 10;

    int analogPin = A0; // potentiometer connected to analog pin 3

    int val = 0; // variable to store the read value



    void setup()

    {

    pinMode(ledPin_0, OUTPUT); // sets the pin as output
    pinMode(ledPin_1, OUTPUT); // sets the pin as output
    }



    void loop()

    {

    val = analogRead(analogPin); // read the input pin

    analogWrite(ledPin_0, val / 0.3); // analogRead values go from 0 to 1023, analogWrite values from 0 to 255
    analogWrite(ledPin_1, val / 0.3); //

    }
  • Yapmak istediğim şu eklediğim resimdeki gibi 50Hz 2 çıkışlı %45-50 doluluk oranlı çıkışı,,bir analaog uyartımla (ör;analog0 voltajı milivolt bazında yükseldikçe çıkışların genliği düşecek,azalacak).Max. atama yapılan noktada genlik sıfıra düşmüş olacak,,hepsi bu.
    Ben şu anda çıkış frekansını,genliğini ayar edip çıkış alıyorum.Ama maalesef analog uyartımla genliğini düşüremiyorum.Sadece tam açıp tam kapatabiliyorum.Ör;Analog0=girişi 2,5V olduğunda tam kapanıyor,2,4V'da tam açılıyor.Bu da benim istediğim değil...Arduino çalışmalarım,,,



    < Bu mesaj bu kişi tarafından değiştirildi malisert32 -- 30 Ağustos 2017; 22:55:55 >




  • Arduinonun hazır fonksiyonları ile detaylı şekilde frekans/genlik ayarlamak zor. Register seviyesine inmek gerekebilir. Hangi arduinoyu kullanıyorsunuz?
  • 
Sayfa: önceki 12345
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.