Eule mit animierten Augen

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Titanes
Member
***

Beiträge: 69
Registriert seit: Aug 2015
Bewertung: 0
#11
11.01.2019, 23:53

Hallo,
bin noch nicht viel weitergekommen. Aber die Module passen schon mal schön in die Fräsungen.

Gruß

Titanes[Bild: 0e5c060cf1fbe3e6cdd063831e1a8f8b.jpg][Bild: 9e35d94fdc69dbc84b6754b494acc3ee.jpg]

Gesendet von meinem SM-T800 mit Tapatalk
Zitieren
Titanes
Member
***

Beiträge: 69
Registriert seit: Aug 2015
Bewertung: 0
#12
28.02.2019, 23:43

Hallo,

Es geht langsam voran. Ich muß dazu sagen, daß ich momentan privat nicht mehr so viel Zeit habe. Vielleicht klappt es ja bis OsternIch habe mich doch noch dafür entschieden die Eule mit Akkus oder Batterien zu betreiben und einen Mini-Bewegungsmelder einzubauen. Außerdem hab ich noch einen Zugschalter eingebaut. Nach ein paar Lötarbeiten steht dann schon mal die elektronische Hardware. Ich bin außerdem noch am überlegen einen Taster einzubauen. Dieser soll dann vom Dauerbetrieb in der Grundeinstellung auf den Bewegungsmelder umschalten.

Gruß

Titanes [Bild: 22019c1f715e03f29fd78795f3b59917.jpg][Bild: 74d4c322a4ce299bb1acaa6dcca3a4a9.jpg]

Gesendet von meinem SM-T800 mit Tapatalk
Zitieren
ConnorMaker
Junior Member
**

Beiträge: 2
Registriert seit: May 2019
Bewertung: 0
#13
31.05.2019, 18:53

Ich bin sehr von der Idee und Umsetzung begeistert, dass ich das nachbauen will!
Könntest du bitte das Programm posten?
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#14
31.05.2019, 19:57

Hallo Forum,

bitte unterstützt ConnorMaker so gut es geht.
ConnorMaker ist neu auf dem Gebiet der Mikrocontroller und auch noch nicht erfahren an Lebensjahren.

Im "echten Leben" werde ich ihn zusammen mit seinem Vater unterstützen.

Viele Grüße,

Uni
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#15
31.05.2019, 20:13

Zitat:Ich bin sehr von der Idee und Umsetzung begeistert, dass ich das nachbauen will!

Hi ConnorMaker,

auf jeden Fall benötigst Du dann folgendes Bauteil (2 davon):
https://www.ebay.de/itm/FERTIG-AUGEBAUT-...ctupt=true

Und wenn ich das richtig sehen, läuft das auf einem Arduino Nano, oder @Titanes?
So einen Mini-Arduino kann ich Dir noch geben. Mit Deinem Uno sollte das aber auch gehen.

Grüße
Uni
Zitieren
Titanes
Member
***

Beiträge: 69
Registriert seit: Aug 2015
Bewertung: 0
#16
03.06.2019, 20:26

Hallo ConnorMaker,

Ich gucke , daß ich es heute Abend schaffe den Code reinzustellen.


Gruß

Titanes




Gesendet von meinem SM-T800 mit Tapatalk
Zitieren
Titanes
Member
***

Beiträge: 69
Registriert seit: Aug 2015
Bewertung: 0
#17
03.06.2019, 21:21

Hallo nochmal,

hier ist der Code. Hab ihn aber mit dem Bewegungsmelder noch nicht angestet. Mir sind leider 2 Nanos abgeraucht. Dachte zuerst, daß die Betriebsspannung zu hoch wäre. War mein erstes Projekt mit einem Nano. Hab dann aber doch mal das Multimeter in die Hand genommen und alles durchgemessen. Es war letztendlich einen Kurzschluß im 2. Modul. Rein optisch sahen die Lötungen alle gut aus. Nachdem ich die Stromversorgung vom 2. Modul abgelötet hatte, war der Kurzschluß weg. Werd dann mein Glück noch mal versuchen.

LG

Titanes








#include

/*
pin 2 DataIn
pin 3 LOAD
pin 4 CLK
pin 5 Sensor
*/

LedControl lc=LedControl(2,4,3,2);

const int addrL = 0; // erste LED Matrix - linkes Auge
const int addrR = 1; // zweite LED matrix - rechtes Auge

int sensor=5; // Der Signal Pin vom Sensor
int sensorstatus=0; // Status vom Sensor

void setup() {
/*The MAX72XX is in power-saving mode on startup*/
lc.shutdown(addrL,false);
lc.shutdown(addrR,false);
/* Set the brightness to max values */
lc.setIntensity(addrL,2); //15 Standard
lc.setIntensity(addrR,2); //15 Standard
/* and clear the display */
lc.clearDisplay(addrL);
lc.clearDisplay(addrR);

pinMode(sensor, INPUT); // Sensor als Eingang defnieren

}

void showNeutral1() {
byte left[8] = {
B00111100,
B01000010,
B10011001,
B10111101,
B10111101,
B10011001,
B01000010,
B00111100};

displayEmotion(left, left);
}

void showNeutral2() {
byte left[8] = {
B00000000,
B01111110,
B10011001,
B10111101,
B10111101,
B10011001,
B01111110,
B00000000};

displayEmotion(left, left);
}

void showNeutral3() {
byte left[8] = {
B00000000,
B00000000,
B11111111,
B10111101,
B10111101,
B11111111,
B00000000,
B00000000};

displayEmotion(left, left);
}

void showNeutral4() {
byte left[8] = {
B00000000,
B00000000,
B00000000,
B11111111,
B11111111,
B00000000,
B00000000,
B00000000};

displayEmotion(left, left);
}

void showNeutral5() {
byte left[8] = {
B00000000,
B00000000,
B11111111,
B10111101,
B10111101,
B11111111,
B00000000,
B00000000};

displayEmotion(left, left);
}

void showNeutral6() {
byte left[8] = {
B00000000,
B01111110,
B10011001,
B10111101,
B10111101,
B10011001,
B01111110,
B00000000};

displayEmotion(left, left);
}


void showNeutral7() {
byte left[8] = {
B00111100,
B01000010,
B10011001,
B10111101,
B10111101,
B10011001,
B01000010,
B00111100};

displayEmotion(left, left);
}


void showUpDown1() {
byte left[8] = {
B00111100,
B01000010,
B10011001,
B10111101,
B10111101,
B10011001,
B01000010,
B00111100};
displayEmotion(left, left);
}
void showUpDown2() {
byte left[8] = {
B00111100,
B01011010,
B10111101,
B10111101,
B10011001,
B10000001,
B01000010,
B00111100};
displayEmotion(left, left);
}
void showUpDown3() {
byte left[8] = {
B00111100,
B01000010,
B10011001,
B10111101,
B10111101,
B10011001,
B01000010,
B00111100};
displayEmotion(left, left);
}
void showUpDown4() {
byte left[8] = {
B00111100,
B01000010,
B10000001,
B10011001,
B10111101,
B10111101,
B01011010,
B00111100};
displayEmotion(left, left);
}
void showUpDown5() {
byte left[8] = {
B00111100,
B01000010,
B10011001,
B10111101,
B10111101,
B10011001,
B01000010,
B00111100};
displayEmotion(left, left);
}
void showLeftRight1() {
byte left[8] = {
B00111100,
B01000010,
B10011001,
B10111101,
B10111101,
B10011001,
B01000010,
B00111100};
displayEmotion(left, left);
}
void showLeftRight2() {
byte left[8] = {
B00111100,
B01000010,
B10110001,
B11111001,
B11111001,
B10110001,
B01000010,
B00111100};
displayEmotion(left, left);
}
void showLeftRight3() {
byte left[8] = {
B00111100,
B01000010,
B10011001,
B10111101,
B10111101,
B10011001,
B01000010,
B00111100};
displayEmotion(left, left);
}
void showLeftRight4() {
byte left[8] = {
B00111100,
B01000010,
B10001101,
B10011111,
B10011111,
B10001101,
B01000010,
B00111100};
displayEmotion(left, left);
}
void showLeftRight5() {
byte left[8] = {
B00111100,
B01000010,
B10011001,
B10111101,
B10111101,
B10011001,
B01000010,
B00111100};
displayEmotion(left, left);
}



void displayEmotion(byte left[8], byte right[8]) {
lc.clearDisplay(addrL);
lc.clearDisplay(addrR);
for(int row=0;row<8;row++) {
lc.setRow(addrL,row,left[row]);
lc.setRow(addrR,row,right[row]);
}
}

void loop()
{
sensorstatus=digitalRead(sensor); // Signal vom Sensor lesen
if (sensorstatus == HIGH) // Wenn der Sensor ein HIGH sendet
{

showNeutral1();
delay(100);
showNeutral2();
delay(100);
showNeutral3();
delay(100);
showNeutral4();
delay(100);
showNeutral5();
delay(100);
showNeutral6();
delay(100);
showNeutral7();
delay(100);


showNeutral1();
delay(100);
showNeutral2();
delay(100);
showNeutral3();
delay(100);
showNeutral4();
delay(100);
showNeutral5();
delay(100);
showNeutral6();
delay(100);
showNeutral7();
delay(100);


showUpDown1();
delay(1000);
showUpDown2();
delay(1000);
showUpDown3();
delay(1000);
showUpDown4();
delay(1000);
showUpDown5();
delay(1000);


showNeutral1();
delay(100);
showNeutral2();
delay(100);
showNeutral3();
delay(100);
showNeutral4();
delay(100);
showNeutral5();
delay(100);
showNeutral6();
delay(100);
showNeutral7();
delay(100);


showLeftRight1();
delay(1000);
showLeftRight2();
delay(1000);
showLeftRight3();
delay(1000);
showLeftRight4();
delay(1000);
showLeftRight5();
delay(1000);
}
else
{
lc.clearDisplay(addrL);
lc.clearDisplay(addrR);
}
}







Gesendet von meinem SM-T800 mit Tapatalk
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste