Sadržaj:

Treperavi most svijeća: 6 koraka (sa slikama)
Treperavi most svijeća: 6 koraka (sa slikama)

Video: Treperavi most svijeća: 6 koraka (sa slikama)

Video: Treperavi most svijeća: 6 koraka (sa slikama)
Video: Лиза Кристин: Фотосвидетельства современного рабства 2024, Studeni
Anonim
Image
Image

Ovo uputstvo pokazuje kako pretvoriti jednostavan most sa svijećama sa statičkim svjetlom u lijepo užareno svjetlo raspoloženja s beskrajnim varijacijama treperavih svjetla, svjetlucanja, valovitih uzoraka i čega već. Kupio sam od After Christmas Sales mosta za svijeće za 8 €. Ima 7 LED svjetala i neki zidni adapter od 33 V 3 W. Sjaji svijetlom i toplom bijelom bojom i bit će savršen za ovaj projekt, gdje ću staviti Arduino da svijeće zatrepere. Najpopularniji Arduino je Arduino Uno. U ovom projektu koristit ću Arduino Mega 2560.

Odbacit ću napajanje od 30 V i kao izvor napajanja koristit ću jednostavnu bateriju od 5 V namijenjenu mobilnim telefonima.

O bankama napajanja dobro je znati da imaju unutarnji krug koji pretvara bateriju od 3,7 V u 5 V. Budući da proces troši određenu snagu, banka napajanja sama se isključuje, ako se ne koristi. Ako se banka napajanja koristi za DIY gadgete temeljene na Arduinu, gadget se ne može samo prebaciti u stanje mirovanja radi uštede energije i ponovno pokrenuti nakon nekoliko minuta. To će isključiti power bank. Ovaj treperavi most za svijeće nema način mirovanja. On neprestano koristi energiju, držeći banku napajanja aktivnom, sve dok se kabel za napajanje ne odvoji.

Videozapis prikazuje most svijeće u statičkom načinu rada i u potpunom treperenju. Potpuno treperenje doista je prilično neugodno za oči, dok ga video pomalo zaglađuje. Nakon što je hardver popravljen, uključujući rezanje kabela, lemljenje novih spojeva i dodavanje nekih komponenti, svi željeni svjetlosni uzorci stvaraju se pisanjem koda za Arduino. Obrasci koje uključujem u ovu uputu su:

  • 4 različita trepereća svjetla koja oponašaju prave svijeće
  • 2 različita treperenja (nasumično bljeskanje inače statičkog svjetla)
  • 2 različita uzorka valova
  • jednostavno statičko svjetlo

Promjena uzoraka odvija se pritiskom na gumb, jednim elementom korisničkog sučelja. Što više uzoraka želite i što više prilagodbi želite, više gumba i gumba morate dodati. Ali ljepota leži u jednostavnosti. Smanjite broj uzoraka za odabir. Odaberite najbolje postavke tijekom kodiranja i testiranja, a ne dodavanjem mnogo kontrola hardveru.

Pribor

  • 1 LED svijećnjak sa 7 žarulja. Uvjerite se da se radi o niskonaponskom DC modelu, s baterijama ili sa zidnim izvorom napajanja, koji pretvara smrtonosne 110 - 240 V AC u nekih 6 - 30 V DC. Stoga je potpuno sigurno hakirati most svijeća.
  • 1 Arduino Mega (može poslužiti bilo koji drugi mikrokontroler, samo provjerite možete li ga programirati)
  • 1 ploča za izradu prototipa
  • kratkospojne žice i drugu žicu
  • alat za lemljenje
  • multimetar
  • 7 otpornika, 120 Ω
  • 1 gumb (pokazat ću kako umjesto toga možete koristiti ugrađeni gumb na Arduinu)
  • Darlingtonova tranzistorska IC za 7 tranzistora, ULN2803AP će poslužiti (ako koristite Arduino Uno ili Meaga, ovo vam zapravo ne treba)
  • Napajanje od 5 V namijenjeno mobilnim telefonima

Korak 1: Ispitajte što imate

Ispitajte što imate
Ispitajte što imate
Ispitajte što imate
Ispitajte što imate

Saznajte na kojem naponu radi svaka LED dioda i koliko struje prolazi.

  1. Otvorite dno mosta za svijeće. Pronađite dvije žice koje idu do jedne svijeće.
  2. Skinite izolaciju s kabela otkrivajući bakrene žice bez rezanja bakrenih žica.
  3. Uključite svjetla (opustite se, to je samo nekoliko volti) i izmjerite napon na otkrivenim bakrenim žicama.
  4. Odrežite kabel na jednoj od mjernih točaka (na ovom mjestu svjetla se, naravno, gase), skinite malo izolacije (3 - 4 mm) na oba kraja. Izmjerite struju koja prolazi. Ono što radite je da ponovno spojite odsječeni kabel s multimetrom, puštajući svu struju da teče kroz multimetar, što vam sada govori o količini struje.

Moja čitanja

Napon na jednoj svijeći (korak 3): 3,1 V

Imajte na umu da je izvor napajanja mosta svijeće bio 33 V. Dakle, sedam puta 3,1 V iznosi samo 21,7 V. Na nekim svijećama mora postojati dodatni otpornik. Da sam izmjerio napon svijeće, morao je biti nekih 11 V.

Struja koja teče kada svijetli svijeća (korak 4): 19 mA

Napajat ću sve s baterijom od 5 V 2 A. Za svijeće moram spustiti napon s 5 V na 3 V. Treba mi otpornik koji će pri 19 mA struji pasti napon 2 V.

2 V / 0,019 A = 105 Ω

Rashod snage je:

2 V * 19 mA = 38 mW

To je zanemarivo. Mnogo bi više moglo otpuhati sam otpornik. Ipak, bez otpornika od 105 Ω mogao bih upaliti LED. Imam otpornike od 100 Ω i 120 Ω. Idem sa 120 Ω. Daje veću zaštitu.

Testiranje svih 7 svijeća s 3 V dalo je jako svjetlo, osim jedne svijeće, koja je imala samo jako prigušeno svjetlo, sa samo nekih 0,8 mA. Ovo je bila moja svijeća s dodatnim otpornikom. Pokazalo se da ostale svijeće uopće nemaju otpornike. LED svjetla koja se koriste u lusteru jednostavno su namijenjena za 3 V! Svijeća s dodatnim otpornikom morala se otvoriti blagim nasiljem, ali ništa se nije slomilo. Otpornik je pronađen tik ispod sićušne LED diode unutar plastične žarulje svijeće. Morao sam ga odlemiti i ponovno spajati žice. Bilo je pomalo neuredno, budući da je lemilica zagrijala malo vrućeg ljepila, koje je korišteno za sastavljanje.

Tako da sada znam da koji god izvor napajanja koristim, bez obzira na napon, moram smanjiti napon na 3 V dopuštajući prolaz 19 mA.

Da sam bio bliže upoznat sa LED tehnologijom, prepoznao bih vrstu korištene LED diode i znao bih da joj je potrebno 3 V.

Korak 2: Malo lemljenja

Malo lemljenja
Malo lemljenja
Malo lemljenja
Malo lemljenja

U ovom koraku povezujem sve pozitivne (+) žice od 5 svijeća na jednu žicu. Zatim dodam zasebnu negativnu (-) žicu za svaku svijeću. LED svjetlo svijetli samo kada znakovi "+" i "-" idu udesno. Budući da od svake svijeće imate samo dva identična kraja kabela, morate testirati koji je '+', a koji '-'. Za to vam je potreban izvor napajanja od 3 V. Imao sam mali paket baterija koji je uključivao dvije AAA baterije. Novčanica od 3 V odlično služi i za testiranje.

Mostu za svijeće potrebno je 8 kabela za prolaz između Arduina i mosta. Ako nađete kabel s 8 izoliranih žica, to bi bilo sjajno. Jedna žica mora držati 120 mA, ostale nose samo 20 mA. Odlučio sam se za 4 dvožilna kabela, koje sam slučajno imao.

Prva slika prikazuje kako sam pripremio jednu zajedničku žicu za povezivanje svih žica '+' sa svijeća. Skinite izolaciju sa zajedničke žice za svaku svijeću. Dodajte komad skupljajuće izolacijske cijevi (žuta traka na slici) za svaki spoj i postavite ga na pravo mjesto zajedničkog kabela. Lemiti žicu '+' od svake svijeće do njezinog zgloba, prekriti spoj skupljajućom cijevi i skupiti je. Naravno, jednostavna ljepljiva traka je također u redu, sve će na kraju biti prekriveno.

Druga slika prikazuje žice '-' koje su potrebne svakoj svijeći. Uobičajena žica '+' ide izravno na 5 V pin Arduina (ili možda kroz matičnu ploču). Svaka žica '-' ide na svoj pin tranzistorske IC (opet, vjerojatno kroz matičnu ploču).

Arduino se često naziva i prototipna ploča. Matična ploča je također nešto što koristite u prototipima. Ono što opisujem u ovom uputstvu je prototip. Neću ga razviti u otmjeni sjajni proizvod sa svime skrivenim u lijepim plastičnim kutijama. Prelazak s prototipa na sljedeću razinu značilo bi zamijeniti matičnu ploču s tiskanom pločom i lemljenim komponentama, pa čak i zamijeniti Arduino samo jednostavnim čipom mikrokontrolera (zapravo je takav čip mozak Arduina). I da sve stane u plastično kućište ili unutar sjeckanog mosta svijeće.

Korak 3: Veze

Veze
Veze
Veze
Veze
Veze
Veze
Veze
Veze

O Arduinosu, preuzeto sa ove stranice:

  • Ukupna maksimalna struja po ulazno/izlaznom pinu: 40mA
  • Zbir struja iz svih ulazno/izlaznih pinova zajedno: 200mA

Moje svijeće troše po 19 mA, kad ih napaja 3 V. Ima ih sedam, što čini 133 mA. Tako sam ih mogao napajati izravno s izlaznih iglica. Međutim, imam neke rezervne kartice za tranzistor Darlington. Pa sam pomislio, zašto ne. Moj sklop to radi na pravi način: pinovi podataka služe samo za signale, a ne za napajanje. Umjesto toga koristim 5 V pin na Arduinu za napajanje LED svjetala. Prilikom testiranja, prijenosno računalo imam spojeno na Arduino. Sve se napaja s prijenosnog USB -a koji daje 5 V. Arduino Mega ima vlastiti osigurač koji puše na 500 mA radi zaštite računala. Moje svijeće troše najviše 133 mA. Arduino vjerojatno puno manje. Sve radi dobro, kad ga napaja prijenosno računalo, pa je upotreba baterije od 5 V spojene na USB priključak Arduina sasvim u redu.

Pinovi podataka D3 - D9 idu na IC ULN2803APGCN. LED diode rade na 3 V. Svaka žarulja je spojena na izvor od 5 V i dalje na otpornik od 120 Ω. Dalje do jednog kanala IC -a, koji napokon povezuje krug sa zemljom putem darlington tranzistora u IC -u.

Krug se dodaje pritiskom na gumb kako bi se omogućila neka radnja korisnika. Most za svijeće bi tako mogao imati nekoliko programa koje bira korisnik.

Gumb u krugu spojen je na RESET i GND. Upravo to radi ugrađena tipka za resetiranje. Budući da ne kapsuliram sve u plastično kućište, koristim gumb za resetiranje na Arduinu za kontrolu programa. Dodavanje gumba prema slici funkcionirat će točno poput gumba za resetiranje ploče. Program radi tako da zapamti koji je lagani program korišten zadnji put kada se program pokrenuo. Tako će svaki reset preći na sljedeći program svjetla.

Fotografije pokazuju kako novi kabeli izlaze s mosta, kako sam položio tranzistorsku IC i otpornike na ploču i kako se žice kratkospojnika spajaju na Arduino Mega. Prerezao sam 4 žice kratkospojnika muško-muško u 8 polovica žica koje sam lemio na 8 kabela koji izlaze iz mosta svijeće. Na ovaj način mogu samo utaknuti kabele u ploču.

Alternativa bez tranzistora

U prethodnom koraku pripremio sam zajedničku žicu '+' za svijeće i odvojene žice '-' koje prolaze kroz tranzistorsku IC do zemlje. Kad jedan pin podataka pređe visoko, odgovarajuća žica "-" uzemljuje se kroz njegov tranzistor i LED svjetla.

Spajanje žica '-' izravno na podatkovne pinove Arduina također bi funkcioniralo, ali uvijek imajte na umu koliko strujno pinovi podataka mogu izdržati! Ovaj pristup bi trebao promijeniti moj program. Za paljenje svijeća bit će potrebni da se pinovi podataka spuste. Da biste koristili moj program takav kakav jest, morate u svijećama prebaciti '+' i '-'. Imajte zajedničku žicu za svijeće koja ide do GND-a na Arduinu. Zasebne žice prolaze između žice '+' svijeće i podatkovnog pina Arduina.

Korak 4: Svjetlosni programi

Moj program, koji predstavljam u sljedećem koraku, prolazi kroz 9 lakih programa. Pritiskom na gumb svjetla će se zamračiti na sekundu, a zatim se pokreće sljedeći program svjetla. Programi su sljedeći:

  1. Snažno treperenje. Svijeće nasumično trepere. Ovo izgleda vrlo neugodno kad ih gledate s velike udaljenosti, ali bi moglo izgledati dobro iz daljine, a možda i iza prozora s mračnim potkrovljem. No, vaš bi susjed mogao nazvati vatrogasce.
  2. Meko treperenje. Izgleda jako dobro. Kao prave svijeće u prostoriji bez propuha.
  3. Različito treperenje. Svijeće se glatko izmjenjuju između jakog i mekog treperenja u intervalima od 30 sekundi.
  4. Različito treperenje. Kao #3, ali svaka svijeća varira svojim tempom između 30 i 60 s.
  5. Brzo svjetlucanje. Svijeće sjaje na statičkoj zamračenoj razini i nasumično svjetlucaju. U prosjeku se pojavi jedna svjetlucanje svake sekunde.
  6. Polako svjetlucanje. Kao #5, ali puno sporije.
  7. Brzi val od srednje gornje svijeće do nižih.
  8. Sporo val od srednje gornje svijeće do nižih.
  9. Statičko jako svjetlo. Morao sam ovo uključiti, nisam se želio riješiti izvorne funkcije.

Korak 5: Kôd

/*

FLICKERING CANDLE BRIDGE */ // Proglasi varijablu načina rada da zadrži stanje // putem operacije resetiranja _atributa _ ((odjeljak (". Noinit"))) nepotpisani int način; // Kad se program pokrene nakon resetiranja, ovaj dio memorije // nije inicijaliziran, već zadržava vrijednost // koju je imao prije resetiranja. Prilikom prvog pokretanja // programa, on ima slučajnu vrijednost. / * * Klasa svijeća sadrži sve što je potrebno * za izračun razine svjetlosti za * treperavu svijeću. */ razredna svijeća {private: long maxtime; dugi mintime; dugi maxlit; dugi minlit; duga srednja klasa; dugo origmaxtime; dugo izvorno vrijeme; dugi origmaxlite; dugi originminlite; dugi origmeanlit; dugo deltamaxtime; dugo deltamintime; dugi deltamakslit; dugi deltaminlit; dugi deltameanlit; dugi lforat; dugo izjednačavanje; dug početak; duga meta; plovak faktor; dugo ciljno vrijeme; dugo vrijeme početka; dugo deltatime; void newtarget (void); duga jednociljna (ništavna); javna: svijeća (long mat, long mit, long mal, long mil, long mel, long eo); duga razina (praznina); initlfo void (dugi deltamat, dugi deltamit, dugi deltamal, dugi deltamil, dugački deltamean, duga stopa); void setlfo (void); }; svijeća:: svijeća (duga mat, duga mit, duga mal, duga mil, duga mel, duga eo): maxtime (mat), mintime (mit), maxlite (mal), minlite (mil), meanlite (mel), evenout (eo), origmaxtime (mat), origmintime (mit), origmaxlite (mal), origminlite (mil), origmeanlite (mel) {meta = srednja vrijednost; newtarget (); } / * * levelnow () vraća razinu svjetlosti koju bi svijeća trebala imati trenutno. * Ova funkcija vodi računa o definiranju nove slučajne razine svjetlosti i * vremenu koje je potrebno za postizanje te razine. Promjena nije linearna, * već slijedi sigmoidnu krivulju. Kad nije vrijeme za definiranje nove * razine, funkcija jednostavno vraća razinu svjetla. */ duga svijeća:: levelnow (void) {duga pomoć, sada; plovak t1, t2; sada = millis (); if (now> = targettime) {help = target; newtarget (); povratna pomoć; } else {// help = target * (millis () - starttime) / deltatime + start * (targettime - millis ()) / deltatime; t1 = float (targettime - now) / deltatime; t2 = 1. - t1; // Ovo je pomoć pri izračunavanju sigmoida = t1*t1*t1*start + t1*t1*t2*start*3 + t1*t2*t2*target*3 + t2*t2*t2*target; povratna pomoć; }} void svijeća:: newtarget (void) {long sum; zbroj = 0; for (long i = 0; i <evenout; i ++) sum+= onetarget (); početak = cilj; cilj = zbroj / izjednačavanje; vrijeme početka = millis (); targettime = starttime + random (minintime, maxtime); deltatime = targettime - starttime; } duga svijeća:: onetarget (void) {if (random (0, 10) lastcheck + 100) {lastcheck = now; / * * Algo za treperenje "nakon milisekundi brzine": * Počnite provjeravati nakon brzine / 2 milisekunde * Tijekom razdoblja brzine / 2 milisekunde, učinite * mogućnost da svjetlucanje bude 50 %. * Ako je brzina 10000 ms, tijekom 5000 ms kovanica se * okrene 50 puta. * 1/50 = 0,02 * Ako nasumično (10000) vrijeme početka + brzina / 2) {if (nasumično (stopa) ciljno vrijeme) vrati niski nivo; return (start - lowlite) * (targettime - now) / (targettime - starttime) + lowlite; } void twinkler:: twink (void) {starttime = millis (); targettime = random (mintime, maxtime) + starttime; start = slučajno (minlite, maxlite); } void setup () {int led; // Pročitajte varijablu čarobnog načina rada, koja bi trebala // reći koji je lagani program zadnji put pokrenut, povećajte je // i vratite na nulu ako se prelije. način ++; način %= 9; // Ovo vodi računa o vrijednosti // kada je Arduino // prvi put pokrenuo ovaj program. / * * VAŽNA NAPOMENA * ============== * * Bitna stvar koju ovaj program radi je emitiranje PWM * signala na LED svjetla. Ovdje sam postavio pinove 3 na 9 na * izlazni način. Na Arduino Mega2560, ovi pinovi lijepo * emitiraju PWM signale. Ako imate drugi Arduino, provjerite * koje pinove (i koliko) možete koristiti. Uvijek možete * prepisati kôd za korištenje softvera PWM, ako vaš Arduino * ne može osigurati dovoljno hardverskih PWM pinova. * */ pinMode (3, OUTPUT); pinMode (4, OUTPUT); pinMode (5, OUTPUT); pinMode (6, OUTPUT); pinMode (7, OUTPUT); pinMode (8, OUTPUT); pinMode (9, OUTPUT); pinMode (LED_BUILTIN, OUTPUT); analogWrite (LED_BUILTIN, 0); // Samo isključite dosadnu crvenu LED lampicu na Arduino svijećnjaku *[7]; // pripremite se za korištenje treperavih svijeća, bez obzira koristite li ih ili ne twinkler *twink [7]; // pripremamo se za korištenje svjetlucavih svijeća … if (mode == 8) {for (int i = 3; i <10; i ++) analogWrite (i, 255); while (istina); // Svaki put kada se ovaj program pokrene, ulazi u // ovu vrstu beskonačne petlje, sve dok se ne pritisne gumb za resetiranje //. } if (način <2) // treperi {long maxtime_; duga mint_; dugi maxlite_; dugi minlit_; dugi srednji_; dugo čak_; if (način == 0) {maxtime_ = 250; kovnica_ = 50; maxlite_ = 256; minlite_ = 0; srednja vrijednost_ = 128; paran_ = 1; } if (način == 1) {maxtime_ = 400; metvica_ = 150; maxlite_ = 256; minlite_ = 100; srednja vrijednost_ = 200; paran_ = 1; } for (int i = 0; i <7; i ++) {can = nova svijeća (maxtime_, mintime_, maxlite_, minlite_, meanlite_, even_); } while (true) // Beskrajna petlja za treperenje svijeća {for (int i = 0; i levelnow ()); }} if (način <4) // lfo dodan treperenju {if (način == 2) // isti lfo (30 s) za sve svijeće {for (int i = 0; i initlfo (75, 50, 0, 50, 36, 30000);}} if (mode == 3) // mijenjanje lfo: s za svijeće {for (int i = 0; i initlfo (75, 50, 0, 50, 36, 20000); može [1]-> initlfo (75, 50, 0, 50, 36, 25000); može [2]-> initlfo (75, 50, 0, 50, 36, 30000); može [3]-> initlfo (75, 50, 0, 50, 36, 35000); može [4]-> initlfo (75, 40, 0, 50, 36, 40000); može [5]-> initlfo (75, 30, 0, 50, 26, 45000); može [6]-> initlfo (75, 20, 0, 50, 16, 50000); može [7]-> initlfo (75, 10, 0, 50, 6, 55000);} while (true) // Beskrajna petlja za treperenje svijeća s lfo {long lastclock = 0; for (int i = 0; i levelnow ()); if (millis ()> lastclock + 4000) {lastclock = millis (); for (int i = 0; i setlfo ();}}} if (način <6) // trepćuće svijeće {int speedo; if (način == 4) speedo = 6000; inače speedo = 22000; for (int i = 0; i <7; i ++) twink = novo svjetlucanje (300, 295, 255, 250, speedo); while (true) {for (int i = 0; i levelnow ()); }} // Valovi. // Ovaj odjeljak počinje kovrčavim zagradama samo // kako bi se osiguralo da nema sukobljenih naziva varijabli. // Nema potrebe za zagradama, nema potrebe za provjerom // vrijednosti načina.{int lolite = 2; int hilite = 255; int znači; int ampl; plovak fasedelta = 2,5; float fase; int elong; plovak faktor; dugo razdoblje; srednja vrijednost = (lolit + hilit) / 2; ampl = hilit - srednja vrijednost; if (način == 6) točka = 1500; else period = 3500; faktor = 6.28318530718 / period; while (true) {fase = phactor * (millis () % period); elong = srednja vrijednost + ampl * sin (faza); analogWrite (7, elong); analogWrite (9, elong); faza = faktor * ((millis () + period / 4) % period); elong = srednja vrijednost + ampl * sin (faza); analogWrite (3, elong); analogWrite (8, elong); faza = faktor * ((millis () + period / 2) % period); elong = srednja vrijednost + ampl * sin (faza); analogWrite (4, elong); analogWrite (5, elong); faza = faktor * ((millis () + 3 * period / 4) % period); elong = srednja vrijednost + ampl * sin (faza); analogWrite (6, elong); } // Prilikom spajanja žica svijeća na Arduino, // pomiješao sam ih i nikad ih nisam doveo u red. // Redoslijed je važan za stvaranje valnih uzoraka, // pa sam upravo napisao ovu malu tablicu za mene: // // Svijeća# u mostu: 2 3 5 4 7 6 1 // Podatkovni pin na Arduinu: 3 4 5 6 7 8 9}} void loop () {// Budući da je svaki svjetlosni program njegova vlastita beskonačna petlja, // sve sam petlje napisao u odjeljak begin () // i ništa nisam ostavio za ovaj odjeljak loop (). }

Korak 6: O PWM -u

LED diode sjajno svijetle kada se napajaju s 3 V. Koristeći samo 1,5 V uopće ne svijetle. LED svjetla ne blijede lijepo s nestajanjem napona, poput žarulja sa žarnom niti. Umjesto toga moraju se uključiti punim naponom, a zatim isključiti. Kad se to dogodi 50 puta u sekundi, lijepo zasjaju sa 50 % svjetline, manje -više. Ako im se omogući da budu uključeni samo 5 ms, a isključeni 15 ms, mogli bi zasjati 25 % svjetline. Ova tehnika čini LED svjetlo prigušivim. Ova tehnika se naziva pulsno -širinska modulacija ili PWM. Mikrokontroler poput Arduina obično ima podatkovne pinove koji mogu slati on/off signale. Neki od pinova za podatke imaju ugrađene mogućnosti za PWM. No ako nema dovoljno pinova s ugrađenim PWM -om, obično je moguće koristiti namjenske programske knjižnice za stvaranje "softverskih PWM pinova".

U svom sam projektu koristio Arduino Mega2560 koji ima hardverski PWM na pinovima 3 - 9. Ako koristite Arduino UNO, imate samo šest PWM pinova. U tom slučaju, ako vam je potrebna 7. (ili čak i više) svijeća, mogu vam preporučiti softversku PWM biblioteku Bretta Hagmana, koju možete pronaći ovdje.

Preporučeni: