Loading...
Pages: 1 [2]   Go Down
Author Topic: Nikolausi / Werbung in eigener Sache  (Read 1215 times)
0 Members and 1 Guest are viewing this topic.
Hamburg, Germany
Offline Offline
Full Member
***
Karma: 2
Posts: 190
Hello world!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Jaaa, ein neues Spielzeug smiley Dankeschön smiley
Logged


Hamburg, Germany
Offline Offline
Full Member
***
Karma: 2
Posts: 190
Hello world!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Heute angekommen und echt cool smiley
Ich hab' einen online POV-Generator geschrieben (http://test.sui.li/blinkenlightpov/) und so sieht's aus:





+Sketch für Arduino Mega (weil ich gerade kein Uno/Duemilanove da hatte...)
Code:
#include <avr/io.h>
#include <avr/pgmspace.h>

uint8_t pov_pattern[] PROGMEM = {
  0b000001, 0b111000, 0b00000000,
  0b000111, 0b111110, 0b00000011,
  0b001111, 0b001111, 0b00001010,
  0b011100, 0b000011, 0b10000111,
  0b011000, 0b000001, 0b10000000,
  0b111000, 0b110001, 0b11001111,
  0b110000, 0b110000, 0b11001010,
  0b110000, 0b110000, 0b11001111,
  0b111000, 0b110001, 0b11000000,
  0b011000, 0b000001, 0b10001111,
  0b011000, 0b000011, 0b10001001,
  0b011100, 0b000111, 0b00001110,
  0b001111, 0b001111, 0b00000000,
  0b000111, 0b111110, 0b00001111,
  0b000011, 0b111000, 0b00000001,
  0b000111, 0b111110, 0b00001111,
  0b001111, 0b001111, 0b00000000,
  0b001100, 0b000111, 0b00001001,
  0b011100, 0b000011, 0b10001111,
  0b011000, 0b000001, 0b10001001,
  0b111000, 0b110001, 0b11000000,
  0b110001, 0b111000, 0b11001111,
  0b110000, 0b110000, 0b11000100,
  0b111000, 0b110001, 0b11001111,
  0b011000, 0b000001, 0b10000000,
  0b011100, 0b000011, 0b10001111,
  0b001111, 0b001111, 0b00001001,
  0b000111, 0b111110, 0b00001110,
  0b000001, 0b111000, 0b00000000,
  0b000000, 0b000000, 0b00000000,
  0b000000, 0b000000, 0b00000000,
  0b000000, 0b000000, 0b00000000,
  0b000000, 0b000000, 0b00000000
};

static uint16_t index = 0;

uint8_t leds[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,54,55,56,57,58,59};

void loop() {
byte b1 = pgm_read_byte(pov_pattern+(index++));
byte b2 = pgm_read_byte(pov_pattern+(index++));
byte b3 = pgm_read_byte(pov_pattern+(index++));

        if (b1 & 0b100000) { led(0,1); } else { led(0,0); }
        if (b1 & 0b010000) { led(1,1); } else { led(1,0); }
        if (b1 & 0b001000) { led(2,1); } else { led(2,0); }
        if (b1 & 0b000100) { led(3,1); } else { led(3,0); }
        if (b1 & 0b000010) { led(4,1); } else { led(4,0); }
        if (b1 & 0b000001) { led(5,1); } else { led(5,0); }

        if (b2 & 0b100000) { led(6,1); } else { led(6,0); }
        if (b2 & 0b010000) { led(7,1); } else { led(7,0); }
        if (b2 & 0b001000) { led(8,1); } else { led(8,0); }
        if (b2 & 0b000100) { led(9,1); } else { led(9,0); }
        if (b2 & 0b000010) { led(10,1); } else { led(10,0); }
        if (b2 & 0b000001) { led(11,1); } else { led(11,0); }

        if (b3 & 0b10000000) { led(12,1); } else { led(12,0); }
        if (b3 & 0b01000000) { led(13,1); } else { led(13,0); }
        if (b3 & 0b00100000) { led(14,1); } else { led(14,0); }
        if (b3 & 0b00010000) { led(15,1); } else { led(15,0); }
        if (b3 & 0b00001000) { led(16,1); } else { led(16,0); }
        if (b3 & 0b00000100) { led(17,1); } else { led(17,0); }
        if (b3 & 0b00000010) { led(18,1); } else { led(18,0); }
        if (b3 & 0b00000001) { led(19,1); } else { led(19,0); }
        delay(10);
        if (index >= sizeof(pov_pattern)) { index = 0; delay(40); }
}

void led(int no, int st) {
  digitalWrite(leds[no], st);
}

void setup() {
     for (int i = 0; i< sizeof(leds); i++) {
       pinMode(leds[i], OUTPUT);
     }
}
Logged


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

Ja, als ich das Teil entwickelt hatte war es nur eine "billige Spielerei". Bis mir aufgefallen ist, daß das sehr viel cooler als eine abgesetzte LED Zeile ist smiley

Freut mich daß es Dir auch gefällt smiley

Den Sketch hast Du ja gut hinbekommen.
Logged

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

NRW
Offline Offline
Sr. Member
****
Karma: 1
Posts: 373
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Meins ist auch Heute angekommen!
Toller Karton und natürlich auch tolles Shield.
Ich denke mal morgen mache ich mich mal ran was dafür zu schreiben.

Danke Udo
Logged

NRW
Offline Offline
Sr. Member
****
Karma: 1
Posts: 373
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Test 1.2.3.

Hab erstmal geschaut ob alles funktioniert!
Dafür habe ich mal den Code von sui geklaut und den POV-Generator:
« Last Edit: January 04, 2013, 02:51:32 am by MueThoS » Logged

Offline Offline
Edison Member
*
Karma: 18
Posts: 1294
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Na toll, mit meinem spielt bestimmt gerade ein Postbote  smiley-cry
Logged

NRW
Offline Offline
Sr. Member
****
Karma: 1
Posts: 373
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So, ich bin ja kein guter Programmierer wollte aber auch eine Möglichkeit haben Patterns zu erstellen.
Tja in was schreiben wenn man nix vernünftig kann?
Excel kann ich ganz gut.
Na dann los:

Ein Editor in dem man mit Doppelklick Punkte malen kann.
Man kann alles löschen so das alles aus ist oder das alles an ist.
Man kann einen Bereich markieren der wird negiert. Also alles was schwarz war wird weiss und umgekehrt.
Und man kann den Bereich festlegen der in den Code umgewandelt wird. (doppelte Linien).

Dann noch auswählen in welche Richtung man wischen will und Code generieren.

Hier hat man dann die Möglichkeit den Code in die Zwischenablage zu kopieren.
Und man kann noch den Code der vor dem Pattern und nach dem Pattern ist ändern.

Jetzt kann ich wenigstens schon mal was malen


Zugegeben der Arduino-Code ist noch der vom sui
Logged

AREA COLOGNE
Offline Offline
God Member
*****
Karma: 12
Posts: 807
I am 1 of 10 who understands binary
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Scheint das ich den gleichen Postboten habe wie mkl0815
Logged

Eine Glatze ist wohl die AUSGEFALLENste Frisur von allen.

Offline Offline
Edison Member
*
Karma: 18
Posts: 1294
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So, Shield ist heute angekommen. Vielen Dank nochmal. Ein erster Funktionstest war erfolgreich. Zu mehr komme ich aber erstmal nicht, da mein eigenes LED Projekt erstmal fertig werden muss. Die kleine Versandverzögerung hatte also durchaus was positives, hab ich doch mein Spaghetti-Arduino Board heute Nacht final zum laufen gebracht :-)
Logged

Pages: 1 [2]   Go Up
Print
 
Jump to: