Skocz do zawartości

Program i sprzęt do zdalnej opieki nad roślinami. Projekt Arduino Uno


Pomocna odpowiedź

Program i sprzęt do zdalnej opieki nad roślinami.
Mam zamiar rozbudowywać ten system, dodać łączność internetową, wifi lub coś innego. Wymienić czujniki na lepsze, dodać więcej czujników, modyfikować program. Działanie pokazuję i opisuję na filmie. Dodaję też program z opisami. Jeśli widzicie błędy w programie lub jego opisach to chętnie przyjmę wskazówki. Mam nadzieję że opisy przydadzą się osobą które będą chciały skopiować pewne funkcje z programu, powinny ułatwić im tworzenie. Przy okazji będą się powoli uczyli i lepiej rozumieli co robią.

Link do filmu:
https://www.youtube.com/watch?v=4OGIwDkDweA
Program:

String odebraneDane = ""; //Ta linijka jest potrzebna do odbierania wiadomości
#define przekaznik1 2 // Przypisanie pinu numer 2 do nazwy przekaznik1, odpowiada za połączenie z przekaźnikiem nr 1
#define przekaznik2 3 // Przypisanie pinu numer 3 do nazwy przekaznik2, odpowiada za połączenie z przekaźnikiem nr 2
#define przekaznik3 4 // Przypisanie pinu numer 4 do nazwy przekaznik3, odpowiada za połączenie z przekaźnikiem nr 3
#define przekaznik4 5 // Przypisanie pinu numer 5 do nazwy przekaznik4, odpowiada za połączenie z przekaźnikiem nr 4
#define LED_C 8 // przypisanie pinu dla diody czerwonej
#define LED_N 12 // przypisanie pinu dla diody niebieskiej
#define brzeczyk 9 // przypisanie pinu dla brzęczyka
#define plywak 10 // przypisanie pinu dla pływaka
#define podstawka 11 // Przypisanie czujnika do wody w podstawce doniczki

void setup() { //Początkowe ustawienia dla programu
  pinMode(A0, INPUT); // Pomiar wilgotności gleby
  pinMode(A1, INPUT); // Pomiar wilgotności gleby
  pinMode(A2, INPUT); // Pomiar wilgotności gleby
  pinMode(A3, INPUT); // Pomiar wilgotności gleby
  pinMode(A4, INPUT); // Pomiar wilgotności gleby

  Serial.begin(9600); // Uruchomienie komunikacji
  
  pinMode(przekaznik1, OUTPUT); // Konfiguracja wyjść OUTPUT - wyjście - pin do wysyłania sygnału, można włączyć przepływ prądu lub wyłączyć
  pinMode(przekaznik2, OUTPUT); // Drugi przekaźnik też OUTPUT
  pinMode(przekaznik3, OUTPUT); // I trzeci
  pinMode(przekaznik4, OUTPUT); // I czwarty
  
  digitalWrite(przekaznik1, HIGH); //Ustawienie stanu pinów po uruchomieniu programu (HIGH - wysoki - dodatni - jest prąd)
  digitalWrite(przekaznik2, HIGH); //Drugi przekaźnik to samo, i tak do czwartego
  digitalWrite(przekaznik3, HIGH);
  digitalWrite(przekaznik4, HIGH);

  Serial.println("Program włączony"); // Wysłanie wiadomości do portu szeregowego, napisów z między nawiasów

  pinMode(LED_C, OUTPUT); //ustawienie pinu jako wyjście do sterowania diodą czerwoną
  pinMode(LED_N, OUTPUT); //ustawienie pinu jako wyjście do sterowania diodą niebieską
  pinMode(brzeczyk, OUTPUT); //ustawienie pinu jako wyjście do sterowania brzęczykiem

  pinMode(plywak, INPUT); //ustawienie pinu jako wejście, sprawdza czy do pinu dochodzi prąd. Powiadamia o stanie pływaka
  pinMode(podstawka, INPUT); //ustawienie pinu jako wejście, sprawdza czy do pinu dochodzi prąd. Powiadamia o stanie pływaka

  digitalWrite(LED_C, LOW); //Ustawienie stanu początkowego diody czerwonej
  digitalWrite(LED_N, LOW); //Ustawienie stanu początkowego diody niebieskiej
  digitalWrite(brzeczyk, LOW); //Ustawienie stanu początkowego brzęczyka
}

void loop() { // Program pętli (loop), czyta od góry do dołu, gdy skończy robi to jeszcze raz, i jeszcze raz, i tak w kółko jeśli ma zasilanie

if(Serial.available() > 0) { //Czy Arduino odebrało dane
    odebraneDane = Serial.readStringUntil('\n'); 

    if (odebraneDane == "ps") { //Jeśli odebrano wiadomość: ps (Skrót od podlej Szeflere)
      digitalWrite(przekaznik1, LOW); //uruchomienie silnika w pompce przez przełączenie przekaźnika zmianą napięcia w pinie Arduino
      delay(5000); // Czas w którym silnik ma być włączony (przez 3000 milisekund czyli 3 sekundy)
      digitalWrite(przekaznik1, HIGH); //wyłączenie silnika w pompce przez powrót przekaźnika do stanu początkowego
    }
    if (odebraneDane == "pa") { //Jeśli odebrano wiadomość: pa (Skrót od podlej Areke)
      digitalWrite(przekaznik2, LOW); 
      delay(5000);
      digitalWrite(przekaznik2, HIGH); 
    }
    if (odebraneDane == "pb") { //Jeśli odebrano wiadomość: pb (Skrót od podlej Benjamina)
      digitalWrite(przekaznik3, LOW); 
      delay(5000);
      digitalWrite(przekaznik3, HIGH); 
    }
    if (odebraneDane == "pg") { //Jeśli odebrano wiadomość: pg (Skrót od podlej Ginsenga)
      digitalWrite(przekaznik4, LOW); 
      delay(5000);
      digitalWrite(przekaznik4, HIGH); 
    }

    if (odebraneDane == "swg") { //If znaczy jeśli, informacje za nawiasem mówią co się dzieje jeśli-
    //dostaje się wiadomość, w tym przypadku są nią 3 litery: swg

  int sensorValue = analogRead(A0); // Odczyt wartości z portu analogowego
  float percentage = 100.0 - ((float)sensorValue / 1023.0 * 100.0); // Przeliczenie odwrotne

  Serial.print(percentage); //nazwa z konkretnego czujnika przeliczona na procenty
  Serial.println("% Wilgotnosc Gleby Szeflera Pin A0, 1 z 5 roślin"); // Informacje do wyświetlenia. Słowo "Serial" na początku oznacza że
  // informacja ma być wyświetlona w porcie szeregowym
  delay(3000); // Opóźnienie czasowe

    int sensorValueA1 = analogRead(A1); // Odczyt wartości z portu analogowego
  float percentageA1 = 100.0 - ((float)sensorValueA1 / 1023.0 * 100.0); // Przeliczenie odwrotne

  Serial.print(percentageA1);
  Serial.println("% Wilgotnosc Gleby Palma Areka Pin A1, 2 z 5 roślin");
  delay(3000);

    int sensorValueA2 = analogRead(A2); // Odczyt wartości z portu analogowego
  float percentageA2 = 100.0 - ((float)sensorValueA2 / 1023.0 * 100.0); // Przeliczenie odwrotne

  Serial.print(percentageA2);
  Serial.println("% Wilgotnosc Gleby Paproć Nefrolepis Pin A2, 3 z 5 roślin");
  delay(3000);

    int sensorValueA3 = analogRead(A3); // Odczyt wartości z portu analogowego
  float percentageA3 = 100.0 - ((float)sensorValueA3 / 1023.0 * 100.0); // Przeliczenie odwrotne

  Serial.print(percentageA3);
  Serial.println("% Wilgotnosc Gleby Ficus Benjamina Pin A3, 4 z 5 roślin");
  delay(3000);

    int sensorValueA4 = analogRead(A4); // Odczyt wartości z portu analogowego
  float percentageA4 = 100.0 - ((float)sensorValueA4 / 1023.0 * 100.0); // Przeliczenie odwrotne

  Serial.print(percentageA4);
  Serial.println("% Wilgotnosc Gleby Fikus Ginseng Pin A4, 5 z 5 roślin");
  delay(3000);
  }
}
{
  if (digitalRead(plywak) == LOW) { //(warunek - "if". To co jest między nawiasami "{" i "}" za warunkiem jest jego pętlą)

Serial.println("Alarm !!! Niski poziom wody w zbiorniku numer 1 !!! Alarm !!!"); //wiadomość wyświetlana w porcie szeregowym za każdym razem
//po wykonaniu pętli warunku programu
//Niżej w pętli są wiersze do mrugania diody
    digitalWrite(LED_C, HIGH); // Włączenie diody czerwonej
    digitalWrite(brzeczyk, HIGH); // Włączenie brzęczyka
    delay(500); // Pól sekundy oczekiwania
    digitalWrite(LED_C, LOW); // Wyłączenie diody czerwonej
    digitalWrite(brzeczyk, LOW); // Wyłączenie brzęczyka
    delay(500); // Znów Pół sekundy oczekiwania
    digitalWrite(LED_C, HIGH); // Znów włączenie diody czerwonej, i tak dalej (już bez brzęczyka)
    delay(500);
    digitalWrite(LED_C, LOW);
    delay(500);
    digitalWrite(LED_C, HIGH);
    delay(500);
    digitalWrite(LED_C, LOW);
    delay(500);
    digitalWrite(LED_C, HIGH);
    delay(500);
    digitalWrite(LED_C, LOW);
    delay(500);
    digitalWrite(LED_C, HIGH); //Pozostawienie diody włączonej podczas sprawdzania kolejnych pętli, jeśli sygnał wciąż dociera do arduino
    // (Jeśli w zbiorniku nadal nie ma wody [No chyba że jest jakaś awaria sprzętu, też trzeba czasem sprawdzić])
  } else {
digitalWrite(LED_C, LOW);
    digitalWrite(brzeczyk, LOW);

  }
  if (digitalRead(podstawka) == LOW) { //Jeśli w podstawce jest woda, sygnał dociera do przypisanego pinu w arduino to:

Serial.println("Alarm !!! W podstawce doniczki Palmy Areki jest woda !!! Alarm !!!"); //wiadomość wyświetlana w porcie szeregowym za każdym razem
//po wykonaniu pętli warunku programu (warunek - "if". To co jest w nawiasie za warunkiem jest jego pętlą)
    digitalWrite(LED_N, HIGH);  // Tu program do diody niebieskiej, podobny do programu diody czerwonej
    digitalWrite(brzeczyk, HIGH);
    delay(500);
    digitalWrite(LED_N, LOW);
    digitalWrite(brzeczyk, LOW);
    delay(500);
    digitalWrite(LED_N, HIGH);
    delay(500);
    digitalWrite(LED_N, LOW);
    delay(500);
    digitalWrite(LED_N, HIGH);
    delay(500);
    digitalWrite(LED_N, LOW);
    delay(500);
    digitalWrite(LED_N, HIGH);
    delay(500);
    digitalWrite(LED_N, LOW);
    delay(50);
    digitalWrite(LED_N, HIGH);
  } else { // Jeśli w podstawce nie ma wody, sygnał nie dociera do przypisanego pinu w arduino to:
    digitalWrite(LED_N, LOW); // Dioda niebieska jest wyłączona
    digitalWrite(brzeczyk, LOW); // brzęczyk jest wyłączony 
  }
 }
} // Jeśli zauważyłeś błąd to mnie poinformuj, koniec programu, zamknięcie nawiasu pętli (loop)






Dzięki temu tematowi nie będę musiał tak często pytać ludzi na czacie. Nie tracąc czasu pytam:
Ile czujników mogę bezpiecznie zasilać z Arduino Uno? Kable 10-11 metrów w jedna stronę?
Jak bezpiecznie podłączyć zasilanie zewnętrzne do czujników tak aby pomiary były prawidłowe i nie uszkodzić płytki Arduino?

Edytowano przez Prometeuszanin
Link do komentarza
Share on other sites

Najlepiej zasilić czujniki z innego źródła niż ardu...to znaczy może być z jednego zasilacza ale dla czujników osobna przetwornica, a dla Ardu osobne zasilanie...ile ma być tych czujników i jakie? Poczytaj o ich komunikacji na odległość bo jeśli chcesz dać 10 metrów to może okazać się za daleko dla niektórych typów komunikacji...z drugiej strony można się pokusić o czujniki bezprzewodowe, jakieś najtańsze ESP,stabilizator,protokół esp-now i do tego jakiś tryb uśpienia i dane wysyłane powiedzmy co 1-2min. Wtedy jeden Aku 18650 starczy na długo, no ale to zależy czy chciałbyś się w to bawić

Link do komentarza
Share on other sites

1 godzinę temu, farmaceuta napisał:

Najlepiej zasilić czujniki z innego źródła niż ardu...to znaczy może być z jednego zasilacza ale dla czujników osobna przetwornica, a dla Ardu osobne zasilanie...ile ma być tych czujników i jakie? Poczytaj o ich komunikacji na odległość bo jeśli chcesz dać 10 metrów to może okazać się za daleko dla niektórych typów komunikacji...z drugiej strony można się pokusić o czujniki bezprzewodowe, jakieś najtańsze ESP,stabilizator,protokół esp-now i do tego jakiś tryb uśpienia i dane wysyłane powiedzmy co 1-2min. Wtedy jeden Aku 18650 starczy na długo, no ale to zależy czy chciałbyś się w to bawić

Czujniki będę zmieniał na różne. Problem w tym że nie wiem jak odpowiednio zabezpieczyć Arduino przed spaleniem z powodu zbyt dużego napięcia lub zwarcia. Czujniki bezprzewodowe mogą być zbyt drogie z powodu ich ilości, myślę że taniej będzie gdy użyję 2 urządzenia do łączności z kablami np. 5 metrów (lub nawet 2 metry) do czujników z jednym zasilaniem i płytką z wifi wysyłającą dane z np. 15 czujników bez wifi, niż mieć 15 czujników z wifi. Też oszczędność na energii pobieranej przez nadawanie sygnału przez wifi. Dane z czujników chcę pobierać o różnych godzinach więc jeszcze rzadziej niż co parę minut. Przewiduję zasilanie z akumulatorów AGM o dużej pojemności, energię z nich chcę wykorzystać do różnych rzeczy więc przyda się pojemny akumulator. O komunikacji na odległość poczytam, dzięki za podpowiedź.

Pytania:
Jak najtaniej, bezpiecznie połączyć wspólnie masę akumulatora 12V i GND w Arduino?
Czy połączenie z Arduino do przekaźnika trzeba zabezpieczyć diodą krzemową aby impuls elektromagnetyczny z przekaźnika nie uszkodził Arduino?

Link do komentarza
Share on other sites

1 godzinę temu, Prometeuszanin napisał:

Jak najtaniej, bezpiecznie połączyć wspólnie masę akumulatora 12V i GND w Arduino?

Normalnie...łączysz bez żadnych czarów i działa...do Ardu zakup sobie jakąś przetwornice np. lm2596 i drugą dla czujników...koszt koło 15zl plus ewentualną przesylka...

 

1 godzinę temu, Prometeuszanin napisał:

Czy połączenie z Arduino do przekaźnika trzeba zabezpieczyć diodą krzemową aby impuls elektromagnetyczny z przekaźnika nie uszkodził Arduino?

To zależy czy pytasz o sam przekaźnik czy moduł z przekaźnikiem...jeśli to pierwsze to tak trzeba zabezpieczyć diodą i dorzucić tranzystor do sterowania...kup sobie odrazu moduł coś jak poniżej...masz tu odrazu optoizolacje (czyli odseparowanie "stopnia" mocy od logiki) tu akurat podwojny moduł...1775179881_images(24).jpeg.thumb.png.cd019957f1d2b2e853952f6c7f5ab2b1.png 

Jeżeli planujesz użycie Wi-Fi to odrazu zapomnij o Uno a zainteresuj się esp32...masz odrazu Wi-Fi Bluetooth i o wiele więcej niż Ci potrzeba na dzień dzisiejszy a cena podobna, i programujesz praktycznie tak samo jak Arduina w IDE...a co do komunikacji to poczytaj o czymś takim jak "Telegram" (aplikacja na Androida) możesz się komunikować z ESP na zasadzie czatu...jak Messenger czy Whatsapp

 

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

58 minut temu, farmaceuta napisał:

Normalnie...łączysz bez żadnych czarów i działa...do Ardu zakup sobie jakąś przetwornice np. lm2596 i drugą dla czujników...koszt koło 15zl plus ewentualną przesylka...

Cieszę się że obejdzie się bez czarów. Zamiast przetwornicy używam stabilizatorów napięcia z kondensatorami. Pytałem aby wiedzieć czy zasilanie np. 12 v 3 Ampery połączone z GND Arduino nie uszkodzi płytki. nie zamierzam w chwili obecnej podłączać tak wysokiego napięcia do GND ale chcę to wiedzieć, też po to by wiedzieć czy 5 V 3 A wysłane do GND nie uszkodzi płytki, chcę znać limity jeśli takowe są.

 

1 godzinę temu, farmaceuta napisał:

To zależy czy pytasz o sam przekaźnik czy moduł z przekaźnikiem...jeśli to pierwsze to tak trzeba zabezpieczyć diodą i dorzucić tranzystor do sterowania...kup sobie odrazu moduł coś jak poniżej...masz tu odrazu optoizolacje (czyli odseparowanie "stopnia" mocy od logiki) tu akurat

Używam takich modułów, ale teraz wiem aby zwrócić uwagę na optoizolacje przy montażu przekaźników.

 

1 godzinę temu, farmaceuta napisał:

Jeżeli planujesz użycie Wi-Fi to odrazu zapomnij o Uno a zainteresuj się esp32...masz odrazu Wi-Fi Bluetooth i o wiele więcej niż Ci potrzeba na dzień dzisiejszy a cena podobna, i programujesz praktycznie tak samo jak Arduina w IDE...a co do komunikacji to poczytaj o czymś takim jak "Telegram" (aplikacja na Androida) możesz się komunikować z ESP na zasadzie czatu...jak Messenger czy Whatsapp

Pomysł użycia takiej aplikacji podoba się mi ale w modułach ESP32 które sprawdzałem jest mało wejść i pamięci w urządzeniu. Myślę że lepiej będzie użyć Arduino Mega 2560 i dołączyć do niego moduł wifi do komunikacji, to też pozwoli mi zmieniać rodzaj łączności inną radiową lub np. Ethernet 

Link do komentarza
Share on other sites

10 minut temu, Prometeuszanin napisał:

w modułach ESP32 które sprawdzałem jest mało wejść i pamięci w urządzeniu. Myślę że lepiej będzie użyć Arduino Mega 2560

Ekhm... ESP32 w takiej normalnej wersji ma 512 kB RAM i 4 MB flasha. Myślisz, że Mega 2560 ma więcej?

A do dodatkowych pinów są ekspandery.

 

Link do komentarza
Share on other sites

2 minuty temu, ethanak napisał:

Ekhm... ESP32 w takiej normalnej wersji ma 512 kB RAM i 4 MB flasha. Myślisz, że Mega 2560 ma więcej?

A do dodatkowych pinów są ekspandery.

 

Teraz widzę, źle sprawdziłem. W takim razie z użyciem ekspanderów to może być lepsze rozwiązanie, dzięki

Link do komentarza
Share on other sites

Polecam aplikację Supla, sam używam, nada się idealnie. Oglądnij kilka moich filmów to pewnie Ci się spodoba. Supla ma też już zaimplementowane powiadomienia na telefon, będą u Ciebie przydatne.

Link do komentarza
Share on other sites

(edytowany)

Myślę że mogę dodać bezpiecznik 0,5 A przy masie płytki dla zabezpieczenia.
Po podłączeni wspólnej masy pływak działa poprawnie, przekaźniki też już podłączyłem do osobnego zasilania.

 

1 godzinę temu, SOYER napisał:

Polecam aplikację Supla, sam używam, nada się idealnie. Oglądnij kilka moich filmów to pewnie Ci się spodoba. Supla ma też już zaimplementowane powiadomienia na telefon, będą u Ciebie przydatne.

Gdzie znajdę twoje filmy?

 

Edytowano przez Prometeuszanin
Link do komentarza
Share on other sites

1 godzinę temu, Prometeuszanin napisał:

Myślę że mogę dodać bezpiecznik 0,5 A przy masie płytki dla zabezpieczenia.
Po podłączeni wspólnej masy pływak działa poprawnie, przekaźniki też już podłączyłem do osobnego zasilania.

 

Gdzie znajdę twoje filmy?

 

Na forum Supla ma taki sam nick jak tutaj.

Tutaj krótki filmik, tak trafisz do innych

 

Link do komentarza
Share on other sites

3 godziny temu, Prometeuszanin napisał:

 Pytałem aby wiedzieć czy zasilanie np. 12 v 3 Ampery połączone z GND Arduino nie uszkodzi płytki. nie zamierzam w chwili obecnej podłączać tak wysokiego napięcia do GND ale chcę to wiedzieć, też po to by wiedzieć czy 5 V 3 A wysłane do GND nie uszkodzi płytki, chcę znać limity jeśli takowe są.

Napięcie jest nie istotne...jedno urządzenie może być na 5v a drugie na 20v, bez różnicy...ty masz połączyć wszystkie masy (Arduino, czujniki etc) bo inaczej czujniki nie będą działać poprawnie

Link do komentarza
Share on other sites

3 godziny temu, Prometeuszanin napisał:

Pomysł użycia takiej aplikacji podoba się mi ale w modułach ESP32 które sprawdzałem jest mało wejść i pamięci w urządzeniu. 

Nie powiedziałeś dalej jakich czujników będziesz używał....to że będzie ich 10 np. nie znaczy że każdy potrzebuje osobnych wejść...napisz jakie to czujniki

Link do komentarza
Share on other sites

9 minut temu, farmaceuta napisał:

Nie powiedziałeś dalej jakich czujników będziesz używał....to że będzie ich 10 np. nie znaczy że każdy potrzebuje osobnych wejść...napisz jakie to czujniki


Czujnik wilgotności gleby M143 na złączu analogowym
"Czujnik Poziomu Wody Deszczu Opadów Arduino" mam na pinie cyfrowym.
1644661190_2024-01-26(6).thumb.png.f035fb9c85c8bec7c137b0a20712c7b6.png
Już brakuje mi wejścia analowego do termometru
Czujniki będę zmieniał, chcę przetestować różne. W jednym z artykułów na Forbocie czytałem że najlepiej będzie wykorzystać droższe profesjonalne czujniki, może uda się zrobić podobne samodzielnie. Na chwilę obecną mam M143 i powinny wystarczyć aby nie dopuścić do przesuszenia i przelania rośliny.

14 minut temu, farmaceuta napisał:

Napięcie jest nie istotne...jedno urządzenie może być na 5v a drugie na 20v, bez różnicy...ty masz połączyć wszystkie masy (Arduino, czujniki etc) bo inaczej czujniki nie będą działać poprawnie

Podłączyłem i wszystko działa.
419952755_1610770023063584_3185261159723709810_n.thumb.jpg.124d7c086ef1743a733d53e619a8769a.jpg422169717_1300703897287202_7141203761335527519_n.thumb.jpg.e9c6486fca052c077ec8318e789633ed.jpg419950591_1081454976402500_2230717951407685196_n.thumb.jpg.4768474348db02f58a4a784e120acad4.jpg


Teraz zajmę się nauką obsługi wifi, znacie dobre poradniki?
421246962_344701725143803_2496778568033800544_n.thumb.jpg.fd25fb4139889f12dc0c330d635cef52.jpg

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.