Show Posts
|
|
Pages: 1 2 [3] 4 5 ... 7
|
|
31
|
International / Deutsch / Re: RTC statt delay
|
on: March 28, 2013, 07:01:58 am
|
Dann wird der Code immernoch mehrmals in der Sekunde ausgefgührt. Am einfachsten ist die Stunden, Minuten und Sekunden in Sekunden umzurechnen und nur mit eine Variable kontrolieren. Benute eine Variable die auf 1 gesetzt wenn das erste mal die Zeit übereinstimmt und 0 gersetzt wird enn sie nicht übereinstimmt. Die Aktion wird durchgeführt und die Variable auf 1 gesetzt, wenn die Zeit richtig ist, und die Variable 0 ist. So wird die Aktionnur einmal aufgerufen.
oder so: if(((min == 0) && (minOld == 30)) | ((min == 30) && (minOld == 0)){ minOld = min; // dein Code } Grüße, J3RE
|
|
|
|
|
32
|
International / Deutsch / Re: RTC statt delay
|
on: March 28, 2013, 06:56:05 am
|
if((min == 0) | (min == 30)){ // dein Code } Bei diesem Code hast Du das Problem, das der Code vermutlich mehrmals in der gleichen Minute abgearbeitet wird, denn loop() benötigt in der Regel weniger als eine Minute zum Durchlauf. Du musst also verhindern, das in der gleichen Minute der Code nochmal ausgeführt wird. stimmt, habe ich vergessen...  Ma könnte das vieleicht auch so lösen: if((min == 0 && sec == 0) | (min == 30 && sec == 0)){ // dein Code }
Oder nicht ? Ja aber nur wenn der Code länger als eine Sekunde benötigt. Der Nachteil zu den anderen Lösungen ist halt, dass man nach dem Einschalten auf die volle/halbe Stunde warten muss. Grüße, J3RE
|
|
|
|
|
33
|
International / Deutsch / Re: RTC statt delay
|
on: March 28, 2013, 06:04:53 am
|
Wenn du eine RTC hast, hast du sicher auch eine Variable für die Minuten oder? Wenn diese Variable 0 oder 30, ist soll dein Code ausgeführt werden. if((min == 0) | (min == 30)){ // dein Code } Grüße, J3RE
|
|
|
|
|
34
|
International / Deutsch / Re: LED Steuerung
|
on: March 27, 2013, 04:22:22 pm
|
Da schaltungstechnisch mein Wissen gegen 0 geht, kann mir vielleicht jemand helfen und mir sagen was ich zwischen Stromquelle, Arduino PWM Ausgängen und LEDs noch verbauen muß damit es mit o.a. LEDs auch funktioniert. Ich habe folgenden Teil gefunden http://dx.com//p/194133. Würde es mit sowas funktionieren, wenn ich es in jeden Kanal einbaue? Oder benötige ich dazu eine dimmbare KSQ? Ein einfacher MOSFET sollte ausreichen und würde um einiges weniger kosten als dein Modul. hier ein gutes Tutorial: http://www.hobbytronics.co.uk/arduino-tutorial9-powerGrüße, J3RE
|
|
|
|
|
35
|
International / Deutsch / Re: PWM In, Pulse Out
|
on: March 25, 2013, 04:03:26 pm
|
Ein Rechtecksignal kannst du mithilfe von Interrupts machen. Bei jedem Interrupt musst du dann den Zustand vom Pin ändern. ISR (TIMER2_COMPA_vect) { PORTB ^= (0x01 << 3); // Pin 3 am PORTB toggelt seinen Zustand bei jedem Interrupt } Den Timer musst du abhängig von deinem PPM-Signal konfigurieren. Zu beachten ist dass, das Rechteck-Signal die halbe Frequenz von der Interrupt-Frequenz hat. Falls du einen UNO hast, kannst du hier lernen wie man die Timer konfiguriert. https://sites.google.com/site/qeewiki/books/avr-guide/timers-on-the-atmega328Grüße, J3RE
|
|
|
|
|
36
|
International / Deutsch / Re: ProtoShields als Sammelbestellung - Besteht Interesse?
|
on: March 24, 2013, 09:17:37 am
|
mein ArduinoISP ShieldDamit kann ich ATtiny45/85- und ATtiny44/84-Chips direkt im ZIF-Sockel programmieren. Andere uC, wie der ATmega328(welcher im UNO verbaut ist), lassen sich über den ISP-Stecker programmieren. Die 3 LEDs zeigen zusätzliche Informationen(Heartbeat, Error, Programming) an. Die Unterseite des Shields sieht leider etwas chaotisch aus, aber es funktioniert.  Grüße, J3RE
|
|
|
|
|
38
|
International / Deutsch / Re: ATtiny und Co. programmieren - USBtinyISP oder was anderes?
|
on: March 04, 2013, 09:45:14 am
|
Ist es möglich, dass ich mir eine Schaltung mit einem Atmega328 aufbaue (also standalone) und dann mit Hilfe eines USB-ISP-Programmer den ATtiny programmiere? Mein China-ISP-Programmer ist leider noch nicht gekommen, sonst hätte ich es einfach mal getestet smiley-grin Du kannst die ATtiny´s dann auch direkt mit dem USB-ISP-Programmer programmieren. Ansonsten könntest du dir ein Shield(für den UNO) bauen, wo du nur mehr die ATtiny´s reinstecken brauchst und keine Kabel rumstecken. So werde ich meine ATtiny´s programmieren, wenn die Bauteile endlich ankommen.  Grüße, J3RE
|
|
|
|
|
39
|
International / Deutsch / Re: PT2388 5-Mode Preset Equalizer IC
|
on: February 18, 2013, 04:27:10 pm
|
Ja ich weis, diese Angabe bezieht sich aber in erster Linie auf die 0.068uF und 1500pF Kondensatoren.
Wie verhält sich dies den mit den anderen nicht Elkos in der Schaltung.
Ebenfalls Polyester Film Kondensatoren oder können da auch Kerkos genommen werden ?
Achso, stimmt. Wie sich das verhält weiß ich leider nicht. Grüße, J3RE
|
|
|
|
|
41
|
International / Deutsch / Re: suche ringförmiges Array...
|
on: February 17, 2013, 04:51:08 pm
|
Ich habe verschiedene "analoge" Zellautomaten programmiert, was zu Plasmaähnlichen Effekten führt - es wird also, ausgehend von einem "Samenmuster" in Abhängigkeit von Nachbarpixeln das nächse "Bild" berechnet. So wie "Conway's Game of Life"? Dabei habe ich das Problem, dass die Effekte zum Anfang und Ende des Stripes hin auslaufen, was nicht schön ist und ständig neue Samen erfordert. Gibt es einen Datentyp oder eine Technik, welches meinen 1dimensionalen Bildspeicher als Ring behandelt? Wo also das, was am Ende rausfällt wieder am Anfang ankommt? Meinst du also, dass der Pixel am rechten Ende des Stripes, Nachbar des Pixels am linken Ende ist? Wenn das so geimeint ist, brauchst du beim berechnen des neuen Bildes, nur eine if-Abfrage machen ob der Pixel am Rand ist oder nicht. Falls er am Rand ist, sagst du, dass sein rechter/linker Nachbar der erste/letzte vom Stripe ist. Oder stell ich mir das alles zu einfach vor? Grüße, J3RE
|
|
|
|
|
42
|
International / Deutsch / Re: Zähler 0000 - 9999
|
on: February 17, 2013, 03:46:09 pm
|
Ungefähr so sollte es funktionieren stelle[3] = code / 1000; stelle[2] = (code - stelle[3] * 1000) / 100; stelle[1] = (code - stelle[3] * 1000 - stelle[2] * 100) / 10; stelle[0] = code - stelle[3] * 1000 - stelle[2] * 100 - stelle[1] * 10;
for(int i = 3; i >= 0; i--){ switch(stelle[i]){ case 0: // 0-Taste drücken break; case 1: // 1-Taste drücken break; case 2: // 2-Taste drücken break; case 3: // 3-Taste drücken break; case 4: // 4-Taste drücken break; case 5: // 5-Taste drücken break; case 6: // 6-Taste drücken break; case 7: // 7-Taste drücken break; case 8: // 8-Taste drücken break; case 9: // 9-Taste drücken break; } } if(codeRichtig){ Serial.println(code); // richtigen Code ausgeben while(1); // nichts mehr tun } code++;
|
|
|
|
|
43
|
International / Deutsch / Re: Zähler 0000 - 9999
|
on: February 17, 2013, 03:20:31 pm
|
ich würde auch eine dezimale Zahl hochlaufen lassen bis 9999. Dann einfach die einzelnen Stellen abfragen. z.B. so: tausenderStelle = code / 1000; hunderterStelle = (code - tausenderStelle * 1000) / 100; zehnerStelle = (code - tausenderStelle * 1000 - hunderterStelle * 100) / 10; einerStelle = code - tausenderStelle * 1000 - hunderterStelle * 100 - zehnerStelle * 10; code++; die Nachkommastellen werden einfach weckgelassen, wenn man die Variablen als integer definiert. Grüße, J3RE
|
|
|
|
|
44
|
International / Deutsch / Re: Li-ion Akku + ATtiny45 + Laser
|
on: February 16, 2013, 10:20:17 am
|
Der Chip (MCP73831), welcher im Ladegerät verbaut ist, hat einen Ausgang (STAT) um eine LED leuchten zu lassen während des Ladevorganges. Diesen kann ich verwenden um den Spannungs Regler auszuschalten. Dadurch beeinflusse ich die Ladeschaltung ja nicht oder? Auf Seite 11 im Datenblatt wird beschrieben, welche Funktion der Pin hat. Datenblatt: http://ww1.microchip.com/downloads/en/DeviceDoc/21984e.pdfIm Bild sieht man meinen Schaltplan, wäre sehr nett wenn den einmal wer kontrollieren könnte. (Den vorderen Teil, die Schaltung mit dem ATtiny habe ich schon getestet)  Grüße, J3RE
|
|
|
|
|
45
|
International / Deutsch / Re: Li-ion Akku + ATtiny45 + Laser
|
on: February 14, 2013, 03:18:51 pm
|
|
So hätte ich mir das vorgestellt, das Problem mit dem Laden habe ich halt noch.
Mit einem zweipoligen Schalter (DPDT) würde es funktionieren, aber ich habe keinen kleinen DPDT-Schalter(welcher bis zu 500mA schalten kann) gefunden.
Grüße, J3RE
|
|
|
|
|