Kaufempfehlung Starter Kit

Hallo und Guten Morgen!
Ich bin Stefan (63) und habe in der Suche nichts zu meiner Frage gefunden :wink:
(Es gibt auch keine "ähnlichen Themen)

Ich habe auf einem Workshop zum Thema Robotik im Figurentheater den Arduino kennengelernt und war sofort gefangen und begeistert und habe mich an die alten Zeiten mit Basic, Fortran und C erinnert und freue mich, dass es noch was anderes als Klicken und Wischen gibt.

Ich überlege, mir ein Starterkit aus dem Arduinoshop zu kaufen (alternativ das Kit von Funduino)

  1. Gibt es Meinungen o. Empfehlungen oder Vorschläge für Ergänzungen dazu?
  2. Was müsste ich mir dazu kaufen, um auch bis zu 3 oder auch mal mehr Schrittmotoren steuern zu können?
    ist da das " Arduino 9 Axis Motion Shield" das richtige?

Besten Dank an alle, die sich ihren Kopf zerbrechen und Grüße aus dem Ostharz
Stefan

ich habe 8 solche Sätze besorgt:

da gibt's noch ein nahe identischen, ohne 4x4 Tastenfeld, mit einem Poti, aber in diesem die Arduino Platine ist dem Original am ähnlichsten und man kann MCU raus ziehen und auch "nackt" weiter experimentieren. UPD.: oder man kann diese Platine in ein Joystick/Gamepad/Maus/Tastatur verwandeln, die in anderem Satz kann das nicht.

1 Like

je nach dem welche Schrittmotoren sind gemeint.

Bei Arduino Projekten geht es um Hardware, die angeschlossen werden möchte. Für den Anfang sind Steckbretter ganz nett, später aber zu störanfällig. Wie steht es mit Deinen Kenntnissen im Löten?

Ich vermute, daß das ein Beschleunigungssensor ist, nichts mit Motoren zu tun hat.

Ich habe klein angefangen (Arduino Starter Kit) und dann dazugekauft, was mich so alles interessiert hat. Dabei ist es wichtig, nur Module mit zugehörigen Arduino Bibliotheken oder Beispielcode zu kaufen, und jeweils mindestens zwei Stück. Dann kann man ausprobieren, ob man ein Modul geschlachtet hat oder ob es am Programm liegt, wenn etwas nicht funktioniert.

Hilreich sind vor allem die Beispielprogramme in der IDE zu allen grundlegenden Bauteilen und Bibliotheken. Und dann natürlich das Forum...

1 Like

Zunächst einmal Danke
da ich noch nicht unmittelbar mit Schrittmotoren gearbeitet habe - mittelbar schon (CNC, LaserCutter, 3D-Drucker) - kann ich die Frage nach "welche Schrittmotoren" derzeit nicht beantworten

Danke für Deine ausführliche Antwort, rudimentäre Fähigkeiten und eine einfache Ausstattung zum Löten sind vorhanden.

Ich habe mit dem Starterkit von Funduino angefangen und fand das ganz praktisch.

Gruß Tommy

1 Like
  1. Mein erstes Kit stammt von Funduino. Allerdings habe ich die meisten Teile nie wirklich benötigt. Daher rate ich eher zu einem gezielten Einkauf für das, was Dich wirklich interessiert. Hier wird Dir sicherlich geholfen. Übrigens arbeite ich immer mit Steckbrettern, bisher ohne Wackler. Große Ströme beispielsweise für Motoren darf man da natürlich nicht drüberjagen.
  2. Auf jeden Fall benötigst Du einen Treiber, der von der Motorart abhängt. Beispielsweise

Die Links sind nur Beispiele, Eckstein ist aber bei Dir um die Ecke in Clausthal-Zellerfeld.

Schreibe mal, wovon Du träumst :slightly_smiling_face:

1 Like

Zunächst einmal möchte ich den Arduino "erforschen", also mal so sehen, was so möglich ist ... Sensoren, Aktoren usw.

Langfristig möchte ich meiner Frau in Ihrem Figurentheater zusätzliche Optionen bieten. Da sie i.d.R. alleine spielt, kann sie zu einer Zeit auch nur eine Figur spielen. Zu Beginn ein sich bewegendes Bühnenbild - z.B. Wald oder sich öffnende Blumen.
Meine momentan sehr vage weitere Vorstellung wäre eine von 3 bis 6 Schrittmotoren angetriebene Figur (z.B. Flamingo) die über Sensoren gelenkt wird bzw. mit meiner Frau oder einer von Ihr gespielten Figur interagiert.

Vermutlich sind dafür Modellbauservos geeigneter. Die kann man direkt am Arduino betreiben oder auch mittels Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C interface - PCA9685, wenn die Pins mal ausgehen sollten. Zur Interaktion könnte ein Distance Sensor beitragen.

Eine einfache Anzeige läßt sich mit einem 20x4 LCD Display I2C Interface HD44780 realisieren, ein "Hallo Welt" wäre ein Anfang.

Beim Arduino neige ich dazu, Dich zu einem Mega2560 zu überreden, weil bei einem UNO schnell die Pins ausgehen. Gibt es auch zum Löten als Mega Pro.

1 Like

Im nächsten Leben gibt es dieses Haus.

Hier sind alle Sensoren und Aktoren verbaut und fliegen nicht in irgendwelchen Schachteln durch díe Gegend.

grafik

Was noch fehlt ist ein OLED und vllt noch eine 2004 LCD.

Es gibt einen sehr reichen Beitrag bezüglich wie anfangen. Mit welchem Arduino soll ich anfangen? - #396 by sabrinaduncan

Ich habe nach dem Artikel in der Ct 2009 einen Wochenend-Kurs in Mailand mit Massimo Banzi und Davide Gomba gemacht. Da gabs im Kurs auch ein Kurskit, das ich wohl nie angerührt habe.

Kits finde ich nicht immer sinnvoll. Oft sind da Teile drin die man mangels Interesse nie verwendet.
Sinnvol sehe ich ein Kit wie zB das offizielle von Arduino ( etwas teuer ) mit einem Projektbuch und allen dazu notwendigen Teilen wenn man von null starten will/muß. Es gibt auch billigere von anderen Herstellern /Verkäufern.

Zu den Schrittmotoren. Ich möchte 2 Varianten vorstellen:

  • den 28BYJ-48. Dieser wird mit einem TreiberIC verkauft, ist billig, hat ein Getriebe und damit eine ca 4096 Schritte pro Umdrehung. Er ist klein dreht relativ langsam und mittelmäßiges Drehmoment.
  • Hybridmotore mit 200 Schritte pro Umdrehung. Diese gibt es in verschiedenen Größen (NEMA) und elektrischen Daten. Am besten man Steuert sie mit einem Stromtreiber an. Brauchen relativ viel Strom.
    Alle Schrittmotre brauchen einen Home Sensor damit eine Startposition definiert wird.

Alternativen sind die genannten Modellbauservo, die es in verschieneen Ausführungen und darum Preise gibt von ganz klein bis große und kräftig und dementsprechend teuer. Allen ist gemeninsam ist, daß sie ziemlich viel Strom brauchen und darum ein Netzteil brauchen. USB ist zu schwach für kräftigere / mehrere Servo.

Möglich sind auch Gleichstrommotore mit Getriebe und Endsensoren bzw Drehencoder oder Potentiometer. (Was eigentlich ein Servo ist)

Grüße Uwe

1 Like

Ich habe auch mit einem Kit angefangen, getestet gelernt jetzt liegt das im Schrank. Einziges was man nutzt ist Display Arduino, manchmal paar Transistoren und LED.

2 Likes

Na ja - dass ich aus dem Kit hinterher nicht mehr alles nutze, ist mir schon klar. Aber bevor ich entscheiden kann, was ich hinterher benötige oder haben möchte, muss ich es ja erst mal kennenlernen.
Grundsätzlich steht bei mir der Weg im Vordergrund und nicht ein konkretes Ziel.

Und Buch und Arduino brächte ich sowieso ...

Habe mich jetzt erstmal für das Original Arduino-Starter-Kit entschieden, auch weil mir das Projektbuch bereits empfohlen wurde.

Wichtige Themen bei der Software:

  • Schrittkette (=finite state machine =endlicher Automat)
  • Zeiten mit millis() ohne delay()
  • blockadearme Programmierung mit loop() als der Schleife

Für Schrittmotoren und Servos enpfehle ich die Programmbibliothek MobaTools mit deutscher Anleitung, über die Arduino-IDE zu installieren.

1 Like

Und was benutzt Du jetzt?

Was du meinen?
Wen Kontroller dann ESP beide Sorten.

Als Geschenk an Deine Frau könntest Du mit diesem Programm und einem Servo eine Blume öffnen lassen:

const byte cols = 20;                               // columns/characters per row
const byte rows = 4;                                // how many rows
const byte addr = 0x27;                             // set the LCD address to 0x3F or 0x27
#include <Wire.h>                                   // needed for the I2C interface
#include <NoiascaLiquidCrystal.h>                   // download library from https://werner.rothschopf.net/202009_arduino_liquid_crystal_intro.htm 
#include <NoiascaHW/lcd_PCF8574.h>                  // include the proper IO interface
LiquidCrystal_PCF8574 lcd(Wire, addr, cols, rows);  // create lcd object - with support of special characters

#include <MobaTools.h>
MoToTimer blumenZeitgeber;                          // erzeuge Zeitgeberobjekt
MoToServo blumenServo;                              // erzeuge Servoobjekt
const byte servoWinkelOffen = 160;                  // Winkel der geöffneten Blume
const byte servoWinkelGeschlossen = 20;             // Winkel der geschlossenen Blume
const uint32_t zeitWinkelOffen = 4000;              // Zeit in ms, wie lange die Blume geöffnet bleibt
const byte blumenTasterPin = 7;                     // Taster zum Starten der Bewegung
const byte servoPin =  8;                           // Anschluß für den Servo

void setup()
{
  Wire.begin();                                     // start I2C library
  lcd.begin();                                      // initialize the LCD
  lcd.backlight();                                  // turn on backlight

  pinMode(LED_BUILTIN, OUTPUT);                     // eingebaute LED
  pinMode(blumenTasterPin, INPUT_PULLUP);           // schaltet nach GND, so ist kein externer pullup Widerstand am Taster erforderlich

  blumenServo.attach(servoPin);                     // verwendeter Pin
  blumenServo.setSpeed( 5 );                        // Verfahrgeschwindigkeit in 0,5μs Einheiten einstellen
  blumenServo.write(servoWinkelGeschlossen);        // Startposition
}

void herzschlag()                                   // ein gleichmäßiges Blinken zeigt eine blockadearme Programmierung
{
  static uint32_t vorhin = 0;                       // Zeitmerker
  if (millis() - vorhin >= 111)                     // Zeitintervall in ms abgelaufen?
  {
    vorhin = millis();                              // Zeitmerker mit der aktuellen Zeit stellen
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));  // eingebaute LED blinkt als "Herzschlag"
  }
}

void anzeige(const byte zeile, const char * txt)    // übergebener Text wird in der gewünschten LCD-Zeile angezeigt
{
  lcd.setCursor(0, zeile);                          // Schreibposition wählen
  lcd.print( F("                    ") );           // Zeile löschen
  lcd.setCursor(0, zeile);                          // Schreibposition wählen
  lcd.print( txt );                                 // Text anzeigen
}

void loop() {
  static byte schritt = 0;                          // Schritt der Schrittkette

  switch (schritt)                                  // gehe zum aktuellen Schritt
  {
    case 0:                                         // Starttext ausgeben
      if ( !blumenServo.moving() )                  // wenn die Servobewegung beendet ist
      {
        anzeige(0, "Blume geschlossen");
        anzeige(1, "Tastendruck erwartet");
        schritt++;                                  // zum nächsten Schritt
      }
      break;
    case 1:                                         // nach Tastendruck Bewegung starten
      if ( !digitalRead(blumenTasterPin) )          // Taste gedrückt?
      {
        anzeige(0, "Taste gedrückt");
        anzeige(1, "Blume öffnet");
        blumenServo.write(servoWinkelOffen);        // Blume öffnet langsam
        schritt++;                                  // zum nächsten Schritt
      }
      break;
    case 2:                                         // nach Bewegungsende Öffnungszeit starten
      if ( !blumenServo.moving() )                  // Bewegung beendet?
      {
        anzeige(0, "Blume geöffnet");
        anzeige(1, "");
        blumenZeitgeber.setTime( zeitWinkelOffen ); // Öffnungszeit starten
        schritt++;                                  // zum nächsten Schritt
      }
      break;
    case 3:                                         // nach Öffnungszeitende Blume schließen
      if ( !blumenZeitgeber.running() )             // Öffnungszeit abgelaufen
      {
        anzeige(0, "Zeit abgelaufen");
        anzeige(1, "Blume schließt");
        blumenServo.write(servoWinkelGeschlossen);  // Blume schließt langsam
        schritt = 0;                                // zurück zum ersten Schritt
      }
      break;
    default:                                        // unerlaubter Schritt, sollte nie erreicht werden
      schritt = 0;                                  // zurück zum ersten Schritt
      break;
  }
  herzschlag();
}

@MicroBahner: getestet mit MobaTools-Development2.5.0 ohne Probleme!

Danke :slightly_smiling_face: :sunglasses:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.