Turinys:

„Fireflies“sinchronizavimas: 7 žingsniai (su nuotraukomis)
„Fireflies“sinchronizavimas: 7 žingsniai (su nuotraukomis)

Video: „Fireflies“sinchronizavimas: 7 žingsniai (su nuotraukomis)

Video: „Fireflies“sinchronizavimas: 7 žingsniai (su nuotraukomis)
Video: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, Lapkritis
Anonim
„Fireflies“sinchronizavimas
„Fireflies“sinchronizavimas

Ar kada nors savęs paklausėte, kaip šimtai ir tūkstančiai ugniagesių sugeba sinchronizuoti save? Kaip tai veikia, kad jie gali mirksėti visi kartu, neturėdami tam tikro boso ugnies? Šis nurodymas pateikia sprendimą ir parodo, kaip galima pasiekti šį sinchronizavimą. Mane visada žavėjo vabzdžių organizavimas. Prieš porą metų parašiau „Java“programėlę, kuri imituoja tūkstančių ugniagesių kvadratą. Tai gerai veikė ir buvo smagu žiūrėti. Šį kartą tai padariau techninėje įrangoje. Įkvėpimo kreditai atitenka Keso ir jo ugniažolių stiklainiui https://www.instructables.com/id/E7U5HYMSVIEWP86SAL/. Bet kokios pastabos ar pataisymai yra laukiami. Atnaujinti 2008-09-12: Ten yra nauja „Fireflies“versija internete „Synchronizing Firefly Howto“. Jis turi individualų PCB kiekvienam ugniažoliui. Ir jūs galite nusipirkti rinkinį Tinker parduotuvėje. Čia yra vaizdo įrašas:

1 žingsnis: kaip tai veikia

Kaip tai veikia
Kaip tai veikia

Galima pastebėti, kad ugniagesiai prasideda atsitiktiniu mirksėjimu. Tačiau laikui bėgant jie sugeba lėtai sinchronizuotis su artimiausiais kaimynais. Šie kaimynai sinchronizuoja save su savo kaimynais ir pan. Kol visas medis ar visas slėnis nemirksi tuo pačiu ciklu. Ir kam tai naudinga? Jis naudojamas pritraukti kitus egzempliorius. Kai visi mirksi sinchronizuojant, daug lengviau rasti partnerį. Vienas iš paprasčiausių algoritmų, paaiškinančių šį elgesį, yra toks: jūs turite vertę, kuri turi galimybę mirksėti. Laikui bėgant ši galia šiek tiek padidės. Jei galia pasiekia tam tikrą lygį, žiburys mirksi ir energija sunaudojama. Galios didėjimo greitis yra beveik vienodas visiems ugniagesiams. Taigi jie turi tą patį dažnį, bet ne tą patį momentą, kai mirksi. Kai lėtai kraunasi, „Firefly“gali aptikti kito netoliese esančio ugnies blykstę. Tada jis padidina savo galios vertę. Kažkoks galios padidėjimas, jei norite. Tai reiškia, kad kita blykstė įvyks anksčiau nei ankstesnė. Ir kitą dar anksčiau, kol šie du mirksi tiksliai tuo pačiu metu ir tuo pačiu greičiu. Daugiau apie šį algoritmą galite rasti, pvz. čia: „Firefly“sinchronizavimo ad Hoc tinklai Jį sudaro mikrovaldiklis, šviesos diodas ir nuo šviesos priklausantis rezistorius (LDR). To turėtų pakakti, kad būtų galima imituoti paprastą ugnį. Jis gali mirksėti, matyti ir skaičiuoti. Aš tiesiog turėjau pakeisti programą ir šviesos diodo bei LDR orientaciją. Šviesos diodas ir LDR turi būti išdėstyti taip, kad viena ugniažolės grandinė galėtų trukdyti kitai. Taigi vienas LDR turi sugebėti „pamatyti“kito židinio šviesos diodą. Ir tai turėtų pamatyti ne tik vieną kaimyną, bet ir daugiau. Tai galima padaryti leidžiant šviesos diodui ir LDR nukreipti į viršų nuo žemės ir blykstėms atspindėti naudojant baltą popierių.

2 žingsnis: medžiagos ir įrankiai

Medžiagos ir įrankiai
Medžiagos ir įrankiai
Medžiagos ir įrankiai
Medžiagos ir įrankiai
Medžiagos ir įrankiai
Medžiagos ir įrankiai

Norėdami sudaryti 5–5 ugniažolių tinklelį, jums reikia:

  • 25 x 1 K omo rezistorius
  • 25 x 100 omų rezistorius
  • 25 x LDR (nuo šviesos priklausomas rezistorius), pvz. M9960
  • 25 x LED, 1.7V, 20mA (reg, žalia, mėlyna, kas jums patinka)
  • 25 x ATtiny13, 1 KB „flash“RAM, 64 baitų RAM, 64 baitai EEPROM
  • 25 x lizdai
  • prototipų lenta
  • viela

Vieno ugniažolės kaina turėtų būti apie 1,50 euro, jei užsisakysite didesnį kiekį rabato. Lizdai yra būtini tik tuo atveju, jei jūsų programos yra klaidingos. Jei jaučiatės įsitikinę savo vystymosi įgūdžiais, galite jų nepasigailėti.;-) Tikrai galite pakeisti „ATtiny“lustą bet kuriuo kitu mikrovaldikliu, pvz., PIC, PICAXE ar „BasicStamp“. Tiesiog pasiimkite mažiausią ir pigiausią. Aš einu su Atmel, nes jau turėjau programuotoją, o mano pirmasis projektas su ATtiny13 dirbo puikiai.

  • Lituoklis
  • Lituoklis
  • Bandomoji Lenta
  • AVR programuotojas
  • 5V maitinimo šaltinis arba
  • 4 AA įkraunami elementai

Programinė įranga

Rekomenduojamas: