Skocz do zawartości

pinki

Klubowicz
  • Liczba zawartości

    877
  • Rejestracja

  • Ostatnia wizyta

Zawartość dodana przez pinki

  1. Chodzi o pracę przekaźnika aby nie pstrykał przy skokach o 0.5 stopnia C. Zmieniasz w loop czyli na samym dole kodu. znajdz ten kawałek kodu: if (sensors.getTempCByIndex(0) > temp_graniczna) {// temperatura odpalajaca wentylator digitalWrite(wiatrakPin, HIGH); lcd.setCursor(9,0); lcd.print("*"); } else { digitalWrite(wiatrakPin, LOW); } i zamień go na ten: if (sensors.getTempCByIndex(0) > temp_graniczna) { digitalWrite(wiatrakPin, HIGH); lcd.setCursor(9,0); lcd.print("*"); } if(sensors.getTempCByIndex(0) < temp_graniczna - 1) { digitalWrite(wiatrakPin, LOW); }
  2. Temperatura jest odczytywana co 1s, i tak ma być, natomiast podeśle później kawałek kodu który poprawia sprawność przcy wentylatorów (taka mała modyfikacja). Wentylatory odpalają się po przekroczeniu temperatury granicznej, a zatrzymuja się o 1 stopień poniżej temp granicznej, dzięki temu unikamy pstrykania przekaźnika. Jeśli chodzi o stan przekaźników na wyświetlaczu to mam coś takiego jednak nigdy tego nie udostępniałem. Problem jest właśnie w wyświetlaczu 2x16, nie ma już gdzie tego wcisnąć. U mnie już wartości 100% się nie mieszczą więc chyba czas na wiekszy wyświetlacz.
  3. Wyświetlacz masz zgodny, ssd1289, ze schematu wynika że musisz między wyświetlacz a arduino dolutować rezystory: piny od 22 do 46 dodajesz rezystor 12k. Zresztą widzę że tutaj prawie wszystko jest sterowane pwm łącznie z wentylatorami. Dochodzi do tego regulator napięcia i chip ICL7667 Generalnie projekt pisany pod mega, wygląda bardzo fajnie, wszystko czytelnie opisane. Daj znać jak to poskładasz do kupy, sam jestem ciekawy efektu końcowego.
  4. Biblioteki masz w stilo_3_0.zip w katalogu w katalogu libraries, skopiować zawartość do katalogu arduino / librries oczywiście przy zamkniętym programie. dalej to już standardowo ładowanie. napisz jaki masz wyświetlacz bo to jest istotna sprawa jak się on ma do tego kodu. P.s kod wydaje się zajebiasty.
  5. Bo zapewne zapomniałeś o bibliotekach, dograj biblioteki i dopiero kompilacja tego. u mnie pięknie się skompilowało. co do reszty to wypowiem się jutro bo dzisiaj to już padnięty jestem.
  6. KOd jest na 100% poprawny, w serial monitorze na dole masz ustawienie serial begin musi być ustawiony na 9600 baud inaczej nie wyświetli ci adresu. Jeśli to masz poprawnie to albo czujnik jest walnięty albo coś źle podpięte. p.s adres pojawia się z pewnym opóźnieniem, kilku do kilkunastu sekund.
  7. Jak czujnik jest w rurce to montujesz go bez opornika, opornik dotyczy tylko samego czujnika !!! A ty masz gotowy zestaw.
  8. Deklaracja pinów i godzin na początku kodu, a w srodku jeszcze musisz dopisać warunek a właściwie 2 if na włączenie i wyłączenie.
  9. Teraz termometr Tu sprawa jest bardziej zagmatwana bo musisz najpierw odczytać adres swojego termometru który ma swój unikatowy adres. Podłączenie to gnd, wcc, oraz dane które idą do pinu cyfrowego, w załączonym kodzie jest to pin 20 możesz zmienić w/g własnego uznania. Po załadowaniu kodu (z załącznika) narzędzia / monitor portu szeregowego, w oknie monitora zobaczysz adres czujnika Skopiować i zapisać ten adres. Teraz otwierasz kod sterownika z dołączonym oprogramowaniem termometru (załącznik) i w kodzie w lini: #define ONE_WIRE_BUS 52 // numer pinu pod który podpięty jest termometr następnie w lini DeviceAddress insideThermometer = { 0x28, 0xF4, 0x3A, 0x5E, 0x6, 0x0, 0x0, 0x95 }; // wpisujesz wcześniej skopiowany adres swojego termometru. następnie: int wiatrakPin = 32; // pin pod który podpięty jest przekaźnik do wentylatorów następny: int temp_graniczna = 28.00; //trmperatura po przekroczeniu której zostanie załączony przekaźnik wentylatorów. Teraz ładujesz cały kod i wszystko. Komarek bo pisze na mega stąd te dziwne numery pinów, ale spoko na uno też będzie działać jak zmienisz piny oczywiście _2kanaly_2_przekazniki_termometr.zip teromometr_odczyt_adresu.zip
  10. Zapewne padła przetwornica, ale ja bardziej programista niż elektronik jestem, lepiej napisz na elektrodzie tam ci dokładnie powiedzą co i jak. Ja bym na szybko dolutował się z zasilaczem 5v do usb. Pierwszy i ostatni styk to gnd i vcc ale zerknij jeszcze w schemat.
  11. dla komarka Aha ustawione jest to tak że o określonej godzinie (startu) na pinie przekaźnika pojawi się stan wysoki. więc sprawdź jak masz podpięty przekaźnik lub zmień w kodzie HIGH NA LOW. _5pwm_2przekazniki.zip
  12. Jedno wyjście PWM łączysz z 2 driverami, wystarczy mały mostek od drivera do drivera. Co do termometru to oczywiście kod mogę dodać tylko jest pytanie co ty będziesz nim mierzył ? Temperaturę wody (informacyjnie), czy radiatora ? Bo jeśli radiatora to to dojdzie do tego jeszcze sterowanie wentylatorami radiatora.
  13. masz gotowca 2 kanały i 2 przekazniki na samym poczatku kodu musisz wpisać godziny startu i stopu przekazników. _2kana_y_2_przekazniki.zip
  14. Chwilka przy browarku i jest kod na 2 przekaźniki, godziny do wpisania w kodzie. Jak najdzie mnie wena to wyciągnę to do menu, ale to już więcej zabawy. bezpośrednio pod bibliotekami czyli pod #include dodać konfigurację przekaxników czyli to: ////////// ustawienia przekaźników /////////////////////////// int przekaznik1 = 6; // numer pinu przekaznika nr. 1 int przekaznik2 = 7; // numer pinu przekaznika nr. 2 int p1_godzina_start = 22; //godzina startu przkaznika nr. 1 int p1_minuta_start = 21; // minuta startu przekaznika nr. 1 int p1_godzina_stop = 22; // godzina stopu przekaznika nr. 1 int p1_minuta_stop = 23; // minuta stopu przekaznika nr. 1 int p2_godzina_start = 22; //godzina startu przekaznika nr. 2 int p2_minuta_start = 57; //minuta startu przekaznika nr. 2 int p2_godzina_stop = 21; // godzina stopu przekaznika nr. 2 int p2_minuta_stop = 59; //minuta stopu przekaznika nr. 2 //////////////////////////////////////////////// następnie znajdz poniższy kod i zamień go na ten: void displayTime() { byte second, minute, hour, dayOfWeek, dayOfMonth, month, year, ggg; getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year); if (last_seconds == second) return; last_seconds = second; lcd.setCursor(0, 0); lcd.print(" "); lcd.setCursor(0, 0); if (hour < 10) lcd.print("0"); lcd.print(hour, DEC); lcd.print(":"); if (minute < 10) lcd.print("0"); lcd.print(minute, DEC); lcd.print(":"); if (second < 10) lcd.print("0"); lcd.print(second, DEC); /////////////////////// PRZEKAŻNIKI 2 SZTUKI ///////////////////////////////////////////////// pinMode(przekaznik1, OUTPUT); if(hour == p1_godzina_start && minute == p1_minuta_start){ digitalWrite(przekaznik1, HIGH); } if(hour == p1_godzina_stop && minute == p1_minuta_stop){ digitalWrite(przekaznik1, LOW); } pinMode(przekaznik2, OUTPUT); if(hour == p2_godzina_start && minute == p2_minuta_start){ digitalWrite(przekaznik2, HIGH); } if(hour == p2_godzina_stop && minute == p2_minuta_stop){ digitalWrite(przekaznik2, LOW); } ////////////////////// koniec /////////////////////////////////////////////// delay(100); } I to już wszystko
  15. Dobra, postaram się dopisać te 2 przekaźniki.
  16. ds18b20 opisałem kilka postów wczesniej czytać, czytać, czytac
  17. No bym się zdziwił gdyby to zakłucał przekaźnik, no chyba że masz słabiutki zasilacz (A) Ja obstawiam że to raczej sterowanie przekaźnika przez PWM powoduje problem. Osobiście by dopisał warunek z godzinami do włączenia / wyłączenia przekaźnika na wyjściu cyfrowym i tyle. Z pominięciem wyświetlacza można to zrobić w kilku liniach kodu. Dodatkowo przelicz sobie ampery wszystkiego co masz tam podpięte dodaj do tego 20% i porównaj z zasilaczem.
  18. daj wiekszy zasilacz max 12v, 5v to minimum.
  19. Jak sądzę chodziło o odpalenie całości do sterowania to kup sobie keypada.
  20. poczytaj to: http://kml.jogger.pl...yswietlacz-lcd/ lcd pin arduino 1 - 5v 2 gnd 3 gnd 4 12 5 11 6 10 11 5 12 4 13 3 14 2 podłącz w/g tego schematu a w kodzie zmień ta linie LiquidCrystal lcd(8, 9, 4, 5, 6, 7); na tą: LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); i powinno śmigać.
  21. Jeśli stosujesz soft na 2 kanały to tak jak ci nanorafa napisał , wpinasz keypada bezpośrednio do arduino. na grafice zaznaczyłem ci styki oraz ich nazwy które muszą pasować do analogicznych wejść w arduino. Jeśli to będzie pasować to reszta już musi pasować. Masz źle wpięty wyświetlacz a nie zegar jeśli na wyświetlaczu nic nie masz. Przy błędnie podpiętym rtc na wyświetlaczu zobaczysz bzdury zamiast godziny. i grafika
  22. Normalnie to stan wyskoki na pin 13 ale, ale poczytaj to:http://majsterkowo.pl/forum/ciagle-swiecaca-dioda-l-t212.html
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

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