Pages: [1]   Go Down
Author Topic: Heartbeat  (Read 3684 times)
0 Members and 1 Guest are viewing this topic.
AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 21
Posts: 1128
I am 1 of 10 who understands binary
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich braucht gerade mal eine LED die im Herzschlagtakt schlägt.
Da ich keinen schönen Code gefunden habe schrieb ich mit mal eben selbst was.
Im Array kann man die "Art"schön betimmen.
 Poste ich hier mal meinen Heartbeat via PWM an Pin 10

Code:
unsigned long lmillis;
byte i=0;
boolean up=true;
byte Fadearray[]={
     0,  2,  4,  8, 12, 20, 32, 44, 56, 68,
    80, 92,104,116,128,140,152,164,176,188,
   200,212,224,236,255,240,210,180,150,120,
    90, 60, 40, 25, 25, 40, 60, 90,120,150,
   180,210,240,255,230,205,180,155,130,105,
    80, 55, 30, 20, 16,  8,  4,  2,  0};

void setup(){
  pinMode(10,OUTPUT);
}

void loop(){
  if (millis()-lmillis>=11){
    if (i==58){
      up=false;
      delay(550);
      i=0;
    }
    i++;
    analogWrite(10,Fadearray[i]); 
    lmillis=millis();
  }
}

Gruß
Volvodani
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21665
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hab ich richtig verstanden. Du läßt das LED blinken wie die QRS-T-Welle des EKGs?
Viele Grüße Uwe
Logged

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 21
Posts: 1128
I am 1 of 10 who understands binary
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Genauso. Es ist ein Doppelblinken mit Fadeeffect also es sieht "lebendig" aus und nicht "digital".  smiley
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

Germany
Online Online
Edison Member
*
Karma: 47
Posts: 2321
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe mir den Effekt noch nicht angesehen, d. h. noch nicht auf einen meiner Arduinos (Frage an die Italiener: Müsste man korrekterweise Arduini sagen?) aufgespielt.
Allerdings ist mir das delay(550) ein Dorn im Auge. Das Pulsieren wird über die millis gemacht und dann kommt solch eine harte Unterbrechung. Ich könnte mir vorstellen, das Array um 50 Elemente zu erweitern, die alle den Wert 0 haben. In diesem Zuge könnte man dann das delay () entfallen lassen.

Und noch eine kurze Frage: Was hat es mit der ominösen Variablen up auf sich? Sie wird mit True initialisiert und nach Ablauf der ersten Schleife auf False gesetzt, mehr passiert damit nicht. Ist das ein Überbleibsel aus einer Vorgänger-version des Sketches?
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Offline Offline
Full Member
***
Karma: 0
Posts: 174
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Müsste man korrekterweise Arduini sagen?

müsste man smiley
Logged

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 21
Posts: 1128
I am 1 of 10 who understands binary
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Das Delay ist nur für euch da :-).
Ich nehme das Array und lasse es durch Up(gesetzt durch die RTC) einmal durchlaufen und dann wartet es auf einen neuen Impuls (RTC gibt jede Sekunde 1 Impuls) was jeder draus macht ist jedem Überlassen.
Es geht in erster Linie um das doppelpulsen : smiley-money smiley-money
« Last Edit: November 21, 2011, 12:38:55 pm by volvodani » Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

0
Offline Offline
Faraday Member
**
Karma: 24
Posts: 3487
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich gebe jetzt auch eine Version "Herzschlag" Sketch zum Besten: http://blog.blinkenlight.net/experiments/removing-flicker/heartbeat/. Ist einen Tick aufwendiger weil es 20 LEDs bedient smiley-wink
Logged

Check out my experiments http://blog.blinkenlight.net

Offline Offline
Full Member
***
Karma: 3
Posts: 137
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sieht toll aus

im Code Bereich auf deiner Seite fehlt ein Teil der for-Schleife.

edit
und #include <MsTimer2.h> fehlt auch noch  smiley-wink
« Last Edit: March 01, 2012, 02:39:47 pm by thewknd » Logged

duemilanove / OSX & WIN
Arduino & Teensy: http://bit.ly/13rbdtQ

0
Offline Offline
Faraday Member
**
Karma: 24
Posts: 3487
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mist, da ist irgendwas total daneben gegangen. Ich reparier das gleich.

Danke für den Hinweis.
Logged

Check out my experiments http://blog.blinkenlight.net

0
Offline Offline
Faraday Member
**
Karma: 24
Posts: 3487
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Das Problem ist jetzt behoben. Keine Ahnung warum das daneben ging. Mein Code Repository war irgendwie kaputt inkl. Versionsverwaltung. Sowas ist mir noch nie passiert smiley-sad  Jetzt ist aber wieder alles OK.
Logged

Check out my experiments http://blog.blinkenlight.net

Pages: [1]   Go Up
Jump to: