Show Posts
Pages: 1 ... 42 43 [44] 45 46 ... 201
646  International / Deutsch / Re: "nan" Wert in der Anzeige on: April 05, 2014, 04:14:29 am
wenn ich den Sketch über "Reset" am Arduino starte, dann bekomme ich bei der
Anzeige eines Wertes zuerst "nan" -und dann den richtigen Wert.

Verstehe, "den" Sketch.
Welcher ist das?

"nan" ist eine ungültige Gleitkommazahl und steht für den Wert "Not a Number".

Dieser Wert tritt bei Gleitkommazahlen z.B. bei einer Division durch Null auf.
647  International / Deutsch / Re: Analog Wert am I2C Display ausgeben on: April 05, 2014, 04:06:09 am
Nicht nur vieleicht sondern sicher!!

Auf einem MEGA Board?

Er hat doch implizit angegeben, einen Arduino MEGA zu verwenden:
über ein LCD Display ausgeben, welches über die Ports 20 & 21 (I2C) mit dem Board verbunden ist.

Wenn bei der Boardeinstellung "Arduino MEGA" trotzdem der A5 (SCL auf dem UNO) mit irgendeiner I2C Geschichte angesteuert wird, muss ja wohl die von ihm verwendete I2C-Display Library fehlerhaft sein.
648  International / Deutsch / Re: Arduino Nano V3.0 - kann digitale PINS nicht deklarieren on: April 04, 2014, 11:45:12 am
Code:
int LED9 = 2;

Die digitalen Pins sind einfach durchnumeriert.
Nur die analogen benötigen ein A davor (und bei "analogRead" teilweise nicht mal das).
649  International / Deutsch / Re: SPAM per PN im Forum? on: April 04, 2014, 08:40:30 am
Bin ich der einzigste der per PN irgendwelche Anfragen bekommt?

Ich habe bisher noch keine Spam-Nachrichten über den persönlichen Nachrichtendienst des Forums erhalten.

Aber mein Username steht im Alphabet auch hinter Deinem, so dass es wohl noch einige Tage dauern dürfte, wenn er die Usernamensliste des Forums in alphabetischer Reihenfolge abgrast und jeden Tag nur wenige Spam-Mails sendet, damit es nicht auffällt.
650  International / Deutsch / Re: Analog Wert am I2C Display ausgeben on: April 04, 2014, 08:37:05 am
Wie ist das möglich?

Was hängt außer dem LCD und dem Poti noch als Schaltung am Arduino?
Ist GND vom LCD und GND vom Arduino miteinander verbunden?
Wie genau hast Du das Poti geschaltet?

Außerdem finde ich Deinen Code etwas merkwürdig. Probiere mal:
Code:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F,20,4);

const int Potentiometer = A5;  //Potentiometer
int val = 0;

void setup()
{
  lcd.init();
  lcd.backlight();
  lcd.print("Analog:");
}

void loop()
{
  lcd.setCursor(8,1);
  val = analogRead(Potentiometer);
  if (val<1000) lcd.print(' ');
  if (val<100)  lcd.print(' ');
  if (val<10)   lcd.print(' ');
  lcd.print(val);
  delay(100);
}
651  International / Deutsch / Re: Komme im Code nicht weiter - 2 Funktionen beeinflussen sich on: April 04, 2014, 04:34:35 am
Danke jurs, diese Version hatte ich schon und hat auch funktioniert. Nur kommen jetzt noch Zeitabfragen und intervaldauer mit dazu.

Um so mehr mußt Du Dein Programm funktionell nach dem EVA-Prinzip aufteilen, damit die Programmlogik überschaubar bleibt.

Eingabe: Stand der Sensoren feststellen, feststellen ob Zeiten und Zeitlimits erreicht sind
Verarbeitung: Verschiedene Zeiten und Zeitlimits neu setzen und Sollzustand der Ausgänge festlegen
Ausgabe ==> Zustand der Ausgänge so setzen wie es dem ermittelten Sollzustand entspricht

Der Trick bei der Abtrennung des Schritts "Verarbeitung" von den anderen Programmschritten ist, dass Du beim Verarbeiten die Sollzustände der Ausgänge während der Verarbeitung beliebig oft modifizieren kannst, mit Hilfe von beliebig vielen Sensordaten, Bedingungen und Zusatzbedingungen, ohne dass tatsächlich etwas geschaltet wird. Erst am Ende des Schritts "Verarbeitung", wenn alles berücksichtigt wurde, steht der zu schaltende Zustand fest. Und zwar für alle zu setzenden Ausgänge gleichzeitig. Und nur dieser eine nach endgültiger Verarbeitung feststehende und für alle Ausgänge zu diesem Zeitpunkt gültige Schaltzustand wird nach diesem Verarbeitungsschritt gesetzt.

Du darfst die "Verarbeitung" der Sensordaten, Zeiten, Bedingungen und Zusatzbedingungen NICHT mit anderen Schritten vermischen, insbesondere darfst Du nach Beginn der "Verarbeitung" von Informationen nicht noch einmal in den Zustand der Informationssammlung (Eingabe) wechseln und Du darfst auch nicht vor dem Ende der "Verarbeitung" eines Schrittes schon tatsächliche Schaltvorgänge ausführen, die sich möglicherweise im weiteren Verlauf der Verarbeitung als falsch herausstellen, wenn noch weitere Bedingungen verarbeitet werden.

Dein Programm ist vom Konzept her grundlegend falsch angelegt, weil es die Schritte vermischt und die "Verarbeitung" der Eingangsdaten und Zeiten von der Verarbeitung der Bedingungen und der Ausgabe der Schaltzustände nicht sauber getrennt ist.
652  International / Deutsch / Re: KSQ suche on: April 03, 2014, 04:43:56 am
Guter Hinweis: So eine KSQ ist dann gar nicht "dimmable", mit irgendwelchen PWM Signalen ?

Korrekt, so eine KSQ ist nicht dimmbar, sondern liefert im Betrieb konstant 350 mA.
Bzw. etwas darunter, ich hatte meine mal gemessen, mein Multimeter zeigt 342 mA oder so.
Nur EIN oder AUS, zu schalten auf der Primärseite.

Es gibt aber auch linear regelbare Konstantstromquellen ("dimmbare Konstantstromquelle"), die per PWM regelbar sind von 0mA bis zu einer Höchstgrenze z.B. 350 mA. Die liegen aber preislich viel höher und es gibt sie meines Wissens nach nicht anschlussfertig für 230V, sondern dann mußt Du immer noch ein Niederspannungsnetzteil mit einer oder mehreren PWM-regelbaren Konstantstromquellen selbst kombinieren.
653  International / Deutsch / Re: KSQ suche on: April 03, 2014, 04:15:40 am
Danke Jurs, ich habe mir 2 der KSQ bestellt, das ist mir sicherer.  Die LED`s  haben laut Datenblatt 3,2V Vorwärtsspannung da müsste ich mit 2 KSQ`s von den: http://www.led-tech.de/de/LED-Controlling/Konstantstromquellen/Netzgeraet-fuer-10-18x-1W-LEDs--230V--LT-1280_118_119.html, gut zurecht kommen.

Rein rechnerisch liegt bei 3,2V Vorwärtsspanung beides innerhalb der Spezifikation:
10*3,2V = 32V
20*3,2V = 64V
Spezifikation: 30 bis 72 Volt

Wenn Du die Dinger mit dem Arduino ein- und ausschaltest, müßtest Du natürlich darauf achten, die Geräte an der Primärseite (230V) ein und aus zu schalten, und NICHT auf der Sekundärseite den Konstantstrom abschalten.


654  International / Deutsch / Re: Bei LCD 2004 Farbe der Hintergrundbeleuchtung austauschen? on: April 03, 2014, 03:41:06 am
Ein kurzer Abschlussbericht: Ich habe kein Lehrgeld bezahlt smiley-wink.

Gratulation!
655  International / Deutsch / Re: KSQ suche on: April 03, 2014, 03:39:38 am
Die KSQ die ich jetzt angeschlossen hatte brachte 85V , aber soetwas finde ich nirgens.

Wenn die alte KSQ mit 20 Power-LEDs durchgeknallt ist, war diese wohl eigentlich eher nicht für die hohe Last geeignet, die Du drangehangen hast. Sonst wäre sie ja nicht defekt geworden.

Um welche Power-LEDs geht es denn genau? Vorwärtsspannung laut Datenblatt?

Viele weiße 1-W HighPower-LEDs haben weniger als 3,5V Vorwärtsspannung, so daß man an diese Netzteile dann auch 20 Stück dranhängen könnte:
http://www.led-tech.de/de/LED-Controlling/Konstantstromquellen/Netzgeraet-fuer-10-18x-1W-LEDs--230V--LT-1280_118_119.html
Kabel mit Netzstecker dazu:
http://www.led-tech.de/de/Technik-und-Zubehoer/Kabel-und-Schalter/Anschlusskabel-230V-fuer-Netzteile-und-mehr-LT-914_29_39.html

Du müßtest halt die Vorwärtsspannung laut Datenblatt der LEDs checken, und zwar bei einer von-bis Angabe im Datenblatt den oberen Wert für "VF @350mA", ob 20 mal Vorwärtsspannung unterhalb der 72V liegt, für die das Gerät spezifiziert ist.

Ansonsten benötigst Du zwei solcher KSQ-Netzgeräte, für je 10 LEDs eins.
656  International / Deutsch / Re: I²C Adresse auslesen / Bestimmen? DS1307 oder Tiny RTC-Modul! on: April 03, 2014, 02:20:04 am
Wenn jemand eine eingebung für mich hätte währe ich sehr dankbar ....

Vielleicht ist in Deiner Schaltung mit den PullUp-Widerständen am I2C-Bus etwas nicht in Ordnung?

Ist das DS1307 IC das einzige I2C-Gerät am I2C-Bus?
Oder sind noch andere I2C-Geräte vorhanden und am I2C-Bus aktiv?
Wie lang sind die Leitungen ungefähr, mit denen das DS1307 IC angeschlossen ist?
Sind vielleicht zusätzliche PullUp-Widerstände vorhanden, die nicht in der Schaltung eingezeichnet sind?
Ist sonstige andere Hardware gleichzeitig am Arduino angeschlossen?
Wie hoch ist die Batteriespannung der von Dir angeschlossenen Pufferbatterie?
657  International / Deutsch / Re: Komme im Code nicht weiter - 2 Funktionen beeinflussen sich on: April 02, 2014, 02:33:45 pm
Ist es vielleicht besser ich setzte alles in eine Funktion?

Das beste wäre, Du trennst Dein Programm funktionell nach dem EVA-Prinzip in drei Bereiche auf:
E - Eingabe
V - Verarbeitung
A - Ausgabe

In der "Verarbeitung" der Daten stellst Du dabei nur Variablen anders ein, z.B. Statusvariablen.

Und die tatsächlichen Schaltvorgänge führst Du dann im Funktionsteil "Ausgabe" aus.

Eine Ausgabefunktion für das Öffnen und Schließen der Magnetventile könnte dann z.B. so aussehen:
Code:
void schaltenMitVorrang(int wcPin, boolean wcStatus, int blumenPin, boolean blumenStatus)
{
  digitalWrite(wcPin, wcStatus);
  if (wcStatus) blumenStatus=false;
  digitalWrite(blumenPin, blumenStatus);
}
658  International / Deutsch / Re: Anschluss Drucksensor, Versorung 12V, Analogausgang 4-20mA on: April 02, 2014, 01:29:00 pm
Jetzt ist die Frage, wie muss ich diesen an dem Arduino Uno anschließen?

Wenn's genau werden soll, nimmt man eher einen Wandler, sowas wie diesen hier von Texas Instruments:
http://www.ti.com/lit/ds/symlink/rcv420.pdf

Das mit dem 250 Ohm Widerstand funktioniert vom Prinzip her aber auch und ist bei 14V Versorgungsspannung doch auch laut Datenblatt kein Problem.
659  International / Deutsch / Re: Auswertung von FSK-Daten in Wellenform on: April 02, 2014, 12:34:08 pm
Wie lang muss den so ein Haltepegel sein?

So, dass beim Empfänger die Decodierung funktioniert.
Das legt der Hersteller fest.
;-)

Ok die Überlangen impulse dienen zur Synchronisation, was ist aber mit der Stelle die ich jetzt im neuen Bild makiert habe.

Was soll damit sein?
Hast Du Dir den Link zur Erläuterung des Manchester-Codes in meinem letzten Beitrag mal angesehen?
Aus meiner Sicht spricht einiges dafür, dass Dein Signal ein mit Manchester-Code codiertes Signal ist.

Was Du da auf Deinem Bild siehst, sind keine "Wellen", sondern das ist ein Pegel, der zwischen High und Low schwankt, und das mit einem bestimmten Timing.

Beim Manchester-Code ist das Timing des Signals so, dass es im Zeitverlauf des Signals kurze "Highs" und kurze "Lows" gibt, und es gibt (exakt doppelt so lange) lange "Highs" und lange "Lows".

Die manuelle Manchester-Auswertung Deines Signals habe ich Dir mal in Dein Bild mit roten Strichen eingetragen.

Die Codierung der Daten-Bits steckt beim Manchester-Code immer in den Flankenwechseln;
Flankenwechsel Low-High: 1-Bit
Flankenwechsel High-Low: 0-Bit
(oder genau andersherum, das ist wahlfrei und aus dem Code nicht ersichtlich)

Deine Daten decodiere ich damit zur Bitfolge:
Code:
111010100111111101...  (steigende Flanke als 1-Bit interpretiert)
000101011000000010... (fallende Flanke als 1-Bit interpretiert)
660  International / Deutsch / Re: Bytes in einem Array drehen on: April 02, 2014, 10:21:57 am
byte arduino[1] = 0x16
byte arduino[2] = 0x01

daraus soll dann werden:

byte arduino[1] = 0x61
byte arduino[2] = 0x10

Ein Byte hat acht Bits.
Du möchtest die linken vier Bits mit den rechten vier Bits vertauschen.

Also schiebst Du von der ursprünglichen Zahl vier Bits nach links und verknüpfst BITWEISE ODER mit derselben Zahl, bei der Du vier Bits nach rechts geschoben hast.
Code:
arduino[i]= arduino[i]<<4 | arduino[i]>>4;
Pages: 1 ... 42 43 [44] 45 46 ... 201