Lampyridae

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Version vom 15. Januar 2007, 19:38 Uhr von Legba7 (Diskussion | Beiträge) (+Foto)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

Lampyridae-foto.jpg

WTF

Leuchtkäfer auf der Suche nach Artgenossen. Dazu sende ich in der Nacht Licht-Morsesignale aus meinem Fenster.

Ziel

Artgenossen durch blinkendes Licht anlocken. Ich suche Leute die in meiner Umgebung Funkfeuer Knoten betreiben wollen.

Material

Schaltbild

Lampyridae-schematic.png

Programm

// kompiliert mit sdcc wie unter Microcontroller_How_To beschrieben

#include"pic18fregs.h"
#define RA3       PORTAbits.RA3

long const ditl=1000;
long const dahl=3000;        //ditl*3
long const spacel=6000;      //ditl*7 (ditl*6 weil pause nach signal ist dit)


void delay_ms(long ms)
{
  long i;

  while (ms--)
    for (i=0; i < 330; i++)
      ;
}

void dit(void)
{
  RA3 = 1;
  delay_ms(ditl);
  RA3 = 0;
  delay_ms(ditl);
}

void dah(void)
{
  RA3 = 1;
  delay_ms(dahl);
  RA3 = 0;
  delay_ms(ditl);
}

void bend(void)
{
  //RA3 = 0;
  delay_ms(dahl);
}

void space(void)
{
  //RA3 = 0;
  delay_ms(spacel);
}

void main(void) {
  int i;
  TRISA = 0;

  // 0 = 0V, 1 = 5V
  
  for (;;)
    {
      // www.funkfeuer.at
      // .--/.--/.--/.-.-.-/..-./..-/-./-.-/..-././..-/./.-./.-.-.-/.-/-
      
      dit(); dah(); dah(); bend();
      dit(); dah(); dah(); bend();
      dit(); dah(); dah(); space();
      dit(); dah(); dit(); dah(); dit(); dah(); space();
      dit(); dit(); dah(); dit(); bend();
      dit(); dit(); dah(); bend();
      dah(); dit(); bend();
      dah(); dit(); dah(); bend();
      dit(); dit(); dah(); dit(); bend();
      dit(); bend();
      dit(); dit(); dah(); bend();
      dit(); bend();
      dit(); dah(); dit(); space();
      dit(); dah(); dit(); dah(); dit(); dah(); space();
      dit(); dah(); bend();
      dah(); space(); space();
    }

}