das "C von Arduino" ist nicht "schlecht", es ist absolut korrektes C++(11), und es funktioniert alles Plattform-übergreifend auf AVRs, ARMs, ESPs und sogar manche STMs. Das soll mal eine andere Plattform nachmachen.
3rd-party libs gibt es zahlreiche, auch durchaus "schlechte" oder "weniger gute", aber man muss ja nicht alle benutzen, sondern kann sich passende raussuchen, die einem besser schmecken - oder alles mit C++ selber programmieren, gar kein Problem. Hartnäckige Problemfälle werden aber auch laufend verbessert oder ausgemerzt.
Vorteil: alles funktioniert aus dem Stand plug-and-play-mäßig, das ist extrem wichtig für den Unterricht, wahlweise ohne Löten (Breadboards) - oder mit.
Und die Software ist open-source und kostenlos, und auch die Hardware ist open-source, das ermöglicht und erlaubt billigere Nachbauten (Klone).
Viele libs sind allerdings so gut, dass sie sogar für RaspberryPis zur Vereinfachung der IO-Zugriffe "angenähert" oder "imitiert" wurden (wiringPi mit softPwm, wiringSerial, wiringI2c u.v.m.): es gehört heute zu den Standards auf dem Pi, neben pigpio, und es ist sogar standardmäßig in der Raspbian distri enthalten.
Sogar original Arduino device-Libs wurden ohne große Änderungen auf Raspi portiert (GPS, RTC, Kalman, OLED und viele, viele mehr): es ist ja alles legales C++.
Und das hätte man sicher nicht getan, wenn es "schlecht" wäre.
Lesezeichen