Show Posts
Pages: [1] 2 3 ... 191
1  International / Deutsch / Re: Frage zu RFID RC 522 on: Today at 09:15:46 am
Telefonseelsorge konnte mir mit meinem Arduino Problem nicht weiterhelfen smiley-sad

Nein, die helfen ganz allgemein bei Verzweiflung und nennen Dir Anlaufstellen und Behandlungsmöglichkeiten.

aber du ! und das ist umso besser, ich habe mir jetzt ne alte IDE zugelegt Arduino 1.0 aber leider klappt es damit auch nicht.

Definiere bitte mal "klappt nicht" in dem Zusammenhang!

Arduino-Boards sind nicht klappbar, also ist es ein ganz normales Feature, dass die Boards nicht zusammengeklappt werden können.

Im übrigen: Was für ein Board soll das sein, das Du klappen möchtest? Arduino-IDEs vor 1.0 unterstützen ja nicht einmal das UNO-Board standardmäßig?

> Insofern wie und wo binde ich die Arduino.h ein ? Ich checke dass nicht ganz da
> ich ja nur die librarys SPI und RFID eingebunden habe.

Ich habe mir das rar-Archiv mal runtergeladen: In der RFID-Library wird bereits Arduino.h eingebunden, diese Library sollte OK sein für die Verwendung von Arduinoversionen ab 1.0 oder höher.

Und die SPI-Library, die Du zusätzlich installiert hast und die WProgram.h einbindet (und daher für uralte Versionen der Arduino-Software ist), würde ich mal wieder weglöschen.

Arduinoversionen ab 1.0 bringen nämlich schon eine eigene SPI-Library mit und als erstes würde ich daher probieren, Deinen Reader mit der vorhandenen SPI-Library zu betreiben statt mit einer namensgleichen Uralt-SPI-Library.


2  International / Deutsch / Re: Handscanner auslesen on: Today at 08:33:18 am
Ich habe einen sogenannten CIS (Contact image sensor).
An diesen Sensor schließe ich ein 5GHz Clock-Signal an(PWM vom arduino müsste doch klappen).

An keinem der bisher existierenden Arduinos taktet irgendwas mit 5 GHz.
Und schon gar kein Ausgang eines Arduino-Boards.
3  International / Deutsch / Re: Datenempfang von xively.com funktioniert nicht on: Today at 08:27:29 am
kann mir den keiner helfen? smiley

Wenn Du zu faul bist, Dir die Antwort des Servers auf Deine Anfrage auf den seriellen Monitor auszugeben, dann gib die abgefragte Adresse http://api.xively.com/v2/feeds/1051974661 in Deinem Web-Browser ein und Du wirst sehen, was als Antwort zurückkommt!
4  International / Deutsch / Re: Zeitscheiben für Ereignisse vernünftig programmieren on: Today at 08:13:27 am
als Neuling im Arduino Uno - Bereich beschäftige ich mich mit dem Projekt, eine Kamera und Blitze für High-Speed-Fotografie anzusteuern.

Eine einfache Ablaufsteuerung für fotografische Zwecke habe ich hier mal gepostet:
http://forum.arduino.cc/index.php?topic=211536.msg1552201#msg1552201
Das sollte eigentlich ausreichen, um eine zeitliche Abfolge von Schaltvorgängen hochgenau zu steuern.

Für noch extremere Anforderungen an die Wiederholgenauigkeit habe ich hier dann nochmal einen wesentlich aufwändigeren Code gepostet:
http://forum.arduino.cc/index.php?topic=223038.msg1636451#msg1636451
5  International / Deutsch / Re: Frage zu RFID RC 522 on: Today at 07:38:48 am
Kann mir da bitte jemand weiterhelfen ? Ich verzweifle hier fast

Wegen Deiner Verzweiflung:
http://www.telefonseelsorge.de/

Wegen Deines Arduino-Problems: Ab der Version 1.0 kennt die Arduino-Software kein WProgram.h mehr.

Falls Du irgendwelche Uralt-Libraries aus der Arduino-Steinzeit verwenden möchtest, müßtest Du diese Libraries erstmal auf Arduino-Softwareversionen ab 1.0 umschreiben. Im einfachsten Falle reicht es manchmal aus, anstelle der nicht mehr vorhandenen Datei WProgram.h die Datei Arduino.h in der Library einzubinden.
6  International / Deutsch / Re: RGB-LED Farbe durch Ultraschallsensor ändern on: July 21, 2014, 03:08:01 pm
Habe denen natürlich einen Widerstand vorgesetzt und zwar so wie hier beschrieben https://learn.adafruit.com/assets/2092.

Dein Sketch ist soweit in Ordnung und er sollte dann auch laufen, wenn Du den Controller nicht durch falsche Beschaltung überlastest und noch einen dicken Fehler im Sketch beseitigtst:
Offenbar fehlt in Deinem eingangs geposteten Sketch die Serial-Initialisierung mit:
Code:
  Serial.begin(9600);
in der setup()-Funktion.

Normalerweise sollte auf Serial dann gar nichts passieren, d.h. weder sollte irgendwas ausgegeben werden noch sollte der Sketch bei Ausgabe bestimmter Werte abstürzen. Vielleicht versuchst Du es mal mit Serial.begin(9600); im setup und schaust nach, wie sich das Programm dann verhält.
7  International / Deutsch / Re: RGB-LED Farbe durch Ultraschallsensor ändern on: July 20, 2014, 06:41:49 am
was das für eine RGB-LED ist, kann ich dir leider nicht sagen. Die war im Funduino - Starter Kit mit bei.

Also wohl eine LowPower RGB-LED (3*20mA).

Wenn ich die RGB-LED alleine betreibe, funktioniert auch alles !

Ja klar, und wenn Du bei einem Hochhaus mit 22 Etagen vom Dach springst, funktioniert beim Weg abwärts auch für 21 Etagen alles!

Wenn Du LEDs direkt und ohne Vorwiderstand an digitale Outputs anschließt, fabrizierst Du eine extrem starke Stromüberlastung. Die LED leuchtet viel zu hell und aus den Outputs saugst Du viel zu viel Strom, so dass Dir der Controller auf dem Board (und natürlich auch die LED) durchbrennen kann.

Für Deine RGB-LED brauchst Du drei geeignete Vorwiderstände, einen für rot, einen für grün und einen für blau.

Was meinst Du weshalb die Dir im Set die Widerstände beigelegt haben?

Hast Du kein Tutorial zu Deinem Set dazubekommen?

Schaue es Dir z.B. hier mal an mit einer RGB-LED und einem Breadboard, falls Du schaltungstechnisch irgendwelche Defizite beim Verständnis hast, wie Du eine LowPower RGB-LED an einen Mikrocontroller anzuschließen hast:
https://learn.adafruit.com/adafruit-arduino-lesson-7-make-an-rgb-led-fader/breadboard-layout
8  International / Deutsch / Re: RGB-LED Farbe durch Ultraschallsensor ändern on: July 20, 2014, 05:47:20 am
Bei weiten Entfernungen klappt dies auch, sobald ich aber näher rangehe, bleibt er einfach hängen, was ich an der Ausgabe im Serial Monitor sehe.

Was für eine RGB-LED?
Bei Lowpower-LED die Vorwiderstände für die RGB-Farben richtig bemessen?
Oder als Highpower-LED mit passender Konstantstromquelle betrieben?

Und warum triggerst Du Deinen Ultraschallsensor um ein tausendfaches langsamer als üblich?

Zum Triggern der Sensoren ist eher ein Triggerimpuls von 10 Mikrosekunden üblich und nicht ein Triggerimpuls von 10 Millisekunden:

Code:
  digitalWrite(TRIGGERPIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIGGERPIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIGGERPIN, LOW);
9  International / Deutsch / Re: Brauche Hilfe bei einer Stoppuhr on: July 19, 2014, 05:27:55 am
Dann hätte ich es gerne so, das Nachdem Kart 1 im ziel ist, bzw. die erste Zeit halt gestoppt wurden ist angezeigt wird:

00:00:000     XXXXX
XXXXXXXXXXXXXXXX

Und das dann solange bis Kart 2 im Ziel ist. Dann soll halt die Zeit von Kart 2 angezeigt werden:

00:00:000     XXXXX
XXXXXXXXXXXXXXXX

Und dies halt dann solange, bis Kart 1 wieder im Ziel ist....

Da das gezeigte Demo-Programm ganz schulmäßig in eingabe(), verarbeitung() und ausgabe() unterteilt ist, ist eine Änderung der ausgabe() problemlos möglich, indem nur diese eine Funktion geändert wird. Eben so, wie man die Ausgabe gerne hätte.

Ich habe die Ausgabefunktion mal etwas abgeändert:
- nur die erste LCD-Zeile wird zur Ausgabe benutzt
- falls beide Zähler stehen oder beide laufen ==> Wechselanzeige im 3-Sekundentakt
- falls ein Zähler steht und der andere läuft ==> Anzeige nur des stehenden Zählers zusammen mit einem Blinkmarker

Einfach die Ausgabefunktion austauschen:
Code:
void ausgabe()
{
  int hour,minute,second, fraction;
  char timebuf[17];
  boolean markerActive=false;
  int i=(millis()/3000)%2; // Welcher Timer ist zur Darstellung dran?
  if (timerActive[0]!=timerActive[1]) // Ist nur ein Timer aktiv?
  { // in dem Fall nur den inaktiven Timer darstellen
    if (timerActive[0]) i=1; else i=0; // der stehende (andere) Timer wird angezeigt
    markerActive=true;
  }

    unsigned long time=timerTime[i];
    fraction=(time%1000)/10; // Millisekunden/10 = Hundertstel
    time=time/1000;
    second=time%60;
    time=time/60;
    minute=time%60;
    hour=time/60;
    sprintf(timebuf,"%02d:%02d:%02d,%02d",hour,minute,second,fraction);
    lcd.setCursor(0,0);
    lcd.print(i+1);
    lcd.print("= ");
    lcd.print(timebuf);
    if (markerActive && (millis()/500)%2==0)
      lcd.print(" *");
    else 
      lcd.print("  ");
}

Falls eine Anzeige nicht für bis zu 100 Stunden benötigt würde, sondern z.B. nur im Minutenbereich, könnte man ggf. auch beide Timer gleichzeitig nebeneinander in einer Zeile anzeigen.
10  International / Deutsch / Re: Frage zur Taktgenerierung per Arduino on: July 18, 2014, 06:25:18 am
Aber damit wirst Du auch nicht auf eine Rate von 627ms kommen, denn der Aufruf der Funktion und die Abarbeitung der Anweisungen benötigt auch Zeit.

Genau deshalb habe ich in Reply #7 ja auch einen Code gepostet, der seinen Takt einhält und nicht abhängig ist, ob der Code zwischendurch ein paar Millisekunden mehr oder weniger läuft.
11  International / Deutsch / Re: Frage zur Taktgenerierung per Arduino on: July 18, 2014, 05:59:39 am
Wenn ich alle 626ms den pin (x) high setze, dann 50ms warte und anschließend auf low setze, dann ergibt sich doch eine
Gesammtdauer von 676ms, oder zählt der Arduino intern weiter und der high/low Wechsel mit 50ms delay wird nicht
mitgezählt ?

Sowohl der millis() als auch der micros() Zeitzähler zählen auf dem Arduino die Zeit weiter, während ein delay läuft.

D.h. wenn Du "alle 626ms" etwas startest, dann läuft auch "alle 626ms" etwas ab.

Damit etwas wirklich exakt im vorgegebenen Takt abläuft, auch wenn zwischendurch noch anderer Code ausgeführt wird, müßtest Du eben den Impuls jedesmal dann ausgeben, wenn der Millis-Zähler entsprechend vorgelaufen ist.

Beispielcode dafür, um etwas immer im vorgegebenen Zeitabstand auszuführen:
Code:
#define MOTOR 13

void setup() {
  Serial.begin(9600);
  pinMode(MOTOR,OUTPUT);
}

#define TICKTIME 626

boolean oneTick(){
  // testet, ob die TICKTIME vergangen ist
  static unsigned long prevMillis;
  boolean result=false;
  if ( millis() - prevMillis >= TICKTIME)
  {     
    result=true;
    prevMillis += TICKTIME;
  }
  return result;
}


void loop() {
  if (oneTick())
  {
    digitalWrite(MOTOR,HIGH);
    delay(50);
    digitalWrite(MOTOR,LOW);
  }
}

Millisekunden ist allerdings eine recht grobe Teilung. Wenn Du bessere Möglichkeiten zur Feineinstellung haben möchtest, z.B. um Taktfrequenzunterschiede von Arduino-Boards ohne Schwingquarz sondern mit ungenauen Resonatoren etwas auszugleichen, kannst Du die TICKTIME auch in Mikrosekunden vorgeben und in der oneTick()-Funktion micros() statt millis() verwenden.
12  International / Deutsch / Re: Frage zur Taktgenerierung per Arduino on: July 18, 2014, 03:36:38 am
Die Frage ist nun, wenn ich alle 626 Millisekunden ein Signal zum Steppertreiber (A4988) mit der Dauer von 50ms schicke, muss ich den Takt dann so programmieren, dass er alle 626 Millisekunden für 50ms wiederholt wird oder alle 576ms für 50ms ?

Mal kurz in die Beschreibung des Stepper-Treibers reingeschaut und gelesen:
Each pulse to the STEP input corresponds to one microstep of the stepper motor

Unter "pulse" versteht man typischerweise 1*HIGH und 1*LOW = 1 pulse

Also mußt Du alle 626 ms den Ausgang einmal für eine gewisse Zeit HIGH setzen.
13  International / Deutsch / Re: Brauche Hilfe bei einer Stoppuhr on: July 17, 2014, 02:50:03 pm
Wenn das jetzt das Display wäre:

XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX

Dann hätte ich es gerne so, das Nachdem Kart 1 im ziel ist, bzw. die erste Zeit halt gestoppt wurden ist angezeigt wird:

00:00:000     XXXXX
XXXXXXXXXXXXXXXX

Und das dann solange bis Kart 2 im Ziel ist. Dann soll halt die Zeit von Kart 2 angezeigt werden:

00:00:000     XXXXX
XXXXXXXXXXXXXXXX

Also die zweite Zeile soll immer leer bleiben, nur die erste Zeile verwendet werden?
Und die laufenden Zeiten sollen nicht angezeigt werden?

Du brauchst im Display nicht einmal eine Info darüber, ob die gerade nicht angezeigte Zeit läuft oder ob sie gerade angehalten ist?
14  International / Deutsch / Re: Brauche Hilfe bei einer Stoppuhr on: July 17, 2014, 02:27:26 pm
Mit Endzeiten hab ich mich glaub ich ein bisschen falsch ausgedrückt smiley-roll-sweat

Ich meine die Rundenzeiten von Kart 1 und Kart 2 aber immer nur die letzte, und auch nicht im Wechsel.

Zu ändern wäre die "ausgabe()" Funktion.

Wenn Du das nicht alleine hinbekommst, mach mal eine Skizze, was in den zwei Zeilen wie angezeigt werden soll.
15  International / Deutsch / Re: Entfernung auslesen inkl. Ampel (fade) on: July 17, 2014, 02:19:32 pm
Funktinoiert aber nur die Rote LED...
hab ich vllt die beiden andren falsch angeschlossen?
fehlt mir da irgend was? an den Pins 10 und 11 ?

Vielleicht mal die Größe des Vorwiderstands und die Polung der LED prüfen.
Pages: [1] 2 3 ... 191