Inhoudsopgave:

Fireflies synchroniseren: 7 stappen (met afbeeldingen)
Fireflies synchroniseren: 7 stappen (met afbeeldingen)

Video: Fireflies synchroniseren: 7 stappen (met afbeeldingen)

Video: Fireflies synchroniseren: 7 stappen (met afbeeldingen)
Video: ВСЕ СЕРИИ КРУТОГО СЕРИАЛА С БЕСПОЩАДНЫМ СЮЖЕТОМ! Петля Нестерова / THE LOOP + ENGLISH SUBTITLES 2024, November
Anonim
Vuurvliegjes synchroniseren
Vuurvliegjes synchroniseren

Heb je jezelf ooit afgevraagd hoe honderden en duizenden vuurvliegjes zichzelf kunnen synchroniseren? Hoe werkt het, dat ze allemaal tegelijk kunnen knipperen zonder een soort baas-vuurvliegje te hebben? Dit instructable geeft een oplossing en laat zien hoe deze synchronisatie kan worden bereikt. Ik ben altijd gefascineerd geweest door zelforganisatie van insecten. Een paar jaar geleden schreef ik een Java-Applet die een vierkant van duizenden vuurvliegjes simuleert. Het werkte goed en was leuk om te zien. Deze keer heb ik het in hardware gedaan. Krediet voor inspiratie gaat naar Keso en zijn pot met vuurvliegjes https://www.instructables.com/id/E7U5HYMSVIEWP86SAL/. Alle opmerkingen of correcties zijn welkom. Update 2008-09-12: Daar is een nieuwe versie van de vuurvliegjes online op Synchronizing Firefly Howto. Het heeft een aangepaste PCB voor elke vuurvlieg. En je kunt een kit kopen in de Tinker Store. Hier is de video:

Stap 1: Hoe het werkt

Hoe het werkt
Hoe het werkt

Het algoritme Wat kan worden waargenomen is dat de vuurvliegjes beginnen met willekeurig knipperen. Maar naarmate de tijd verstrijkt, kunnen ze langzaam synchroniseren met hun naaste buren. En deze buren synchroniseren zichzelf met hun buren enzovoort enzovoort. Totdat de hele boom of het hele dal in dezelfde cyclus knippert. En waar is het goed voor? Het wordt gebruikt om andere exemplaren aan te trekken. Met al het knipperende synchroon is het veel gemakkelijker om een partner te vinden. Een van de gemakkelijkste algoritmen om dit gedrag uit te leggen gaat als volgt: je hebt een waarde die de kracht bevat om te flitsen. Naarmate de tijd verstrijkt, zal deze kracht iets toenemen. Als het vermogen een bepaald niveau bereikt, knippert de vuurvlieg en wordt het vermogen verbruikt. De snelheid waarmee de kracht toeneemt is bijna hetzelfde voor alle vuurvliegjes. Ze hebben dus dezelfde frequentie, maar niet hetzelfde tijdstip om te flitsen. Tijdens het langzaam opladen met stroom kan de vuurvlieg een flits van een andere vuurvlieg in de buurt detecteren. Het voegt dan een hogere waarde toe aan zijn vermogenswaarde. Een soort powerboost, als je wilt. Dat betekent dat de volgende flits eerder zal plaatsvinden dan de vorige. En de volgende nog eerder, totdat deze twee precies op hetzelfde tijdstip en met dezelfde snelheid knipperen. U kunt meer over dit algoritme vinden, b.v. hier: Firefly-synchronisatie Ad-hocnetwerken De hardware Ik besloot om mijn vorige instructable (programmeerbare LED) als uitgangspunt te gebruiken. Het bestaat uit een microcontroller, een LED en een Light Dependent Resistor (LDR). Dat zou genoeg moeten zijn om een eenvoudige vuurvlieg te simuleren. Het kan knipperen, zien en tellen. Ik moest alleen het programma en de oriëntatie van de LED en de LDR aanpassen. LED en LDR moeten zo worden geplaatst dat het ene vuurvliegcircuit het andere kan verstoren. Dus de ene LDR moet de LED van een andere vuurvlieg kunnen "zien". En het zou niet alleen één buurman moeten zien, maar meer. Dat kan door de LED en de LDR vanaf de grond omhoog te laten wijzen en wat wit papier te gebruiken om de flitsen te reflecteren.

Stap 2: Materialen en gereedschappen

Materialen en gereedschappen
Materialen en gereedschappen
Materialen en gereedschappen
Materialen en gereedschappen
Materialen en gereedschappen
Materialen en gereedschappen

Voor een raster van 5 bij 5 vuurvliegjes heb je nodig:

  • 25 x 1K Ohm weerstand
  • 25 x 100 Ohm weerstand
  • 25 x LDR (Light Dependent Resistor), b.v. M9960
  • 25 x LED, 1.7V, 20mA (reg, groen, blauw, wat je maar wilt)
  • 25 x ATtiny13, 1KB flash-RAM, 64 bytes RAM, 64 bytes EEPROM
  • 25 x stopcontacten
  • prototype bord
  • draad

De kosten voor één vuurvliegje zouden ongeveer 1,50 Euro moeten zijn als je wat rabate krijgt als je in grotere aantallen bestelt. De sockets zijn alleen nodig als je programma's bugs bevatten. Als u zeker bent van uw ontwikkelingsvaardigheden, kunt u ze sparen.;-)Je kunt de ATtiny-chip zeker vervangen door een andere microcontroller zoals PIC, PICAXE of BasicStamp om er maar een paar te noemen. Neem gewoon de kleinste en goedkoopste die je kunt krijgen. Ik ga met Atmel omdat ik de programmeur al had en mijn eerste project met een ATtiny13 werkte prima. Tools

  • Soldeerbout
  • Soldeerdraad
  • Breadboard
  • AVR-programmeur
  • 5V voeding of
  • 4 AA-oplaadbare batterijen

Software

Aanbevolen: