Skocz do zawartości
nanorafa

DIY sterownik dwu (lub więcej) kanałowy lampy LED

Rekomendowane odpowiedzi

po 1 PWM nie steruje się przekaźników , tylko pinami cyfrowymi.

Polecam a YT przewodniki od Elektro Mars oraz ElektroPrzewodnk

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ale jak na wyjście pwm dasz 0% lub 100% wypełnienia, bez wartości pośrednich, to spokojnie można tak sterować przekaźnikiem, w szczególności że w tej sytuacji nie trzeba przerabiać istniejącego programu.


Kostka 100x100x50cm,

Oświetlenie: 12 x 39W, ATI Sunpower

Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055

Obieg: NewJet 4500

Reaktor Ca, DIY

Sól: Tropic Marine Pro Reef, RedSea.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No zgadza się . Znajomy ma mi przerobić twój program żeby można było piny dodawać z menu. Ciekawe co z tego wyjdzie. jeśli się uda to udostępnie go tutaj.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Pomocy

Odpaliłem ten sterownik już z 5 kanałami pwm i niestety dziwnie mi się zachowuje. Czas chodzi w porządku, po zmianie wartości rezystancji przyciski już też działają dobrze. Ustawiam kanały biały i RB na maxa a sterownik nie wystawia sygnałów na porty 11 i 3, na wyświetlaczu również nic nie zmienia.

Znalazłem jeszcze jeden problem, sterownik źle odczytuje czas z RTC, wyświetla poprawnie ale nie stosuje do zadanych parametrów

Edytowane przez pepedu (wyświetl historię edycji)

 

 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Sprawdź co masz ustawione tzn. start, stop, czas trwania, czas rozjaśniania itd jeśli czas trwania ustawisz ponad okres między start stop to morze głupieć. To jedyne co mi się nie podoba w tym programie autor trochę przekombinował z ilością danych do zaprogramowania (budowanie rampy) a ja jestem za cienki z programowania aby to poprawić u siebie.


731450e5ecb50e0ff9c2e1941b208841u392a365.png

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jak to mawiają jeszcze się taki nie narodził co by wszystkim dogodził ;).

Podeślij wszystkie ustawienia jakie masz dla jednego (przykładowego) niedziałającego kanału.

Edytowane przez nanorafa (wyświetl historię edycji)

Kostka 100x100x50cm,

Oświetlenie: 12 x 39W, ATI Sunpower

Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055

Obieg: NewJet 4500

Reaktor Ca, DIY

Sól: Tropic Marine Pro Reef, RedSea.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Próbowałem różnych ustawień i efekty były też różne ale niestety nie takie jak powinny.

np. ustawiałem czas zał:09:00:00, wył:15:00:00, moc max:100%, moc min:0%, i wszystkie pozostałe czasy po 1min (wschód, zachód, opóźnienie) i pomimo iż zegar wyświetlał prawidłową godzinę sterownik nie zapalał oświetlenia

próbowałem nawet czas zał:01:00:00, wył:23:00:00, moc max:100%, moc min:0%, i wszystkie pozostałe czasy po 1min - i bez zmian


 

 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ech. Nie zrozumiał Pan o co tu chodzi :). Z tego programu wynika że o 9.00 włączy się światło, wschód potrwa minutę, potem poświeci kolejną minutę z pełną mocą (100%), potem zachód trwający kolejną minutę czyli ściemnianie do mocy końcowej (pewnie ustawiona na 0 z defaultu), i po tych trzech minutach nic nierobienie do 15.00...

Pokazuję i objaśniam:

Program składa się z:

1.Czasu startu np. 9.00

2.Mocy minimalnej czyli mocy z jaką zapalą się diody o 9.00 (przeważnie każdy wybierze tu 0%, ale można mieć kaprys i świecić na dzień dobry 50%)

3.Czasu rozjaśniania czyli wschodu np. 60 minut (do 10.00)

4.Mocy max czyli tego co będzie na koniec wschodu

5.Czasu trwania z mocą max np. 360minut czyli kolejne 6 godzin do 16.00

6.Czasu ściemniania, np. 60 min - do 17.00

7.Mocy końcowej, np. 5% - do tego poziomu zejdą światła na koniec zachodu

8.Godziny zatrzymania czyli godziny po której kanał wyłączy się definitywnie (moc 0%)

Edytowane przez nanorafa (wyświetl historię edycji)

Kostka 100x100x50cm,

Oświetlenie: 12 x 39W, ATI Sunpower

Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055

Obieg: NewJet 4500

Reaktor Ca, DIY

Sól: Tropic Marine Pro Reef, RedSea.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Moja lampka już się mechanicznie kończy.

Jutro zaczynam zabawe z elektryką i arduino.

post-16975-1416759661,01_thumb.jpg

post-16975-1416759687,84_thumb.jpg

A tak z ciekawości - czy Win 8\8.1 na fonach i tabletach gada z arduino?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wielkie dzięki wytłumaczenie, teraz już wszystko działa. Niestety zasugerowałem się innymi rozwiązaniami timerów - człowiek uczy się całe życie.

Sam sterownik super sprawa, pierwotnie testowałem prostszy, który umiałem samemu przystosować do własnych potrzeb, ale ten jest fajniejszy.

Planuję jeszcze uruchomienie termostatu - w zależności od temperatury wody załączanie wentylatorów, ma Pan jakieś sugestie jak to dołożyć do kodu i wyświetlanie np. zamiast jednego kanału np. UV?

Edytowane przez pepedu (wyświetl historię edycji)

 

 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Z tym "Panem" to był żart oczywiście :).

Muszę poczytać o pomiarze temperatury bo tu wszyscy o tym marudzą ;)


Kostka 100x100x50cm,

Oświetlenie: 12 x 39W, ATI Sunpower

Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055

Obieg: NewJet 4500

Reaktor Ca, DIY

Sól: Tropic Marine Pro Reef, RedSea.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ja mam dodany termometr z ustawioną temperaturą graniczną po przekroczeniu której odpalają się

wentylatory radiatora. Niestety nie chciało mi się wyciągać do menu zapisu temperatury granicznej

więc trzeba ją wpisać bezpośrednio w kodzie, na wyświetlaczu podawana jest aktualna temperatura oraz

stan wiatraków On / Off. Jak ktoś jest zainteresowany to mogę udostępnić.

Aha termometrów można mieć kilka bo każdy ma swój unikalny adres.

Edytowane przez pinki (wyświetl historię edycji)

acee4e0f3e82859a8ba176830428e15au882a770.png

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zróbcie do tego WiFi i starowanie z fona. Poważnie. Będzie rewelacja

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Haha już dawno myślałem aby to zaadoptować jako komputer sterujący całością a nie tylko lampą.

zresztą idzie to w tym kierunku. Trochę wolnych pinów jeszcze mam więc czemu nie.


acee4e0f3e82859a8ba176830428e15au882a770.png

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wifi,wifi...

I bęezie można przestać kombinować z małym lcd

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jak już dodawać to może jeszcze dolewka, obsługa dwóch czujników i sterowanie przekaźnikiem powinno być łatwiejsze niż termometr;-)


 

 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ok do montujemy termometr

CZUJNIK DS18B20 Jednostka Ilość Koszt Jakieś 4zł Rezystor 4,7k

Rezystor dolutować w / g schematu. Można bezpośrednio do czujnika.

Operacja jednorazowa zrobić odczytania adresu czujnika

#include <OneWire.h>
const byte ONEWIRE_PIN = 20; [size=3]// Numer pinu cyfrowego czujnika[/size]
OneWire onewire(ONEWIRE_PIN);
void setup()
{
 while(!Serial);
 Serial.begin(9600);
}
void loop()
{
 byte address[8];
 onewire.reset_search();
 while(onewire.search(address))
 {
   if (address[0] != 0x28)
  continue;
   if (OneWire::crc8(address, 7) != address[7])
   {
  Serial.println(F("Błędny adres, sprawdz polaczenia"));
  break;
   }
   for (byte i=0; i<8; i++)
   {
  Serial.print(F("0x"));
  Serial.print(address[i], HEX);
  if (i < 7)
    Serial.print(F(", "));
   }
   Serial.println();
 }
 while(1);
}

Odczytać w monitorze szeregowym Adres czujnika, powinno Być Coś Takiego 0x87, 0x6A, 0xA1, 0x87 , 0x6A, 0xA1, 0x87, 0x6A

Teraz właściwy kod. Ze wzgledu że zapewne każdy ma inna ilość kanałów i inne zmiany nie zamieszczam całego KODU TYLKO wstawki Które trzeba sobie dopisać:

#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 52 // termometr numer pinu
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress insideThermometer = { 0x28, 0xF4, 0x3A, 0x5E, 0x6, 0x0, 0x0, 0x95 }; //adres czujnika wstaw własny
int wiatrakPin = 32; // pin wiatraka
int temp_graniczna = 28.00; //trmperatura odpalenia wiatraka
/// w setup //////
   pinMode(wiatrakPin, OUTPUT);
sensors.begin();
 sensors.setResolution(insideThermometer, 52);  //numer pinu termometru
//////////////////////////////////////// w loop /////////////////////////
sensors.requestTemperatures();
 lcd.setCursor(10,0);
lcd.print(sensors.getTempCByIndex(0));
lcd.print((char)223);
lcd.print("C");

 if (sensors.getTempCByIndex(0) > temp_graniczna) {// temperatura odpalajaca wentylator
   digitalWrite(wiatrakPin, HIGH);
   lcd.setCursor(9,0);
 lcd.print("*");
 } else {
   digitalWrite(wiatrakPin, LOW);
 }

Aha, rezystor podciągający jest "mocno zalecany", bez niego czujnik będzie co jakiś czas wskazywał bzdety. Długość przewodu czujnika ma wpływ na rezystancję więc lepiej wlutować rezystor.

post-24128-0-12176800-1416847861_thumb.jpg

post-24128-0-30628400-1416851538_thumb.jpg

Edytowane przez pinki (wyświetl historię edycji)

acee4e0f3e82859a8ba176830428e15au882a770.png

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Fajne te wasze projekty.Też kupiłem Arduino Uno i chciałbym nim sterować dwoma kanałami PWM ( niebieski i biały ) oraz sterować on\off światłem w refugium.Czy można jednoczesnie sterować przy pomocy tego ustrojstwa temperaturą w akwa ?

Moze ktoś podałby prosty kod i narysował schemat jak podłączyć Arduino uno z zegarem RTC DS 1307 , wyświetlaczem LCD 2x16 i driwerami led.

Nie robiłem wcześniej nic z Arduino i jestem w tym temacie zielony.

Pozdrawiam

Mariusz :smiling:


Mark 112

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

RTC

sda do A4

scl do A5

gdn do gdn

vcc do vcc

wyświetlacz

ogólnie 9 kabelków

od strony klawiatury 4 kabelki reset, 5v, gdn, A0

i z przeciwnej strony 6 kabelków lcd do dowoknych pinów cyfrowych które definiujesz w kodzie.

Najlepiej znajdz w google w grafikach jak to podłączyć bo trochę trudno to opisać.

wyjście na pwm drivera też definiujesz w kodzie.

driver - najczęściej IN + - wejście zasilacza

out +- wyjście do diód

pwm sterowanie.

Edytowane przez pinki (wyświetl historię edycji)

acee4e0f3e82859a8ba176830428e15au882a770.png

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzięki za odpowiedź,ale chodziło mi o taki schemat , aby to działało z kodem podanym przez kolegę nanorafa.

Czyli do odpowiednio przez niego zdefiniowanych wyjść,wejść w napisanym programie.

W jego wątku nie znalazłem nigdzie schematu połączeń do napisanego programu.

Nie wiem jak połączyć podzespoły z Aruino tzn zegar RTC wyświetlacz led itp.Nie wiem czy trzeba wgrywać jakieś biblioteki itd. czy wystarczy samo wpisanie programu,aby wszystko działało.

Chciałbym takiego gotowca, że podłączę wszystko zgodnie ze schematem, wgram program i cieszę się efektami ściemniania led, sterowania światłem w refugium i odczytem temperatury wody albo sterowaniem grzałki .

Pozdrawiam

Mariusz :smiling: :smiling:


Mark 112

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzięki za odpowiedź,ale chodziło mi o taki schemat , aby to działało z kodem podanym przez kolegę nanorafa.

Czyli do odpowiednio przez niego zdefiniowanych wyjść,wejść w napisanym programie.

W jego wątku nie znalazłem nigdzie schematu połączeń do napisanego programu.

Nie wiem jak połączyć podzespoły z Aruino tzn zegar RTC wyświetlacz led itp.Nie wiem czy trzeba wgrywać jakieś biblioteki itd. czy wystarczy samo wpisanie programu,aby wszystko działało.

Chciałbym takiego gotowca, że podłączę wszystko zgodnie ze schematem, wgram program i cieszę się efektami ściemniania led, sterowania światłem w refugium i odczytem temperatury wody albo sterowaniem grzałki .

Pozdrawiam

Mariusz :smiling: :smiling:

Kolego pierwszy kod w tym wątku jest na 2 kanały. i standardowe piny, czyli wpinasz wyświetlacz w aduino

tak jak pasuje i wszystko na ten temat. Zegar rtc napisałem ci powyżej jak podłączyć, .

biblioteki to:

#include <Wire.h>

#include <LiquidCrystal.h>

#include <EEPROM.h>

Sprawdz czy masz je zainstalowane i załaduj kod.

wyjścia pwm w tym kodzie to 11 i 3

Nikt nie wymaga abyś był programistą czy elektronikiem ale musisz mieć jakieś podstawy abyś ogarniał jak to wszystko połączyć.

Ja jaśniej już tego wytłumaczyć nie potrafię.


acee4e0f3e82859a8ba176830428e15au882a770.png

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A jakie są kanały PWM w tym sofcie na 5 kanałów +6ty on/off?

Ten ostatni to 13....

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A jakie są kanały PWM w tym sofcie na 5 kanałów +6ty on/off?

Ten ostatni to 13....

pwm:

11-WHT, 3-RB, 5-Blue, 10-UV, 9-Red, 13-to swth on/off


acee4e0f3e82859a8ba176830428e15au882a770.png

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ok,dzi€ki

Telmar zawalił z prxesyłką więc pewnie w weekend nad tym posiedzę

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Kolego pierwszy kod w tym wątku jest na 2 kanały. i standardowe piny, czyli wpinasz wyświetlacz w aduino

tak jak pasuje i wszystko na ten temat. Zegar rtc napisałem ci powyżej jak podłączyć, .

biblioteki to:

#include <Wire.h>

#include <LiquidCrystal.h>

#include <EEPROM.h>

Sprawdz czy masz je zainstalowane i załaduj kod.

wyjścia pwm w tym kodzie to 11 i 3

Nikt nie wymaga abyś był programistą czy elektronikiem ale musisz mieć jakieś podstawy abyś ogarniał jak to wszystko połączyć.

Ja jaśniej już tego wytłumaczyć nie potrafię.

Dzięki pinki.Teraz już to rozumiem.

Napisz proszę jak i gdzie sprawdzić czy mam załadowane te biblioteki do Arduino.

Jeszcze raz dziękuję


Mark 112

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Ten wątek jest dość stary. Należy rozważyć rozpoczęcie nowego wątku zamiast ożywienia tego.

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.


  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wchodząc do serwisu Nano-Reef, zgadzasz się na warunki Warunki użytkowania.