Skocz do zawartości

Julek

Użytkownicy
  • Zawartość

    22
  • Rejestracja

  • Ostatnio

Reputacja

11 Dobra

O Julek

  • Ranga
    2/10
  • Urodziny 20.01.2006

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Ostrołęka
  • Języki programowania
    C/C++ Arduino

Ostatnio na profilu byli

217 wyświetleń profilu
  1. @InspektorGadzetZgadzam się, ogniwo Peltiera nie jest najlepszą żeczą do pracy w lodówkach ale to jest chyba najtańsze i najłatwiej dostępne. @grg0 Mam zamiar taki zrobić, ponieważ często się przydaje. Jak zrobię to napewno w opisie wstawię informacje o rezultacie. @TheRatchet2056Może sygnał PWM nie jest najlepszy, ze względu na możliwość uszkodzenia ogniwa. Bardziej myślał bym nad zmniejszeniem napięcia na ogniwie. Nie wiem na tą chwilę jak miałbym to zrobić ale za jakiś czas napewno coś wymyślę. Chciałbym rozwinąć jakoś ten projekt ale nie chce też wydawać na niego jakąś dużą sumę pieniędzy, ze względu na wydajność. Zwróć uwagę że u mnie ciepła strona jest odizolowana od styropianu sklejką
  2. Tu nie chodziło o to żeby była wydajna. Jak bym potrzebował lodówki to poszedł bym do sklepu i kupił jakąś za 50zł. Zrobiłem ją bo miałem dobry pomysł i części.Liczylem się z tym, że nie będzie to bardzo wydajne ale bardziej chodziło o to żeby zrobić jakiś działający projekt.
  3. Też tak podejrzewam ale nie wykluczam bo nie sprawdzałem. Nie zero bezwzględne ale -1/0 stopni było by bardzo dobrym wynikiem. Do zera bezwzględnego jeszcze jednak troszkę brakuje. Moim zdaniem spełnia swoją funkcje. Ona nie ma mrozić napoju tylko lekko go schłodzić.
  4. @TheRatchet2056 Zgadzam się nie przemyślałem tego. Chyba będzie trzeba to poprawić. I można uzyskać ujemne temperatury, ale niestety izolacja jest za słaba. zamiast pleksy i uszczelki powinien być styropian,tak jak na filmie. Jego wersja jest dużo mniejsza przez co łatwiej jest ochłodzić taki obszar. Zwróć też uwagę na to, iż tam strona ciepła i zimna ogniwa peltiera jest oddzielona styropianem a u mnie pianką. Pokazał, że poza lodówką uzyskał -11,1 C. Nie wiem czemu tak jest. Podejrzewam, że też bym taki wynik mógł uzyskać z kablem bez ograniczenia. I u mnie tylny radiator jest też zasłonięty sklejką, w której jest tylko mały otwór. Mogłem zrobić chociaż te styropianowe drzwiczki ale zawsze chciałem zrobić lodówkę w ten sposób.
  5. @szczawiosław Masz racje nie pomyślałem o tym ale myśle, że jest ok. @InspektorGadzetTak czarna matowa, ponieważ pasowała mi do czarnej półki a poza tym bardzo mi się podobała Tak mam ds18b20 nawet jest na tylnym radiatorze. Mam zamiar zrobić termometr uniwersalny i sprawdzić temperaturę. Więc szkoda mi było czujnika.Podejrzewam, że po jakimś czasie i trochę lepszej izolacji uzyskam 10 stopni
  6. @Treker Dzięki, ostatnio dopiera znalazłem trochę czasu na jakiś projekt. Robię kolejny i jeśli wszystko będzie działać tak jak trzeba to na pewno opublikuje @szczawiosław Na tylnym radiatorze przymocowałem czujnik temperatury. Miedziane są lepsze ale trochę trudniej dostępne, a zwłaszcza takiej wielkości. Na zdjęciu czujnik to ta czarna taśma na radiatorze . wiem słabo zamocowane ale użyłem też pasty termoprzewodzącej więc działa poprawnie
  7. Witam! Chciałbym zaprezentować Wam lodówkę, którą sam zrobiłem. Elementy z których zbudowałem lodówkę: Sklejka 6mm styropian 30mm Zestaw radiatorów Wentylatory Ogniwo Peltiera 5A Przekaźnik Arduino UNO Czujnik temperatury DS18B20 2 przełączniki Gniazdo DC 5,5x2,5mm Zasilana jest zasilaczem 12V 7A. Tak duży prąd potrzebny jest do zasilania 5A ogniwa Peltiera , 2 wentylatorów i LED'ów. Nie był potrzebny aż tak mocny, ale tylko taki miałem pod ręką. Do zasilania "zabezpieczenia" używam 2A ładowarki. niestety za późno zorientowałem się, że będzie potrzebne, przez co nie podpiąłem bezpośrednio do zasilacza. Niestety, kupując zasilacz o tak wysokim natężeniu prądu nie przewidziałem, że nie posiadam odpowiedniego kabla zasilającego. W domu znalazłem tylko taki, który da MAX 2,5A. Obudowa jest wykonana ze sklejki o grubości 6mm pomalowanej czarną matową farbą do drewna. Wyłożona jest styropianem o grubości 3cm a drzwiczki zrobione są z 4mm pleksy. Po między pleksą a styropianem jest uszczelka, która choć częściowo zapobiega uciekaniu zimna. Lodówka posiada magnesy dzięki którym drzwiczki są przyciśnięte do uszczelki. W środku zamontowałem LED'y w dwóch kolorach: białym zimnym i niebieskim. Niebieski zapala się gdy drzwiczki są zamknięte a biały, gdy są są otwarte. Z tyłu obudowy są dwa przełączniki. Jeden służy do włączania LED'ów a drugi włącza wentylatory i ogniwo Peltiera. Do chłodzenia lodówki użyłem modułu wentylatora z radiatorami przeznaczonego do ogniwa Peltiera. Niestety od zimnej strony ogniwa, mniejszy radiator nie ma wentylatora, więc musiałem go dokupić. Jego wymiary to 40mm x 40mm x10mm Obok przycisków jest otwór przez który wlatuje powietrze. Radiator z tyłu obudowy bardzo się grzał przez co musiałem wymyślić coś dzięki czemu temperatura była by stabilizowana i ograniczana. Wpadłem na pomysł aby przy temperaturze 45°C ogniwo było odłączone na 100 sekund(wentylatory wciąż pracują). W tym czasie wentylator chłodzi radiator. Do odłączenia zasilania ogniwa użyłem przekaźnika, Arduino UNO i czujnika temperatury DS18B20+. Chciałem użyć Nano, ale jak na złość wszystkie były uszkodzone. Do Arduino wgrałem odpowiedni program i podłączyłem wszystko na płytce stykowej. Dodatkowo temperaturę można sprawdzać na komputerze komunikując się z płytką przez interfejs UART. #include <OneWire.h> #include <DallasTemperature.h> OneWire oneWire(A3); //Podłączenie do A3 DallasTemperature sensors(&oneWire); //Przekazania informacji do biblioteki #define przekaznik 7 void setup(void) { pinMode(przekaznik, OUTPUT); Serial.begin(9600); sensors.begin(); //Inicjalizacja czujnikow } void loop(void) { sensors.requestTemperatures(); //Pobranie temperatury czujnika Serial.print("Temperatura radiatora to: "); Serial.println(sensors.getTempCByIndex(0)); delay(1000); if(sensors.getTempCByIndex(0) >45){//Jesli temperatura radiatira jest wyzsza niz 45 stopni digitalWrite(przekaznik, HIGH); delay(100000); digitalWrite(przekaznik,LOW); } } Niestety, na ten moment nie posiadam termometru, którym mógł bym sprawdzić różnicę temperatury. Ale po około 30 min pracy napój w puszce lekko się schłodził. Może nie jest bardzo wydajna ale mi wystarcza.
  8. Dziękuje @Belferek masz rację jest dokładniejszy ale na wiele różnych sposobów próbowałem zrobić możliwość ustawiania czasu ale nie mogłem. Pracowałem długo nad tym modułem i nic nie wykombinowałem. Pozdrawiam!
  9. To mam pytanie. Zrobiłem projekt opublikowałem i zgłosiłem godzinę temu i nie jestem pewien czy się nada. Jest to budzik mierzący temperaturę i ma możliwość sterowania przekaźnikiem przez podczerwień. Ma możliwość zmieniania jasności podświetlenia. Z budowany na arduino nano. Niestety nie mogę wstawić zdjęć, ponieważ wyskakuje mi błąd.
  10. Witam! Na wstępie chcę zaznaczyć, że mam 13 lat. Chciał bym zaprezentować mój projekt. Jest nim zegar, który oprócz czasu pokazuje temperaturę z dwóch czujników oraz sterownie podczerwienią przekaźnik. Potrzebne części: Płytka Arduino (ja użyłem nano ale inne też się sprawdzą) Zegar czasu rzeczywistego DS3231 RTC Dwa czujnik temperatury DS18B20 Przekaźnik 1-kanałowy Czujnik podczerwieni z serii TSOP (używałem TSOP2238) Przycisk (np. tact swich) Wyświetlacz 16x2 z konwerterem I2C Potencjometr 10k Rezystor 4,7k Niestety nie mam możliwości dodać schematu. Podłączenie elementów do Arduino: Wszystkie GND i VCC należy podłączyć do GND i +5V SCL (Zegar + wyświetlacz) - A5 SDA (Zegar + wyświetlacz)-A4 Pin sygnałowy przekaźnika - 10 Przycisk - GND i 6 Dwa sygnały z czujników temperatury - A0 Sygnał czujnika podczerwieni - 11 Potencjometr należy przyczepić na konwerterze I2C ekranu zamiast zworki( dwa piny połączone zworką) Uwaga! Należy wstawić rezystor 4,7k pomiędzy pin sygnałowy a VCC czujników temperatury. Jego brak może uniemożliwić pomiar temperatury. Wystarczy umieścić jeden na oba czujniki. Kod zegara: #include <RTClib.h>//Dodawanie bibliotek #include <OneWire.h> #include <DallasTemperature.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> #include <IRremote.h> #define irPin 11 IRrecv irrecv(irPin); decode_results results; #define prz 10 int przStatus = LOW; OneWire oneWire(A0); //Podłączenie do A0 DallasTemperature sensors(&oneWire); //Przekazania informacji do biblioteki DateTime now;//Now to jest data i czas char daysOfTheWeek[7][12] = {"Ndz", "Pon", "Wt", "Sr", "Czw", "Pt", "Sob"}; RTC_DS3231 rtc; LiquidCrystal_I2C lcd(0x3F, 16, 2); //Ustawianie wyswietlacza lcd void showDate(void);//Ustawianie dayt czasu i dnia void showTime(void); void showDay(void); int przycisk = 6;//Przycisk do wyswietlania temperatury void setup () { Serial.begin(9600);// Ustawianie transmisji UART pinMode(przycisk, INPUT_PULLUP);//Ustawianie przycisku jako wejscie lcd.begin();//Wloczenie lcd lcd.backlight();//Wloczenie podswietlenia lcd sensors.begin();//Wloczenie czujnikow irrecv.enableIRIn(); pinMode(prz, OUTPUT);//Ustawienie if (! rtc.begin()) //Jesli nie moze znalesc RTC wyswietl { Serial.println("Nie moge znalesc RTC"); while (1); } if (rtc.lostPower()) //Jesli RTC nie ma zasilania to wyswietl { Serial.println("RTc nie ma zasilania ustaw godzine!"); rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); } rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); } void loop () { if (irrecv.decode(&results)) { //Jesli czujnik odbirze sygnał switch (results.value) { case 0xFF21DE: przStatus = ~przStatus; digitalWrite(prz, przStatus); delay(250); break; } irrecv.resume(); } if(digitalRead(przycisk)== LOW)//Jesli przycisk jest wcisniety { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temp(W)"); lcd.setCursor(9, 0); lcd.print("Temp(Z)"); sensors.requestTemperatures(); lcd.setCursor(1, 1); lcd.print(sensors.getTempCByIndex(0)); lcd.setCursor(10, 1); lcd.print(sensors.getTempCByIndex(1)); delay(4000); lcd.clear(); } now = rtc.now();//Ustawianie pętli showDate(); showDay(); showTime(); } void showDate()//Kod petli showDate { lcd.setCursor(0,0); lcd.print(now.day()); lcd.print('-'); lcd.print(now.month()); lcd.print('-'); lcd.print(now.year()); } void showDay()//Kod petli showDay { lcd.setCursor(11,0); lcd.print(daysOfTheWeek[now.dayOfTheWeek()]); } void showTime()//Kod petli showTime { lcd.setCursor(4,1); lcd.print(now.hour()); lcd.print(':'); lcd.print(now.minute()); lcd.print(':'); lcd.print(now.second()); lcd.print(" "); } Po kliknięciu przycisku na wyświetlaczu pojawia się temperatura wewnątrz i zewnątrz. Czujnik najlepiej dobrać do własnych potrzeb. Ja wybrałem DS18B20 ponieważ jest on dokładny oraz występuje w wygodnej wodoodpornej osłonce oraz bez niej . Jeśli wszystko działa to przy pomocy potencjometru powinna zmieniać się jasność wyświetlacza. Ja użyłem zegara czasu rzeczywistego DS3231 RTC ale jeśli macie możliwość zakupu DS1307 RTC albo RTC PCF8563 to kupcie jeden z tych dwóch. Ja z mojego nie jestem zadowolony ,ponieważ przysporzył mi wiele problemów. W 65 linijce kodu jest zawarty numer przycisku na pilocie "0xFF21DE". Każdy przycisk na pilocie ma swój indywidualny numer. Program sprawdzający takowy jest taki: #include <IRremote.h> #define irPin 11 IRrecv irrecv(irPin); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); } void loop() { if (irrecv.decode(&results)) { Serial.print("0x"); Serial.println(results.value, HEX); delay(250); irrecv.resume(); } } Po kliknięciu przycisku na pilocie przekaźnik zmieni swój stan. Jest wiele dobrych pilotów. Lecz jest jedna ważna sprawa. Mianowicie używamy tu czujnika działającego na częstotliwości 38kHz więc pilot tego typu działa świetnie ,ponieważ działa na tej samej częstotliwości. Lecz jeśli z jakiegokolwiek powodu nie macie pilota albo czujnika działającego na 38kHz to nie ma się czym przejmować. Sam używam innego pilota i wszystko działa. Wyświetlacz można dobrać dowolnej wielkości. Trzeba tylko zmienić ustawienia wyświetlacza. Pozdrawiam!
×
×
  • Utwórz nowe...