480 Watt / 50 Amper RGB Lamba Kontrolü Projesi Malzeme Listesi

Merhabalar

Projemde 16 adet her biri 30watt/12v 4 uçlu rgb smd led lambalar var. Toplamda 480 watt / 40-50 amper güç harcıyor.

Ben bir arduino bluetooth bağlantısı ile bu lambaları telefonumdan kontrol etmek istiyorum. Fakat nasıl yapacağım hangi ürünleri kullanacağım konusunda bir bilgim yok. Lambaları teker teker değilde toplu bir şekilde kontrol etmek istiyorum.

Merhabalar,
Bu iş için mosfet kullanmanız gerekiyor. IRFZ44 işinizi görücektir ancak çok iyi soğutmanız gerekiyor. Kolay gelsin. :slightly_smiling_face:
Devre şeması;

Arduino kodları;

/*Hangi eleman hangi pine bağlı? */
#define REDPIN 10
#define GREENPIN 9
#define BLUEPIN 3

#define MODPIN 12

#define SPEEDPOT A0
#define BLUEPOT A1
#define REDPOT A2
#define GREENPOT A3

/*Kullanılan değişkenler */
int RedVal = 255;
int GreenVal = 255;
int BlueVal = 255;
int FadeSpeedVal = 50;

boolean Mod = 1;
float rad;
int r, g, b, i, sinOut;

void setup()
{
  Serial.begin(9600);

  pinMode(REDPIN, OUTPUT);
  pinMode(GREENPIN, OUTPUT);
  pinMode(BLUEPIN, OUTPUT);

  pinMode(MODPIN , INPUT_PULLUP );
}

void loop()
{
  if (Mod == 1)
  {
    Serial.println("fade");
    FadeMod();
  }
  if (Mod == 0)
  {
    Serial.println("manual");
    ManualMod();
  }
}
void FadeMod()
{

  analogWrite(REDPIN, 255);
  analogWrite(BLUEPIN, 255);
  analogWrite(GREENPIN, 255);
  for (i = 90; i <= 270; i++)
  {
    CheckModChange();
    if (Mod == 0)
      break;
    CheckFadeSpeed();
    rad = DEG_TO_RAD * i;
    sinOut = constrain((sin(rad) * 128) + 128, 0, 255);
    analogWrite(GREENPIN, sinOut);
    delay(FadeSpeedVal);
  }
  for (i = 90; i <= 270; i++)
  {
    if (Mod == 0)
      break;
    CheckFadeSpeed();
    CheckModChange();
    rad = DEG_TO_RAD * i;
    sinOut = constrain((sin(rad) * 128) + 128, 0, 255);
    analogWrite(BLUEPIN, sinOut);
    delay(FadeSpeedVal);
  }
  for (i = 270; i >= 90; i--)
  {
    if (Mod == 0)
      break;
    CheckFadeSpeed();
    CheckModChange();
    rad = DEG_TO_RAD * i;
    sinOut = constrain((sin(rad) * 128) + 128, 0, 255);
    analogWrite(GREENPIN, sinOut);
    delay(FadeSpeedVal);
  }
  for (i = 90; i <= 270; i++)
  {
    if (Mod == 0)
      break;
    CheckFadeSpeed();
    CheckModChange();
    rad = DEG_TO_RAD * i;
    sinOut = constrain((sin(rad) * 128) + 128, 0, 255);
    analogWrite(REDPIN, sinOut);
    delay(FadeSpeedVal);
  }
  for (i = 270; i >= 90; i--)
  {
    if (Mod == 0)
      break;
    CheckFadeSpeed();
    CheckModChange();
    rad = DEG_TO_RAD * i;
    sinOut = constrain((sin(rad) * 128) + 128, 0, 255);
    analogWrite(BLUEPIN, sinOut);
    delay(FadeSpeedVal);
  }
  for (i = 90; i <= 270; i++)
  {
    if (Mod == 0)
      break;
    CheckFadeSpeed();
    CheckModChange();
    rad = DEG_TO_RAD * i;
    sinOut = constrain((sin(rad) * 128) + 128, 0, 255);
    analogWrite(GREENPIN, sinOut);
    delay(FadeSpeedVal);
  }
  for (i = 270; i >= 90; i--)
  {
    if (Mod == 0)
      break;
    CheckFadeSpeed();
    CheckModChange();
    rad = DEG_TO_RAD * i;
    sinOut = constrain((sin(rad) * 128) + 128, 0, 255);
    analogWrite(GREENPIN, sinOut);
    analogWrite(REDPIN, sinOut);
    delay(FadeSpeedVal);
  }
}
void ManualMod()
{
  CheckModChange();
  RedVal = analogRead(REDPOT);
  GreenVal = analogRead(GREENPOT);
  BlueVal = analogRead(BLUEPOT);



  b = map(BlueVal, 0, 1023, 0, 255);

  g = map(GreenVal, 0, 1023, 0, 255);

  r = map(RedVal, 0, 1023, 0, 255);

  analogWrite(REDPIN, r);
  analogWrite(GREENPIN, g);
  analogWrite(BLUEPIN, b);
}

void CheckModChange()
{
  if (digitalRead(MODPIN) == 0)
  {
    Mod = !Mod;
    Serial.print("yeni mod= ");
    Serial.print(Mod);
    while (digitalRead(MODPIN) == 0);
  }
}
void CheckFadeSpeed()
{
  FadeSpeedVal = analogRead(SPEEDPOT);
  FadeSpeedVal = map(FadeSpeedVal, 0, 1023, 0, 20);
}
2 Beğeni

Çok teşekkürler. Muhteşemsiniz fakat bluetooth kontrol içinde bir tasarım yapabilir misiniz?
Birde mesela 12v dc giriş var ya. Benim sistemde dc trafo var 500watt 44 amper 12volt beslemede bir zarar verir mi soğutma sistemini hallederiz.

Bluetooth olduğunu görmemişim. Gerekli değişiklikleri oluşturduktan sonra tekrar yazarım.

2 Beğeni

Birde neden 10 k direnç kullandığımızı söyleyebilir misin? Bilmediğimden soruyorum kusura bakma

Mosfete giden çok küçük bir voltaj bile ledleri çalıştırır onun için pull down dediğimiz direnç takarız.

2 Beğeni

Bluetooth için dönüşünüzü bekliyorum. Ayrıca arduino için baktığım bluetooth modülleri hc-06 çekme mesafesi çok az bunun daha fazla mesafeli modelleri var mı? yada arttırabileceğim bir işlem

20 metre anca çekiyor. Onun artırabileceğini zanetmiyorum belki antenine bir kablo lehimlesen bi ihtimal. Bluetooth için dönüş yapıcağım derslerden zaman bulamadım kusura bakmayın. Yarın derslerim yok büyük ihtimal o zaman kodları yazarım.

2 Beğeni

Arduino üzerine başka bluetooth modülü takılmıyor mu peki? Daha fazla çekebilen.
Birde buradaki mosfet tam olarak ne işe yarıyor? Sorun değil uygun olduğunuzda kodları iletirsiniz. Zaten fazlasıyla yardımcı oldunuz çok teşekkür ederim.

1 Beğeni

Başka bir bluetooth takarak çekim gücü artırılamaz ama nrf kullanılarak ve nrf den yapılmış bir kumanda tasarlayarak çekim gücü artırılabilir. Sizin için çekim gücü ne kadar olmalı. İsterseniz internet üzerinden kontrol edilebilen bir ledde tasarlayabiliriz. Mosfeti kullanmamızın amacı arduino ledleri çalıştırabilecek güçleri sağlayamaz. Mosfeti ayarlı röle gibi düşünebiliriz.

1 Beğeni

Ben şuan cata marka bir alıcı ve kumanda ile ledlerimi kontrol edebiliyorum. Fakat 10 metre olunca veya duvar arkasından çekmemeye başlıyor. İnternet bağlantısı çok zor o yüzden bluetooth veya benzeri birşey ile telefon üzerinden kontrolü yapmak istiyorum.

1 Beğeni

nrfin antenli modülü ile neredeyse 500m ye kadar çekim alabiliyorsunuz. Onu deneyip kednidinize bir kart tasarlayabilirsiniz. Burada bizde yardımcı oluruz :+1:

1 Beğeni

Merhaba,
Bluetooth modülüyle kodlar tamam. Mosfet olarak IRFZ44, direnç olarakta 1k devrede kullandım. HC-05’i TX=13, RX=12 pine bağladım. Normal küçük led bağladığıma bakmayın normal 12V’lik RGB led bağlayacaksınız. Kabloların renklerine göre de rgb led’de bağlarsınız. Adaptörün eksisini arduinonun eksisine bağlamayı unutmayın. Adaptörün artısını direk rgb ledin +12 girişine bağlayacaksınız.
Telefonda kullanacağınız program linki;

Devre şeması (Bazı komponentleri programda bulamadım);

Arduino kodları;

#include <SoftwareSerial.h>
 
SoftwareSerial BLU(13,12); //TX, RX
 
#define redPin 5 
#define greenPin 6
#define bluePin 3
#define BTpower 7
 
void setup()
{
  //Serial setup
  Serial.begin(9600);
  Serial.println("-= HC-05 Bluetooth RGB LED =-");
  BLU.begin(9600);
  BLU.println("-= HC-05 Bluetooth RGB LED =-");
 
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
  pinMode(BTpower, OUTPUT);
  digitalWrite(BTpower, HIGH);
  setColor(255, 0, 0);
  delay(500);
  setColor(0, 255, 0);
  delay(500);
  setColor(0, 0, 255);
  delay(500);
  setColor(255, 255, 255);
}
 
void loop()
{
   
 
  while (BLU.available() > 0)
  {
   
    int redInt = BLU.parseInt();
    int greenInt = BLU.parseInt();
    int blueInt = BLU.parseInt();
 
 
    redInt = constrain(redInt, 0, 255);
    greenInt = constrain(greenInt, 0, 255);
    blueInt = constrain(blueInt, 0, 255);
 
    if (BLU.available() > 0)
    {
      setColor(redInt, greenInt, blueInt);
 
      Serial.print("Red: ");
      Serial.print(redInt);
      Serial.print(" Green: ");
      Serial.print(greenInt);
      Serial.print(" Blue: ");
      Serial.print(blueInt);
      Serial.println();
     
      BLU.flush();
    }
  }
}
 
void setColor(int red, int green, int blue)
{
  analogWrite(redPin, red);
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);
}

Kolay gelsin. Umarım yanlış bi kod veya çizim yapmamışımdır. :slightly_smiling_face:

Teşekkürler bazı parçalarım eksikti sipariş ettim gelince deneyeceğim durumu sizlere bildiririm.

Merhaba bu yaptığınız örnekte bluetooth modülü ve led olmadığı için tam anlayamadım revize edip eksiklikleri tamamlayabilir misiniz. Ürünler elime ulaştı projeyi yapmak istiyorum.

Merhaba,
HC-05 bağlantısını yazı olarak yazdım bakabilirsiniz. Firitzing de HC-05 presetini bulamadığım için resime koyamadım. Kolay gelsin. :slightly_smiling_face:

Kablo bağlantılarıda eksik 12volt girişi ve arduino içine - dağıtımını ekleyebilir misiniz? Yanlış birşey yapmak istemiyorum. Mosfetlerin sağ bacaklarından arduino - kısmına gidiyor ya kablo onu diyorum. Projeyide yapıyorum hemen haber vericem bitince.

Birde hc-05 de 4 pin var siz sadece 2 pin için söylemişsiniz.

Evet mosfetin sağ bacağı arduinonun eksisine mosfet çıkışları zaten kırmızı, mavi, yeşil olarak belirtilmişim. Güç kaynağının eksisini arduinonun eksisine bağlayın ledin artısına da +12V bağlayın. Hc-05 bağlantısı TX=13, RX=12, Vcc=5V, GND=GND piblerine bağlayın.

Arduino ile breadbord arasında - bağlantısı olmayacak mı?