Show Posts
Pages: [1] 2
1  International / Deutsch / Re: Wie Wechselspannung richtig schalten? on: April 09, 2012, 05:17:13 pm
Hi,

ich vermute eher, dass der snubber filter parallel zum geschalteten Gerät (Motor, ...)  geschaltet werden muss.

Eine Frage habe ich im Kontext SSR, da ich diese auch ganz gerne verwende: Was passiert eig. im Falle eines Defektes? Kann es passieren, dass der Verbraucher dann die ganze Zeit an ist? Das kann u. U. fatale Auswirkungen haben.

lg fresapo
2  International / Deutsch / Re: XBee liest nicht alle Daten, die gesendet werden on: April 05, 2012, 03:26:19 pm
Hi,
beim Testen habe ich eben festgestellt, dass ein
Code:
data = 0;
nach den if-Abfragen im Receiver-Sourcecode hilft. Schön finde ich diese Lösung allerdings nicht, weshalb ich mich sicher über Antworten freue.

lg fresapo
3  International / Deutsch / XBee liest nicht alle Daten, die gesendet werden on: April 05, 2012, 02:53:06 pm
Hallo zusammen,

ich habe 2 XBees konfiguriert (siehe http://popovic.info/html/arduino/arduinoUno_1.html#Xbee-Shield ) und in Betrieb genommen. Der Sender sendet abwechselnd L und H, das habe ich mit dem X-CTU-Terminal überprüft.

Das Problem: Der Empfänger scheint nicht jeden Buchstaben zu empfangen, den die Test-LED wechselt unregelmäßig ihren Zustand.

Transmitter:
Code:
void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.write('H');
  delay(1000);
  Serial.write('L');
  delay(3000);
}

Receiver:
Code:
#define ledPin 13
int data;
void setup() {
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
}

void loop() {
   if (Serial.available() > 0) {
    // read the oldest byte in the serial buffer:
    data = Serial.read();
    // if it's a capital H (ASCII 72), turn on the LED:
    if (data == 'H') {
      digitalWrite(ledPin, HIGH);
    }
    // if it's an L (ASCII 76) turn off the LED:
    if (data == 'L') {
      digitalWrite(ledPin, LOW);
    }
  }
}

Vielen Dank für Tipps!
lg fresapo
4  International / Deutsch / Re: Gute Seiten für Einsteiger? (mit Tutorials, Erklärungen, Beispiele, etc) on: April 05, 2012, 02:39:44 pm
Hi,

ich habe versucht ein Skript mit teilweise Basiswissen (Spannungsteiler, ...), aber auch anspruchsvolleres (XBee, ...) zu schreiben. Vielleicht gefällt es euch:

http://popovic.info/html/arduino/arduinoUno_1.html

Das Skriptum wächst natürlich ab und an, ist aber schon was zum Basteln drin...
lg fresapo
5  International / Deutsch / Re: Ansätze für Relais mit 230V on: June 25, 2011, 12:52:11 pm
Ich denke, daß Du ein wenig vom Thema dieser Diskussion abschweifst. Bitte öffne eine neue Diskussion. Dort werden wir Dir antworten.
Hi,
sorry, das Teil ist gar nicht für mich gedacht. Wenn ich den 1. Beitrag des TO lese sucht er doch genau noch sowas?!
Du kannst meine beiden Posts gerne löschen, wollte nicht stören.
lg fresapo
6  International / Deutsch / Re: Ansätze für Relais mit 230V on: June 24, 2011, 02:09:19 pm
Hi,
bei ebay findet man unter 260802253338 (5V 8 Channel Relay Shield for Arduino vom Verkäufer davelgl) ein Relais-Shield, das unter 5 V läuft. Was haltet ihr davon?
lg fresapo
7  International / Deutsch / Re: Frage zu int() on: June 22, 2011, 02:57:05 pm
Füge mal spaßeshalber vor dem int()-cast irgendwas hinzu, z.b. "0.001" und guck was passiert.

Die pow() hat bei mir auch schonmal Probleme gemacht, daher verwende ich das in meinen Programmen nicht mehr. smiley-sad
Hi,
danke, damit klappt's. Die Ausgabe 8.00 ist halt irritierend, wenn's 7.99...9 ist.
lg fresapo

edit:
@BlazeX: ich addiere nun einfach 0.5, damit gibt's kein Problem mehr (man muss es halt nur wissen ...)
8  International / Deutsch / Frage zu int() bzw. besser zu pow() on: June 22, 2011, 02:34:52 pm
Hallo zusammen,

pow(2,i) liefert float zurück. Ich hätte gerne ein Integer und dachte, caste ich einfach:
int( pow(2,i))
Das liefert aber im Falle von i=3 die Zahl 7 zurück. Kann mir das jemand erklären?

Hier ein Mitschnitt vom serial-monitor:

Code:
i ist 1  und 2^i ist:  2.00
int(pow(2,i)) ergibt aber: 2
i ist 2  und 2^i ist:  4.00
int(pow(2,i)) ergibt aber: 3
i ist 3  und 2^i ist:  8.00
int(pow(2,i)) ergibt aber: 7

und hier ein Quelltextschnipsel dazu:

  for(int i =1;i<4;i++){
    Serial.print("i ist ");
    Serial.print(i);
    Serial.print("  und 2^i ist:  ");
    Serial.println(pow(2,i));
    Serial.print("int(pow(2,i)) ergibt aber: ");
    Serial.println(int(pow(2,i)));
   }

Danke für Hinweise, wahrscheinlich bin ich wieder in ein Anfänger-Fettnäpfchen getreten.

lg fresapo

edit: ich habe die Threadüberschrift angepasst, sie enthält jetzt pow()
9  International / Deutsch / Re: Shot-Timer für Espressomaschine on: June 22, 2011, 04:08:12 am
Hallo zusammen,

die Bounce-Bibliothek zum Entprellen habe ich nun benutzt um den linken (im Bild oben ;-)) und rechten Taster zu entprellen. Für die reale Anwendung muss man noch ein wenig mit der debounce-Zeit und der "duration" (wie lange wurde gedrückt) spielen.


Der aktuelle Quelltext: http://popovic.info/html/arduino/kaffee_timer/kaffee_timer_v3.pde. Die Uhr wird beim Drücken der Stop-Taste noch nicht auf 00 zurückgesetzt, vielleicht schaffe ich das heute Abend.

lg fresapo
ps den rechten Taster Frage ich doch nicht via Interrupt ab, das schien mir (bei Benutzung der bounce-library) einfacher.
10  International / Deutsch / Re: Shot-Timer für Espressomaschine on: June 21, 2011, 03:33:35 pm
Hallo zusammen,

die Schaltung ist aufgebaut und funktioniert (große Anzeige nicht angeschlossen):

Für das Hochzählen der Sekunden verwende ich einen Interrupt / die Bibliothek: http://www.arduino.cc/playground/Main/MsTimer2

Noch nicht auf dem Bild sind zwei Buttons links/rechts. Die Logik des linken Buttons, zu ihm gehören die Variablen alter und aktueller Zustand, ist in dieser Tabelle dargestellt:

--------------------------------------------------------------------------
 leftButtonLastState | leftButtonState | ToDo
 --------------------------------------------------------------------------
 0 | 0 |  zeigeUhrzeit
 0 | 1 |  starteUhr und Variable leftButtonLastState erhöhen
 --------------------------------------------------------------------------
 1 | 0 |  zeigeUhrzeit
 1 | 1 |  starteUhr und Variable leftButtonLastState erhöhen
 --------------------------------------------------------------------------
 2 | 0 | zeigeUhrzeit
 2 | 1 | zeigeUhrzeit
 --------------------------------------------------------------------------

Wenn man den rechten Button drückt, soll ein Interrupt ausgelöst werden, der die Uhr anhält und die Variable leftButtonLastState auf 0 zurück setzt, das werde ich hinkriegen. Außerdem muss ich die Taster noch entprellen, da hab' ich Bammel vor.

Den Quelltext gibt es unter http://popovic.info/html/arduino/kaffee_timer/kaffee_timer_v2.pde

Ich hoffe das ganze ist nicht zu unverständlich und freue micht (als relativer Anfänger) über Tipps, auch wenn es nur Kleinigkeiten sind!

lg fresapo
11  International / Deutsch / SOLVED --- Re: FTDI Treiberproblem Win7 64bit on: June 21, 2011, 06:56:54 am
Hallo zusammen,

vielen Dank für Eure Tipps.

Fehlerursache: Ich war bei der Installation ein Verzeichnis zu weit abgestiegen. Der richtige Treiber befindet sich aber unter
\arduino-0022\drivers

und NICHT unter
\arduino-0022\drivers\FTDI USB Drivers
wo ich gesucht habe.

lg fresapo
@uwefed: Danke, nach dieser Anleitung bin ich eigentlich vorgegangen, aber dann versehentlich ins Unterverzeichnis "gerutscht"
12  International / Deutsch / --- solved --- FTDI Treiberproblem Win7 64bit on: June 21, 2011, 03:00:41 am
Hallo zusammen,

ich habe 2 Unos vor mir, die unter WinXP SP3 laufen.

Unter Win7 (64bit) gelingt es mir (als Admin) nicht, den passenden Treiber zu installieren:
Beim ersten Versuch wurden die Board nicht unter Anschlüsse COM/LTP einsortiert, sondern unter andere Geräte:
edit: natürlich habe ich hier versucht den Treiber wie in "getting started" beschrieben zu installieren - erfolglos!

Gerät deinstalliert, vom vom USB abgezogen und neu eingesteckt.  Beim den weiteren Versuchen habe ich als Gerätetyp FTDI selbst ausgewählt und auch unter http://www.ftdichip.com/Drivers/VCP.htm den aktuellsten Treiber besorgt. Im Gerätemanager sieht's dann so aus (neu ist COM4):
aber den Treiber kann ich nicht installieren ("Treiber konnte nicht installiert werden").

Hat mir jemand einen guten Tipp?
Danke + lg
fresapo
13  International / Deutsch / Re: Shot-Timer für Espressomaschine on: June 20, 2011, 07:35:10 am
Hi,
danke dir (auch für den PWM-Tipp) , hab's in der Grafik korrigiert.
Morgen werde ich die Schaltung aufbauen und den Quelltext hier einstellen.
lg fresapo
14  Community / Website and Forum / Re: TapaTalk... on: June 19, 2011, 03:10:07 am
Hello,
I would like to use tapatalk for arduino.cc, too!
thx, and best regards
fresapo
15  International / Deutsch / Re: Shot-Timer für Espressomaschine on: June 18, 2011, 11:57:29 pm
Hallo madworm,

vielen Dank für deine Antwort.

ad1): den Kondensator habe ich entfernt.
ad2): danke, ist korrigiert (war es von anderen Foren gewohnt anders Links einzufügen)
ad3): vielleicht nutze ich die MsTimer2 - Bibliothek  und
ad4): um das debouncen kümmere ich mich anschließend.

Danke + lg
fresapo

edit:
den Anschluss der 7-Segment-Anzeigen habe ich nun passender zum Datenblatt gewählt und den Kondensator weggelassen:


Code:
/*
 7-Segment-Display:
 a-7 <-> Q0
 b-6 <-> Q1
 c-4 <-> Q2
 d-2 <-> Q3
 e-1 <-> Q4
 f-9 <-> Q5
 g-10 <-> Q6
 dp-5 <-> Q7 nicht in Benutzung

 Darstellung der Ziffern:
 0 = a+b+c+d+e+f = 63
 1 = b+c = 0*2^0 + 1*2^1 + 1^*2^2 + 0*2^3 + 0*2^4 + 0*2^5 + 0*2^6 + 0*2^7 = 01100000b = 6
 2 = a+b+d+e+g = 91
 3 = a+b+c+d+g = 79
 4 = b+c+f+g = 102
 5 = a+c+d+f+g = 109
 6 = a+c+d+e+f+g = 125
 7 = a+b+c = 7
 8 = a+b+c+d+e+f+g = 127
 9 = a+b+c+d+f+g = 111
 */
lg fresapo
Pages: [1] 2