Show Posts
Pages: 1 ... 77 78 [79] 80 81 ... 201
1171  Using Arduino / Programming Questions / Re: rpm control program on: August 29, 2013, 09:38:37 am
You're looking for an "else" :

Code:
if ( val > 800 )
{
   analogWrite(m1, 0);      // stop
   digitalWrite(m2,HIGH); // fan on
}
if (val < 780)
{  
  digitalWrite(m2, LOW); // fan off
  if ( val > 400 )
  {
      analogWrite(m1, 100); // slow
  }
  else if (val > 200 )
  {
      analogWrite(m1, 200); // medium
  }
  else
  {
      analogWrite(m1, 300); // full speed
  }
}

 I also added a sample hysteresis : if value is between 780 and 800 there's no change: if fan wan running, it keep running; if its off it stays off until val rises even more.
1172  Using Arduino / Programming Questions / Re: Breaking down a string won't work right on: August 29, 2013, 08:18:15 am
Ok, so replacing that with
Code:
if(strcmp(Command[0],"SWITCH")) {
should do the trick?
Almost.
Code:
char * Command[] = {"SWITCH", "1", "3"};
// ...
  if(strcmp(Command[0],"SWITCH") == 0) {
    char* p1 = Command[1];
    int i = atoi(p1);  // string to int
    Serial.print("Found SWITCH;");Serial.print(i);
  }


strcmp() returns 0 when equal

Edit: finding bugs even before compiling is a bad sign.
1173  International / Deutsch / Re: I2C RTC DS1307 verliert wieder die Zeit/Datum on: August 29, 2013, 07:54:33 am
Auch während
165.165.2165 45:165:85 Uhr
kommt/käme  ?

( Der Scanner wiederholt  alle 5 Sek. einen Durchlauf  )

 
Dann wird es allmählich wirklich merkwürdig ...
1174  International / Deutsch / Re: I2C RTC DS1307 verliert wieder die Zeit/Datum on: August 29, 2013, 07:36:34 am

http://playground.arduino.cc/Main/I2cScanner

Quote
This very simple sketch scans the I2C-bus for devices. If a device is found it reports that to the Arduino serial monitor.
This sketch is the first step to get the I2C communication working.


Sollte dir die RTC und den EEPROM melden ... und hat nichts mit der Batterie-Pufferung zu tun
1175  International / Deutsch / Re: I2C RTC DS1307 verliert wieder die Zeit/Datum on: August 29, 2013, 07:05:30 am
Noch was Generelles:

Hat dein Modul Pullup-Widerstände drauf ?
I²C braucht sowas: Je ein Widerstand zwischen Vcc und SCL / SDA, Wert ca. einige kOhm.

Nachtrag:
Ooops, hast ja im ersten Post schon einen Link mitgeschickt, sollte eigentlich ...

Was sagt denn der I2CScanner Sketch ?
Findet der DS1307 RTC ( 0x68 )  und 24C32 EEPROM ( ??? ) ?
Oder erst nachdem x Minuten nach Vcc high alles ok ist ? 
1176  International / Deutsch / Re: Compiler Fehler - warum ?? on: August 29, 2013, 04:38:46 am
Quote
Dumme Frage: Wie prüfe ich das
Am einfachsten schaust du erstmal, wie groß der Sketch beim Übersetzen ist:

Quote
Binäre Sketchgröße: 466 Bytes (von einem Maximum von 32.256 Bytes)
Da ist kein F-Makro drin, und in einem UNO hast du eh nie mehr als 64 kB  smiley-wink
1177  International / Deutsch / Re: I2C RTC DS1307 verliert wieder die Zeit/Datum on: August 29, 2013, 04:32:55 am
Das überzeugt mich auch: wenn von allein irgendwann die richtige Zeit von der RTC kommt, ohne dass sie direkt vorher gesetzt wurde, ist die Batteriepufferung in Ordnung, und der Fehler liegt eher irgendwo in der I²C Kommunikation.

Bis du einen anderen Uhrenmodul hast (Die chinesischen für 1,50 Euro(incl. Versand) hängen halt schon mal 6 Wochen im Zoll, bis sie befreit werden) ,
kannst du ja mal in jurs' Demo im 10 -Sekundenzyklus das Folgende einfügen:

Code:
 Wire.beginTransmission(RTC_I2C_ADDRESS);
  boolean test = Wire.write(0);
  Wire.endTransmission();
  if (test == false) Serial.println(" I2C Problem mit RTC");

Die normale Library prüft den Erfolg nicht. Wozu auch, bei den begrenzten Möglichkeiten zur Fehler-Reaktion und -Behebung ...
1178  Using Arduino / General Electronics / Re: Setting up an arduino controlled relay causes main short circuit on: August 29, 2013, 03:11:02 am
Quote
Pictures always help

I  barely see a difference between N and PE in your picture smiley-wink
Yes, there is a small dot, indicating that PE is connected to consumers casing. But without a word, it's hard to see that this is the main info of your picture.

N runs "back" all the unbalanced current from L, but there should not be any current on PE.

Are there no ground fault circuit interrupters / residual current devicesin UK ?
Those nasty beasts punishing you for connecting PE and N ...
If there are, what's the correct term ?
1179  International / Deutsch / Re: Programm bleibt unerwartet stehen (Stepper Betrieb) on: August 28, 2013, 09:10:40 am
- Der Rückgabewert ist undefiniert, wenn EingabeTrue != true
- Du gehst davon aus, dass entweder gar keine, oder eine komplette Eingabe vorhanden ist ?
      Da hilft dein delay(5000), aber sicher ist das nicht.
- Inhalt == "!"  trifft nur zu, wenn Inhalt ein String ist und '!' das erste und einzige Zeichen ist
- Dein Codeschnipsel enthält keine Variablendefinitionen, das erschwert das Raten ...

Ich vermute mal, '!' soll ein Kennzeichen "Zahl zu Ende, Eingabe fertig" sein.
Die Funktion sollte -- möglichst ohne delay -- lesen was da ist und Eingabezahl weiterberechnen, und sobald ein '!' gelesen wurde, EingabeTrue setzen.

Den String Inhalt und Inhalt.Concat(EingabeZeichen) brauchst du nicht, da jedes Zeichen sofort verarbeitet wird.



Warum du eine NotausAbfrage zwischen 2 Zeichen machst, aber 5 sec Delay ( ohne NotausAbfrage  ), verstehe ich nicht.
Ohne Delay musst du dir nur merken, wann du das letzte Mal      "Eingabe erforderlich"   ausgegeben hast, damit das nicht zu oft kommt.

NotausAbfrage(); kann dann nach loop, wo es hingehört , und mehrmals pro millisekunde drankommt.
StringAuslesen() könnte sich auch auf das Lesen eines einzelnen Zeichens beschränken ( oder gar keins ), dann wäre NotausAbfrage() noch häufiger dran.


Quote
Bis dahin bleibe ich dabei, dass ich Dinge nachlese,nachfrage und dann ausprobiere.

Das ist gut. Falls du meine Bemerkung über c++ - Programmierer als Kritik an dir aufgefasst hast, war das ein Missverständnis.
Es war eine allgemeine Warnung, vor c und dem c - Compiler, der nicht immer so hilfreich ist, wie man sich das gerne wünschte.
Bei mir ist gelegentilch ein leicht ranziger Ton hörbar. Das sollte keinen stören smiley-wink
1180  International / Deutsch / Re: Material Frage on: August 28, 2013, 07:51:04 am
Das gilt umso mehr, wenn du demnächst statt mit kompletten Arduinos mit "standalone atmega328 auf Lochraster" spielst arbeitest.
( Da hast du übrigens auch die Option 8MHz(intern) ohne externen Quarz, was allerdings einen anderen -- oder gar keinen -- Bootloader erfordert. )
1181  International / Deutsch / Re: Material Frage on: August 28, 2013, 07:28:18 am
Wenn du nicht für was anderes 7V brauchst: dein Arduino wird mit 4 Batterien direkt an 5V genauso lang laufen wie mit 6 Batterien an Vin, schätze ich. Die zwei extra Batterien bringen eher wenig. Ein Atmega328P läuft auch mit 3.3 V noch; wenn auch 16 MHz etwas "übertaktet" wäre. ( Dafür sollten es offiziell >3.8V sein, aber es gibt einige, die bei 3.3V und 16 MHz keine Probleme sehen )

( aus dem Datenblatt  ) http://www.atmel.com/Images/doc8161.pdf)


Der Regler Vin -> 5V ist eher für Netzbetrieb gedacht als für stromsparenden Batterie-Betrieb. Die zusätzliche Spannung wird einfach verheizt.

Edit: Picture Size
1182  International / Deutsch / Re: Programm bleibt unerwartet stehen (Stepper Betrieb) on: August 28, 2013, 06:20:39 am
Na ja.
Code:
char str[] = "test";

legt die Länge fest ( auf 5 Byte ); 
Wenn du danach
 
Code:
   str[10] = 0;
schreibst, ist das kein Compiler-Fehler,
macht dir aber nicht unbedingt Freude.

Quote
c / c++ ist für Leute die wissen (sollten), was sie tun.
... oder so ähnlich, hab ich kürzlich gelesen.
1183  International / Deutsch / Re: Programm bleibt unerwartet stehen (Stepper Betrieb) on: August 28, 2013, 04:49:39 am
Die Aussage " .. bleibt unerwartet stehen" und String Objekte in einem Sketch verursachen in der Regel Reflexe...

Keine Ahnung, ob das in deinem Leonardo - Fall auch zutrifft.
1184  International / Deutsch / Re: I2C RTC DS1307 verliert wieder die Zeit/Datum on: August 28, 2013, 04:42:12 am
Mit Bat-Pin meinst an der Seite bei der unbestückten Stiftleiste?!
Ja

Was ich auch nicht ganz verstehe:

Code:
if(timeStatus()!= timeSet)

bringt mir immer ein Ok. Auch wenn hinterher im LCD-Display beispielsweise der 24.6.2038 steht. Die Systemzeit wird doch immer nur abgeglichen, wenn der Arduino am USB Port des Rechners hängt

Die Time library hat erstmal mit der RTC nichts zu tun,  wird nur über
Code:
setSyncProvider(RTC.get);   
damit verknüpft. ( lesend, d.h. Time zeigt dir die von der RTC gelesenen Werte an  )

In
Code:
     time_t t = processSyncMessage();
     if(t >0)
     {
        RTC.set(t);   // set the RTC and the system time to the received value
        setTime(t);         
     }
setzt du die RTC ...
1185  International / Deutsch / Re: Arduino Uno + LCD Keypad Shield + Temperatursensoren on: August 28, 2013, 04:02:59 am
Hast du die SD Beispiele alleine denn schon zufriedenstellend am Laufen gehabt, mit deinem LC-Studio Modul ?
Da gibt es reichlich Diskussionen, ob die 5V Signale des Arduino so überhaupt zulässig sind.
http://forum.arduino.cc/index.php?topic=182819.msg1359735#msg1359735
http://forum.arduino.cc/index.php?topic=166445.msg1241848#msg1241848

Ich hab mit einer kleinen alten SD Karte und "Rückwärts-Dioden als Level-Shifter" Erfolg, aber es scheint auch oft "so" zu gehen.
Der Innenwiderstand eines Arduino Output scheint schon zu reichen...
http://forum.arduino.cc/index.php?topic=134481.msg1011244#msg1011244


Was die Software angeht:
Quote
  ich habe noch nicht probiert die beiden Beispiele zusammen zu kopieren. traue mich da irgend wie nicht ran
Mach doch ein backup von deinem Sketch. Und dann frisch ans Werk smiley-wink

Der Arduino ist zum Selber Programmieren gemacht. Für Hilfe dabei ist dieses Forum...


 
Pages: 1 ... 77 78 [79] 80 81 ... 201