Stap 2: Software
De gesimuleerde vuurvliegjes vertonen de volgende gedrag, gebaseerd op de waarnemingen van de soort Photinus pyralis , de gemeenschappelijke Oost-firefly (meer details en verwijzingen ):
- Mannelijke vuurvliegjes zal verschijnen een voor een tijd, knipperen met een regelmatig interval, 5.9 ± 0,6 seconden en geleidelijk synchroniseren met elkaar.
- Als alle mannetjes synchroon zijn, reageert een vrouw op een man de Flits na een vertraging van 2.1 ± 0,2 seconden. Het uiterlijk van een andere man synchroon zorgt ervoor dat het vrouwtje reageert met de eerste. De vrouw flitser is 1/10 de intensiteit van de mannetjes.
- Elke puls is 0,5 seconde in duur met een steile stijging en langzamer wegvallen, die ik gemodelleerd als y=x * e-x_2
- Vrouwen zijn stationaire, ze zal knipperen op de dezelfde LED elke keer, terwijl mannetjes kunnen "verplaatsen" rond, LED's knipperen op willekeurig geselecteerd.
- Één om de eind stand van 6 mannetjes knippert en één vrouwtje reageert, blijft dat patroon tot het opnieuw wordt ingesteld op een willekeurige interval, ongeveer 5-20 minuten te bereiken.
De code is gecompileerd met avr-gcc 4.2.0. Ik gebruikte een ATtiny85, en het werkt ook met een ATtiny45 op mijn bord prototype. Er zijn ook twee kortere voorbeeld programma's opgenomen die kan worden gebruikt als basis voor verschillende gedragingen. Alle broncode is vrij beschikbaar onder de GPL .
Download de broncode en de gecompileerde .hex bestanden hier .