Arduino in Industrieumgebung

Zuletzt bearbeitet:
Nimm doch einen Controllino - dann haste einen Arduino Schaltschranktauglich und CE ;)
Preislich gegenüber den anderen Kleinsteuerungen aber gleich.
 
Hallo, ich bin neu hier.
Ich habe vor, den I2C vom Arduino zu benutzen um Expanter z.B. PCF 8574 oder MCP2317 sowie Analogbausteine wie MAX127 oder MAX520 anzusteuern. Die "normale" Programmierung geht. Jetzt möchte ich es aber mit dem Ardublock testen. Beim Ardublock sind in der Spalte "Kommunikation" zwei Blöcke die i2C beinhalten. Ich habe aber über diese Blöcke keinerlei Info oder Beschreibungen. Kann jemand helfen bzw. kennt Infomaterial zum einlesen.
Besten Dank
Gruß Rolf
 
Hallo, ich bin neu hier.
Ich habe vor, den I2C vom Arduino zu benutzen um Expanter z.B. PCF 8574 oder MCP2317 sowie Analogbausteine wie MAX127 oder MAX520 anzusteuern. Die "normale" Programmierung geht. Jetzt möchte ich es aber mit dem Ardublock testen. Beim Ardublock sind in der Spalte "Kommunikation" zwei Blöcke die i2C beinhalten. Ich habe aber über diese Blöcke keinerlei Info oder Beschreibungen. Kann jemand helfen bzw. kennt Infomaterial zum einlesen.
Besten Dank
Gruß Rolf
Hallo Rolf,
welches ArduBlock hast Du denn – gibt es da was aktuelles?

Ich kenne die Version von https://letsgoing.org/ bzw. https://github.com/letsgoING/ArduBlock2 ein wenig.

Für Schülerprojekte nutze ich die IoT-Werkstatt. Das ist eine ArduBlock-Version für des ESP8266, dort habe ich jedoch keine freie I2C-Kommunikation. Da gibt es für diverse Sensoren (CO2, Feinstaub) oder Displays fertige Blöcke, die man nutzt.

Nebenbei – warum willst Du zu ArduBlock? Das finde ich für den Einstieg ganz gut, aber auf Dauer ist man damit eingeschränkt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Rolf,
welches ArduBlock hast Du denn – gibt es da was aktuelles?

Ich kenne die Version von https://letsgoing.org/ bzw. https://github.com/letsgoING/ArduBlock2 ein wenig.

Für Schülerprojekte nutze ich die IoT-Werkstatt. Das ist eine ArduBlock-Version für des ESP8266, dort habe ich jedoch keine freie I2C-Kommunikation. Da gibt es für diverse Sensoren (CO2, Feinstaub) oder Displays fertige Blöcke, die man nutzt.

Nebenbei – warum willst Du zu ArduBlock? Das finde ich für den Einstieg ganz gut, aber auf Dauer ist man damit eingeschränkt.
Hallo Gerhard,
Ich habe bisher nur kleinere Projekte u.a. auch für I2C progrmmiert. Da mein Schwerpunkt mehr auf der Hardwarseite liegt, ist Ardublock daher für mich bis jetzt das Beste, man macht keine Fehler ( ; ). Da beim Ardublock jeweils verschiedene Blöcke vorhanden sind, habe ich die Versionen DUINO EDU, Maxi und Mini, beta und LetsgoING. Bei DUINO EDU, beta und Maxi habe ich in der Spalte Kommunikation zwei Blöcke für I2C zum schreiben bzw. lesen. Bei letsgoING und Mini fehlen diese Blöcke bei mir auch. Ich stelle mir vor meine "normalen" Programme für I2C mit diesen Blöcken zu machen. Bin aber da noch nicht weiter gekommen. Wenn ich nichts find dann laufen meine Selbst gebauten Module halt weiterhin mit der normalen Programmierung. Ein Versuch mit Ardublock dies zu machen wars wert, denn ich kann mir Vorstellen ander Bausteine und Schaltungen (Selbtbau) mit I2C die noch keine fertigen Blöcke im Ardublock haben dann leichter anzusteuern.
 
Hallo Rolf,
sorry, habe da aus den Augen verloren ... zu I2C: Ich habe hier noch nie selber mit den Bits jongliert. Egal, ob Sensoren, Displays oder Motortreiber, da gab es immer passende Bibliotheken, welche die Kommunikation ab wickeln. Bei Display gibt man der Funktion Spalte, Zeile und Text. Von der ganzen Kommunikation sieht man nichts. Eventuell muss man mal in der Bibkiothek die Adresse anpassen.

Im Arduino-Umfeld hat diese Einfachheit System, es soll ja ein niederschwelliger Einstieg sein
 
Hallo, und genau da liegt auch das Problem, gerade die Standardlibrary für den Arduino ist punkto I2C sagen wir mal so - bescheiden - programmiert. Entfernt man eine der beiden Signalleitungen im I2C Bus im laufenden Betrieb verabschiedet sie sich in einer Endlosschleife..
was so manchen Selbstbau-Modellflieger der I2C verwendet hat zum Absturz brachte.

Generell finde ich die Atmega-Prozessoren schon sehr sehr professionell, man findet sie ja auch in Kaffeevollautomaten etc., aber nur mit Arduino Befehlen zu arbeiten ist genau das, was für professionelle Anwendungen zu wenig ist. Der Arduino-Befehlssatz und auch die diversen Sketches (vor allem zum Ethernet(2)-Shield) sind wirklich Einsteigerprogramme, denen fehlt meist ordentliche Fehlerbehandlung, Plausibilitätsprüfungen etc.
Eben ein schöner niederschwelliger Einstieg, auf diesem Level darf man aber nicht bleiben, wenn man ordentliche Programme schreiben will.

Will man wirklich aus dem Atmega alles herausholen, ist es notwendig: Datenblatt punkto PWM/Timer kennen, kein delay verwenden, (grundsätzliche) Funktionsweise von I2C kennen, wenn 8 Ausgänge zeitgleich geschaltet werden sollen, dann kein digitalWrite verwenden sondern direkt das Port mit 8 parallelen Ausgängen ansteuern etc. etc.

Dann steht ein Arduino einem professionellen Industrieprodukt um nichts nach (vorausgesetzt man verwendet eine ordentliche 5V-Versorgung)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Arduino-Befehlssatz und auch die diversen Sketches (vor allem zum Ethernet(2)-Shield) sind wirklich Einsteigerprogramme, denen fehlt meist ordentliche Fehlerbehandlung, Plausibilitätsprüfungen etc.
Eben ein schöner niederschwelliger Einstieg, auf diesem Level darf man aber nicht bleiben, wenn man ordentliche Programme schreiben will.
Aus diesen Gründen halte ich die Arduino-IDE nicht für Industrie-Projekte geeignet.

Für den Einstieg ganz brauchbar, auch um Kunstprojekte mit ein paar Effekten auszustatten oder beim heimischen Blumentopf die Bodenfeuchte überwachen – alles kein Problem.

Aber wenn es auf Funktionssicherheit und Geschwindigkeit ankommt, ist man mit dem Atmel Studio oder Visual Code/platformio deutlich besser bedient.

Schon alleine wegen der Möglichkeiten zu Fehlersuche, die in der Arduino IDE doch recht eingeschränkt sind. Und natürlich ist auch der Code effizienter.

Die Arduino-Hardware ist günstig und ausgereift, die kann man schon mal verwenden.
 
Ich bastel auch mal gerne Arduino und ESPs.
Für die ESPs gibt es in der Zwischenzeit auch MicroPython.
Bin nur noch nicht dazu gekommen mir das mal anzuschauen.
 
MicroPython verbreitet sich immer mehr, auch beim Nachwuchs – die aktuellen Lego-Sets Spike Prime und Robot Inventor lassen sich (auch) mit Python programmieren, der mBot2 ebenso.

Man kann auch mit Scratch anfangen, wenn man das möchte, und dann Python umsteigen – oder gleich mit Python loslegen.
 
Zurück
Oben