Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
116
Cevap
6245
Tıklama
4
Öne Çıkarma
Cevap: Arduino çalışmalarım,,, (4. sayfa)
M
8 yıl
Yarbay
Konu Sahibi

Bu resim saat bağ< Resime gitmek için tıklayın >lantısı için;



M
8 yıl
Yarbay
Konu Sahibi

Aynı yazılımı MEGA2560'a yükledim,pinler aynı numara,sonuç olumlu ve gayet güzel...< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >



M
8 yıl
Yarbay
Konu Sahibi

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.< Resime gitmek için tıklayın >





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

M
8 yıl
Yarbay
Konu Sahibi

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.

< Resime gitmek için tıklayın >



E
8 yıl
Binbaşı

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ı >
Bu mesaja 1 cevap geldi.
M
8 yıl
Yarbay
Konu Sahibi

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.



K
8 yıl
Binbaşı

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


Bu mesaja 1 cevap geldi.
M
8 yıl
Yarbay
Konu Sahibi

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.



E
8 yıl
Çavuş

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. :)


Bu mesaja 1 cevap geldi.
M
8 yıl
Yarbay
Konu Sahibi

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.



M
8 yıl
Yarbay
Konu Sahibi

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?< Resime gitmek için tıklayın >



M
8 yıl
Yarbay
Konu Sahibi

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); //

}



M
8 yıl
Yarbay
Konu Sahibi

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...< Resime gitmek için tıklayın >





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

G
8 yıl
Yarbay

Arduinonun hazır fonksiyonları ile detaylı şekilde frekans/genlik ayarlamak zor. Register seviyesine inmek gerekebilir. Hangi arduinoyu kullanıyorsunuz?


Bu mesaja 1 cevap geldi.
M
8 yıl
Yarbay
Konu Sahibi

quote:

Orijinalden alıntı: elektro_gadget

Arduinonun hazır fonksiyonları ile detaylı şekilde frekans/genlik ayarlamak zor. Register seviyesine inmek gerekebilir. Hangi arduinoyu kullanıyorsunuz?

Merhaba;Şu anda UNO ve MEGA kullanıyorum.Ama yakın zamanda genel olarak NANO kullanacağım.Çünkü maliyet olarak daha uygun.



M
8 yıl
Yarbay
Konu Sahibi

İşin aslı FB(feed back) olması önemli olan.Kontrolsuz yani analog girişine göre çıkış olmasa problem değil.Ekleyeceğim cod örneğinde görüldüğü gibi 2x50Hz sonuç alıyorum.
Ben istiyorum ki analog referansa göre out genlik oranını azaltayım.
// 2x50Hz Digital out put by malisert32
void setup()
{
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);

}

void loop()
{
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delayMicroseconds(42700);
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
delayMicroseconds(42700);

}

< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi malisert32 -- 31 Ağustos 2017; 0:41:31 >

G
8 yıl
Yarbay

Tam olarak istediğin şeyi anlamasam da aşağıdaki kod 2 çıkış ile 50hz lik pwm üretir. Deneme şansım yok ama çalışması lazım. Çıkışları 9 ve 10 numaralı pinlerden alacaksın (arduino uno için).

DDRB |= 0x06;
ICR1 = 625;
TCCR1A = 0xA2;
TCCR1B = 0x14;

Genlik 0 ile 625 arasında olabilir. 9. pin için OCR1A, 10. pin için OCR1B kullanacaksın. Misal 9'dan %50 duty cycle almak için;

OCR1A = 312;


Bu mesaja 1 cevap geldi.
M
8 yıl
Yarbay
Konu Sahibi

quote:

Orijinalden alıntı: elektro_gadget

Tam olarak istediğin şeyi anlamasam da aşağıdaki kod 2 çıkış ile 50hz lik pwm üretir. Deneme şansım yok ama çalışması lazım. Çıkışları 9 ve 10 numaralı pinlerden alacaksın (arduino uno için).

DDRB |= 0x06;
ICR1 = 625;
TCCR1A = 0xA2;
TCCR1B = 0x14;

Genlik 0 ile 625 arasında olabilir. 9. pin için OCR1A, 10. pin için OCR1B kullanacaksın. Misal 9'dan %50 duty cycle almak için;

OCR1A = 312;

Teşekkür ederim,elinize sağlık.Yalnız benim istediğim;analog bir uyartım ile genliği kontrol etmek istiyorum.Frekans 50 Hz. sabit, genlik değişken olacak.Aynen pot bağlantısını düşünelim.Ör;analog0'a bağlı bir pot ile voltaj değiştikçe genlik değişecek,ben bu ilişkiyi kuramıyorum.Yazılımla 50 Hz. ve yine yazılımla bu 50 Hz.in genliğini istediğim ayara getiriyorum ama bu işimi görmüyor.



G
8 yıl
Yarbay

Sizin yaptığınız 50hz tamamen yazılımla yapılmış. Böyle yaparsanız cpu başka hiçbir işe yetişemez. Başka bişey yapmaya çalışırsanız frekans bozulur. Benim verdiğim kodda böyle sorunlar yok. Gelelim probleme.

Okunan analog değeri çıkış genliğine orantılıyacağız ama ters orantı? Yani okuduğumuz voltaj düşükse genlik (+5V) daha geniş olacak?

Öyleyse basit bir formül işimizi görür. Yukarıda verdiğim koddan devam edelim.

const float x = 625.0 / 1023.0; // Bu global değişken olursa daha iyi.

unsigned int voltaj = 1023 - analogRead(A0);
OCR1A = OCR1B = x * voltaj; // İki kanalda aynı genlik.


Bu mesaja 1 cevap geldi.
M
8 yıl
Yarbay
Konu Sahibi

quote:

Orijinalden alıntı: elektro_gadget

Sizin yaptığınız 50hz tamamen yazılımla yapılmış. Böyle yaparsanız cpu başka hiçbir işe yetişemez. Başka bişey yapmaya çalışırsanız frekans bozulur. Benim verdiğim kodda böyle sorunlar yok. Gelelim probleme.

Okunan analog değeri çıkış genliğine orantılıyacağız ama ters orantı? Yani okuduğumuz voltaj düşükse genlik (+5V) daha geniş olacak?

Öyleyse basit bir formül işimizi görür. Yukarıda verdiğim koddan devam edelim.

const float x = 625.0 / 1023.0; // Bu global değişken olursa daha iyi.

unsigned int voltaj = 1023 - analogRead(A0);
OCR1A = OCR1B = x * voltaj; // İki kanalda aynı genlik.

Eyvallah,tekrar teşekkür ederim.
Voltajı artı yada eksi yönünden ayar ederim sorun değil.Sizin yazdığınız kodları uygulamaya çalışacağım sonucu en kısa sürede paylaşırım.