Show Posts
Pages: 1 ... 60 61 [62] 63 64 ... 184
916  Using Arduino / Programming Questions / Re: Is there any AES library supports 'unsigned long' type.How to convert the type on: August 29, 2013, 10:24:39 am
So simply write aesFun() yourself, using the libraries you found.

And keep in mind, it takes a 4 bytes binary array as parameter, not a zero delimited char*

Have Fun!
917  Using Arduino / Programming Questions / Re: Software system development procedure question on: August 29, 2013, 10:05:08 am
Quote
If it were my choice I would be using an AB PLC for this task! Instead, I am learning the Arduino.
If you know those PLC's ( asssuming a patent attorney is more technician than laywer ) and still can get those you're familiar with, including the programming environment, try convince your boss. We're just talking about a little piece of electronics 5x7 cm, nothing more. It does not really affect the cost of the whole project, if that piece costs 5$ (for the atmega chip) or 30$ (an Arduino), as you need much more: a reliable system.

If you want to have fun with a nice hobby project, there's nothing but Arduino, with its billions thousands of free sample sketches, and cheap add-on shields, however.
918  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.
919  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.
920  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 ...
921  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
922  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 ? 
923  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
924  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 ...
925  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 ?
926  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
927  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. )
928  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
929  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.
930  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.
Pages: 1 ... 60 61 [62] 63 64 ... 184