Autor Thema: Welches Arduino Starterkit?  (Gelesen 2240 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Nevermind4712

  • Ensign
  • Beiträge: 183
Welches Arduino Starterkit?
« am: 23. Juli 2016, 21:14:00 »
Hallo Leute :) ,

Da ich feststelle das ich mich immer mehr vom Militärmodellbau wech und zu den Blinkedingern hinzieht, würde ich gerne mehr in die Materie des "blinkens" einsteigen.

Habe mich nun mal bei den  Arduino-Starterkits umgeschaut und da gibts ja soviel verschiedene,..welches wäre denn für unsereins geeignet?.
Könnt ihr mir da mal Hilfestellung geben?,..evtl mit nem Link?

Danke schonmal :)

Offline Fbstr

  • Lieutenant Commander
  • ***
  • Beiträge: 507
    • StarWars
Re:Welches Arduino Starterkit?
« Antwort #1 am: 24. Juli 2016, 09:58:59 »
Hallo Leute :) ,

Da ich feststelle das ich mich immer mehr vom Militärmodellbau wech und zu den Blinkedingern hinzieht, würde ich gerne mehr in die Materie des "blinkens" einsteigen.

Habe mich nun mal bei den  Arduino-Starterkits umgeschaut und da gibts ja soviel verschiedene,..welches wäre denn für unsereins geeignet?.
Könnt ihr mir da mal Hilfestellung geben?,..evtl mit nem Link?

Danke schonmal :)

Durch das DeAgo-Forum (http://forum.model-space.com/default.aspx?g=posts&t=18349) wurde ich da auch ein bischen angespitzt und habe mir im März dann über die Bucht ein Grundset besorgt:
http://www.ebay.de/itm/Kit-fur-Arduino-mit-UNO-MEGA-oder-NANO-Mikrocontroller-Deutsche-Anleitungen-/151689291323?var=&hash=item0

Da nicht mehr alles damals verfügbar war, wählte ich den Mega mit Kit7. Mich interessierte vor allem auch das Servo, Schrittmotor und Relais-Platine.
Ich habe alle Übungen duchgespielt, die Programmierung über mein Windows7 (was unter VMWare auf einem MacBookAir läuft) klappte auch prima.
Irgendwie bin ich zu dem Schluß gekommen, dass Multitasking nicht so richtig möglich ist. Oder dass ich (hoffentlich) noch nicht so die Ahnung von dem Teil habe.

Was ich damit meine: Das Programm läuft sequenziell durch mit Schleifen. Wenn ich z.B. LEDs ungleichmäßig blinken lasse, dann mit Kommandos ein/aus und die Zeitabstände. Soll in der Zeit - wo das Programm wartet - etwas anderes geschaltet werden, dann funktioniert das nicht. Zumindest habe ich das so verstanden. (Turtleman erklärt das hier ganz gut: http://forum.model-space.com/default.aspx?g=posts&m=191900#post191900)
D.h. die Idee mit einem Arduino das Cockpit und den Cargo-Computer in eine Disco zu verwandeln und dann noch mittels Servo eine Laserkanone zu bewegen, geht m. Mng. nach nicht so einfach. Ich lasse mich gerne aber dazu eines anderen belehren.

Auch auf dem DeAgo-Forum ist der Hype etwas eingeschlafen.

Gruss
Frank

« Letzte Änderung: 24. Juli 2016, 10:05:15 von Fbstr »
Gruß
Frank

Offline Mc Namara

  • Lieutenant Commander
  • ***
  • Beiträge: 914
  • Mal verliert man und mal gewinnen die Anderen
    • Northeimer Landsknechte e.V.
Re:Welches Arduino Starterkit?
« Antwort #2 am: 24. Juli 2016, 10:06:32 »
Was ich damit meine: Das Programm läuft sequenziell durch mit Schleifen. Wenn ich z.B. LEDs ungleichmäßig blinken lasse, dann mit Kommandos ein/aus und die Zeitabstände. Soll in der Zeit - wo das Programm wartet - etwas anderes geschaltet werden, dann funktioniert das nicht. Zumindest habe ich das so verstanden.
D.h. die Idee mit einem Arduino das Cockpit und den Cargo-Computer in eine Disco zu verwandeln und dann noch mittels Servo eine Laserkanone zu bewegen, geht m. Mng. nach nicht so einfach.

Hmm... das wär/ist ja doof!
Hatte so was in der Art, zwar nicht für den Falken, auch im Sinn.
Hab mich jedoch auch noch nicht wirklich mit befasst

Offline Nevermind4712

  • Ensign
  • Beiträge: 183
Re:Welches Arduino Starterkit?
« Antwort #3 am: 24. Juli 2016, 10:59:04 »
Evtl sind wir da einfach auf nem falschen Weg und anstelle vom Arduino wäre ne Pic-Programmierung sinniger?.

Auf den ganzen Circuitboards sind ja Pics, keine Ahnung ob man die auch mit nem Arduino programmieren kann, bin da absoluter Laie,..deshalb will ich ja kein Laie bleiben :D

Offline Galactican

  • Captain
  • *****
  • Beiträge: 2503
Re:Welches Arduino Starterkit?
« Antwort #4 am: 24. Juli 2016, 12:24:43 »
Ich habe ja immer noch einen defekten Hasbro R2 auf meiner Werkbank, der auf seine Instandsetzung wartet. Aus Neugier habe ich mal etwas gegoogelt:

https://www.google.com/search?q=hasbro+interactive+r2-d2+arduino&ie=utf-8&oe=utf-8

Ein paar ganz interessante Dinge sind dabei. Ich bin auch nicht vom Fach, aber es könnte sein, dass du mit einem Raspberry Pi multiple Aufgaben steuern könntest. :)

Offline Fbstr

  • Lieutenant Commander
  • ***
  • Beiträge: 507
    • StarWars
Re:Welches Arduino Starterkit?
« Antwort #5 am: 23. August 2016, 20:28:40 »
Habe vor 2 Wochen mit einem Bekannten gesprochen der etwas von Arduino und Co versteht.

Also das Teil kann praktisch alles was wir machen wollen.
Nur dürfen wir nicht die "Delay"-Funktion verwenden, die bei den Grundübungen eingesetzt wird. Dadurch wird der Microcontroller "unterbrochen".

Mehr weiß ich momentan auch nicht dazu. Ich gehe momentan "fremd" und werde mich wegen einer H0 Drehscheibe in naher Zukunft mit dem Arduino beschäftigen...   :0
Gruß
Frank

Offline struschie

  • Fach-Moderator
  • Vize Admiral
  • *
  • Beiträge: 8882
  • Strahl Demokratische Republik
Re:Welches Arduino Starterkit?
« Antwort #6 am: 24. August 2016, 06:59:39 »
Spannender Thread - berichtet mal weiter, plz!

Offline tengel

  • Candidate
  • Beiträge: 61
Re:Welches Arduino Starterkit?
« Antwort #7 am: 24. August 2016, 10:08:13 »
Mehrere Programme quasi parallel laufen zulassen geht über Threading.
Einfach mal Tante Google nach arduino thread oder arduino multithread oder arduino multitasking fragen.
Best Regards
Torsten
The difference between genius and stupidity is that genius has its limits - Albert Einstein

www.scaleautofactory.com

Offline Fbstr

  • Lieutenant Commander
  • ***
  • Beiträge: 507
    • StarWars
Re:Welches Arduino Starterkit?
« Antwort #8 am: 26. Februar 2017, 16:01:45 »
Spannender Thread - berichtet mal weiter, plz!

Aaaalso, dann will ich mal meine neuesten Erfahrungen berichten  :)

Ich bin ja ein bisschen ins Modelleisenbahn-Hobby abgedriftet. Dort habe ich nun als erstes Projekt das Schalten von Weichen und Entkupplungsservos mittels Billig-Servos (SG90 aus China für 1,80€ das Stück) zum laufen gebracht.
 
Die Standard-Library von Arduino liefert schon einiges automatisch mit. Es ist sehr einfach ein Servo anzusteuern. Aber: die Servos laufen mit Maximalgeschwindigkeit. Der Moba-Freak möchte natürlich seine Weichen langsam umstellen.
Dann möchte ich die Entkupplungsservos automatisch nach 5sec. wieder in die Ausgangslage fahren lassen. Mit dem "Delay"-Befehl wird aber der gesamte Programmablauf unterbrochen. Möchte ich in den 5 sec. noch was anderes betätigen, dann habe ich Pech. Also: delay ist verpöhnt, da muß was anderes benutzt werden.

Da kommen nun Zusatz-Librarys zum Einsatz, die man überall in der großen Internetweite finden kann. Und ein Experte in dem Moba-Forum hat da eine entwickelt: die "MobaTools.h"

Diese bietet 2 - für mich sehr wichtige - Funtionen:
- Die Geschwindigkeit der Servos kann eingestellt werden
- Die Funktion "EggTimer" bietet die Möglichkeit eine Pausenfunktion ohne Unterbrechung zu erreichen.

Ich bin beileibe kein Arduino-Programmierexperte, aber mit freundlicher Unterstützung aus dem Forum habe ich die Grundfunktionen für meine Regalbahn gestern zum Laufen bekommen.

Meine nächsten Moba-Projekte sind dann:
- Verwendung des DCC-Protokoll (das ist das Digitalformat bei den 2-Leiterfahrer (ich habe mich also gegen Märklin's 3-Leiter entschieden), um die Arduinos anzusteuern
- Arduino-Ansteuerung der Schrittmotoren für die 2 geplanten Selbstbau-Drehscheiben
- Ansteuerung der Lokschuppentore mittels Servo (inkl. der Simulation des Nachwippens der Tore)
- Simulation von Leuchtstoffröhren-Beleuchtung (Einschaltflackern und gelegentliches Flackern im Betrieb) im Lokschuppen

Die Arduinos sind inzwischen richtig billig, wenn man sie in China/HK kauft (3-4 €) und 2 Monate für die Lieferung warten kann. Ich würde heute die Arduino NANO's empfehlen statt der UNO's. Die kann man besser in Selbstbauplatinen integrieren.
Gruß
Frank

Online Wabie

  • Lieutenant Junior Grade
  • *
  • Beiträge: 250
  • Ihr da Ohm, macht doch Watt ihr Volt.
Re: Welches Arduino Starterkit?
« Antwort #9 am: 26. Februar 2017, 17:41:16 »
Super Info  :thumbup:

Kannst du mir die Programmierung des Servos mal zukommen lassen?
Ich hab nen 2560 Mega.
Wäre sehr nett  :) :)
MfG Stefan

zur Zeit im Bau: Deago Millenium Falke, Boeing 747 inkl. Space Shuttle

Offline Fbstr

  • Lieutenant Commander
  • ***
  • Beiträge: 507
    • StarWars
Re: Welches Arduino Starterkit?
« Antwort #10 am: 26. Februar 2017, 18:26:12 »
Kannst du mir die Programmierung des Servos mal zukommen lassen?
Mein Moba-Thread mit dem Link oben enthält alle Sketche.  :evil5:
Meine Regalbahn besteht aus einem linken Regal mit 6 Weichen und 9 Entkuppler. Also insgesamt 15 Servos und dafür nehme ich auch einen MEGA. Für Taster und LEDs benötige ich weitere 27pins, da ist der UNO zu klein. Das rechte Regal hat nur 3 Weichen und 2 Entkuppler. Die 5 Servos werden über einen UNO angesteuert. Die MobaTools haben eine Grenze bei 16 Servos pro Arduino (egal welcher Typ).

Hier der Sketch für den MEGA Stand heute für Dich aus dem Moba-Thread rauskopiert:
#include <MobaTools.h>

//  Gleisstellpultweiche Nr.:    1,   2,   3,   4,   5,   6
const byte servoW[]          ={  6,   2,  19,   7,  33,  31}; //Array Weichen Pins
const byte WAnschlagMIN[]    ={ 80, 120, 120,  70,  60, 100}; //Array Weichenauslenkung Minimum (geradeaus)
const byte WAnschlagMAX[]    ={120,  70,  70, 120, 100,  50}; //Array Weichenauslenkung Maximum (abbiegen)
const byte servoSpeedW[]     ={ 10,  10,  10,  10,  10,  10}; //Array Servogeschwindigkeit
const byte buttonGeradeW[]   ={ A8, A11,  A5,  38, A14,  37}; //Array Pins "Taster geradeaus"
const byte buttonAbbiegenW[] ={A10, A12,  A4,  A7, A15,  39}; //Array Pins "Taster abbiegen"
const byte ledW[]            ={ 44,  48,  42,  46,  50,  40}; //Array LEDs
const byte ANZAHL_WEICHEN    = sizeof(servoW);

// Gleisstellpultentkuppler Nr.: 1,   2,   3,   4,   5,   6,   7,   9,  10
const byte servoE[]          ={  4,  36,  29,   5,  25,  35,   3,  23,  27}; //Array Entkuppler Pins
const byte EAnschlagMIN[]    ={ 75,  110,  75,  90,  75,  75,  75,  75, 100}; //Array Entkupplerauslenkung Minimum
const byte EAnschlagMAX[]    ={ 90,  60, 110,  70,  90,  90,  90,  90,  70}; //Array Entkupplerauslenkung Maximum
const byte servoSpeedE[]     ={ 20,  20,  20,  20,  20,  20,  20,  20,  20}; //Array Servogeschwindigkeit
const byte buttonE[]         ={ A9, A13,  A0,  A3,  A6,  13,  52,   A1, A2}; //Array Pins "Taster Entkuppler"
const byte ANZAHL_ENTKUPPLER = sizeof(servoE);

const byte autoOff = 1; //damit die Servos nicht brummen...

Servo8 servoWeiche[ANZAHL_WEICHEN];         //Array Weichen 1 bis 6
Servo8 servoEntkuppler[ANZAHL_ENTKUPPLER];  //Array Entkuppler 1 bis 7, 9 und 10
EggTimer myTimerE[ANZAHL_ENTKUPPLER];       //Entkuppler sollen 5 sec. aktiv sein

byte buttonStatusGeradeW[ANZAHL_WEICHEN]  ={0,0,0,0,0,0};
byte buttonStatusAbbiegenW[ANZAHL_WEICHEN]={0,0,0,0,0,0};
byte buttonStatusE[ANZAHL_ENTKUPPLER]     ={0,0,0,0,0,0,0,0,0};

byte i; //Zählvariable Weichen
byte j; //Zählvariable Entkuppler

void setup() {
  for (i=0; i<ANZAHL_WEICHEN; i++){
    pinMode(buttonGeradeW[i], INPUT);
    pinMode(buttonAbbiegenW[i], INPUT);
    pinMode(ledW[i], OUTPUT);
    servoWeiche[i].attach(servoW[i], autoOff );
    servoWeiche[i].setSpeed(servoSpeedW[i]);
  }
  for (j=0; j<ANZAHL_ENTKUPPLER; j++){
    pinMode(buttonE[j], INPUT);
    servoEntkuppler[j].attach(servoE[j], autoOff );
    servoEntkuppler[j].setSpeed(servoSpeedE[j]);
  }
}

void loop() {

// Schleife für Weichen

  for (i=0; i<ANZAHL_WEICHEN; i++){
    buttonStatusGeradeW[i]=digitalRead(buttonGeradeW[i]);
    buttonStatusAbbiegenW[i]=digitalRead(buttonAbbiegenW[i]);
    if (buttonStatusGeradeW[i] == HIGH)
      {
        digitalWrite(ledW[i], HIGH);
        servoWeiche[i].write(WAnschlagMIN[i]);
      }
    else
      {
       if (buttonStatusAbbiegenW[i] == HIGH)
        {
          digitalWrite(ledW[i], LOW);
          servoWeiche[i].write(WAnschlagMAX[i]);
        }
      else
        {
         
        }
      }
  }

// Schleife für Entkuppler

for (j=0; j<ANZAHL_ENTKUPPLER; j++){
    buttonStatusE[j]=digitalRead(buttonE[j]);
    if (buttonStatusE[j] == HIGH)                           //wenn der Entkuppler-Taster betätigt wird...
      {
        myTimerE[j].setTime(5000);                          //sollte der Timer auf 5 Sekunden gestellt werden und starten...
        servoEntkuppler[j].write(EAnschlagMAX[j]);   //... und das Servo auf 110 Grad (Entkuppeln) gehen...
      }
    else                                                    // wenn der Taster losgelassen wurde ...
      {
       if (myTimerE[j].running()==false)                    //...und wenn der Timer abgelaufen ist ...
        {
          servoEntkuppler[j].write(EAnschlagMIN[j]); //...wieder auf 75 Grad (Ruhezustand)
        }
      }
}
 

}

Ich muß noch ein paar Feinheiten einbauen. Z.B. die Position der Servos abspeichern. Damit kann man anscheinend vermeiden, dass die Servos beim ersten Tastendruck mit maximaler Geschwindigkeit in die Zielposition fährt. Ein Einschaltzucken hat man auch noch, was aber anscheinend von den Servos abhängt und evtl. durch einen Widerstand eliminiert werden kann.


Was Du natürlich laden mußt, sind die MobaTools: https://github.com/MicroBahner/MobaTools/archive/V0.8.zip
Gruß
Frank

Online Wabie

  • Lieutenant Junior Grade
  • *
  • Beiträge: 250
  • Ihr da Ohm, macht doch Watt ihr Volt.
Re: Welches Arduino Starterkit?
« Antwort #11 am: 26. Februar 2017, 18:41:20 »
Hallo Frank,

Top, vielen Dank für das Programm  :thumbup:

Schönen Sonntag noch  :thumbup: :)
MfG Stefan

zur Zeit im Bau: Deago Millenium Falke, Boeing 747 inkl. Space Shuttle

Offline tengel

  • Candidate
  • Beiträge: 61
Re: Welches Arduino Starterkit?
« Antwort #12 am: 26. Februar 2017, 20:44:08 »
Mit dem Baustein am Arduino an der I2C-Schnittstelle (analog pins 1 &2) kann man bis zu 992 Servos mit einem Arduino steuern.
Auch kann man anstelle Servos LED anschließend und die Helligkeit per PWM digital regeln.
https://learn.adafruit.com/16-channel-pwm-servo-driver/overview
Best Regards
Torsten
The difference between genius and stupidity is that genius has its limits - Albert Einstein

www.scaleautofactory.com