Micro Controller unter macOS - Teil 1 - AZ-Delivery

Einrichten der Arduino IDE und Einbindung der ESPs sowie die Einrichtung von Thonny unter macOS 

An Apple a day keeps Windows away :-)

Teil 1 – Arduino einrichten

1. Eine kurze Vorbemerkung

Auch Benutzer von Apples macOS Rechnern verspüren hin und wieder das Bedürfnis, sich mit Mikrocontrollern zu beschäftigen. Dazu gibt es viel Literatur, auch findet man im Netz eine große Anzahl von Beiträgen. Doch bezieht sich die überwiegende Anzahl dieser Informationen auf die Nutzung der Controller unter Windows Rechnern. Die MacIaner stehen wohl im Ruf, nichts selber machen zu wollen oder zu können und sich nur mit Grafik zu beschäftigen. Das mag zwar im Mittel zutreffen, stimmt aber nicht für alle »Maccerer«. Dies und natürlich auch die relativ geringe Verbreitung der Macs ist vermutlich der Grund für die eher stiefmütterliche Behandlung dieser Plattform bei diesem Thema.

Dieser Beitrag soll helfen, Einsteigern bei der Einarbeitung in dieses schöne Gebiet etwas zur Hand zu gehen.

2. Hilfreiche Software

    Dieser Beitrag wurde unter macOS »Big Sur« (Version 11.2.2) geschrieben, dem aktuell neuesten Betriebssystem.

    Zunächst möchte ich einen kurzen Überblick über hilfreiche Software geben. Die Aufzählung ist natürlich nicht vollständig, sondern den Vorlieben des Autors geschuldet.

    Systemsoftware

    a) »Terminal« zum Aufruf diverser Shells um per Konsolenbefehle mit dem Rechner zu interagieren.
    b) »Vorschau«, der oft unterschätzte PDF-Reader von macOS mit einfachen Möglichkeiten zur Bearbeitung von PDFs und Bildern, reicht für den Hausgebrauch.
    c) »Safari«, der mitgelieferte Browser
    d) »Textedit«, ein einfacher Texteditor, mitgeliefert

    Software von »außerhalb«

    a) »iTerm2«, eine sehr mächtige Terminalsoftware, kostenlos erhältlich unter:
    https://iterm2.com
    b) »BBEdit« Sehr mächtiger Texteditor, kostenpflichtig ($50), auch im AppStore, nur in Englisch erhältlich
    c) »CotEditor«, einfacher Texteditor, kostenlos im AppStore
    d) »Firefox«, »Google Chrome«, »Opera«, »Vivaldi«, »Microsoft Edge«, allesamt Browser, je nach persönlichem Geschmack wählbar

    3. Installation der Arduino IDE

      Voraussetzung zur Programmierung der Arduino oder ESP-Module ist mindestens eine Entwicklungsumgebung. Mir sind davon zwei bekannt, zum Einen die IDE von Arduino selbst und zum Anderen das »Visual Code Studio« von Microsoft. Für den Anfänger halte ich die »Arduino IDE« bestens geeignet, da zwar nicht so mächtig, aber weniger kompliziert zur Einarbeitung.

      Die Arduino IDE gibt es kostenlos auf der Website von Arduino:

      https://www.arduino.cc/en/software

      Hier gibt die Versionen für Windows, LINUX und macOS, zur Zeit der Erstellung dieses Textes die Version 1.8.13. Nach dem Klick auf die Zeile »Mac OS X« und der Beantwortung der Frage ob wir nur laden oder vorher eine kleine Spende geben wollen, wird die Software geladen und landet im Ordner »Downloads«, wo sie gleich entpackt wird.


      Von dort ziehen wir das Programm in den »Programme«-Ordner.


      Nun wird das Programm »Arduino« gestartet. Zunächst müssen wir die einmalige Sicherheitsabfrage beantworten, da das Programm nicht aus dem AppStore kommt. Immerhin scheinen die Entwickler bei Apple registriert zu sein.


      Jetzt kommt das »Arduino«-Fenster:


      Die roten Fehlermeldungen im Fenster unten können ignoriert werden, da noch kein-Board angeschlossen ist.

      Eine Installation von Treibern zum Anschluss der Boards war bei mir nicht nötig.

      Folgende Boards:

      • »Arduino MEGA® 2560 REV3« von Arduino
      • »Mega 2560 R3 Board mit ATmega2560« von AZ-Delivery
      • »ATmega328 ENTWICKLUNGSBOARD« von Vellemann
      • »Mikrocontroller Board mit ATmega328P, ATmega16U2, kompatibel mit Arduino UNO® R3« von AZ-Delivery
      • »Nano V3.0 mit Atmega328 CH340« von AZ-Delivery

      funktionierten ohne weitere Treiberinstallation.

      Beim ersten Start wird im Benutzerordner ein Ordner »Arduino« angelegt. In diesen Ordner werden dann alle Projekte abgelegt.


      Wenn weitere Bibliotheken geladen werden, kommen diese automatisch in einen Ordner »libraries«, der im Ordner »Arduino« liegt.

      Der UNIX-Pfad zu diesen Ordnern ist:

      ~/Documents/Arduino bzw. ~/Documents/Arduino/libraries

      »~« ist die Abkürzung für »/Users/benutzer«. (»benutzer« ist natürlich die Bezeichnung des jeweiligen Nutzers. (Das Zeichen »~« erhält man mit »option-n«.)

      4. Einrichten der IDE

        IDE bedeutet »Integrierte Entwicklungsumgebung« vom englischen »integrated development environment« und ist eine Sammlung von Programmen, mit der eine einfache Softwareentwicklung ermöglicht werden soll.

        Die Arduino-IDE kann in gewissem Umfang angepasst werden. Sehen wir uns das an. Das Programm wird gestartet und der Menüpunkt »Arduino —> Preferences… « aufgerufen.


        Das »Preferences«-Fenster:

        • Einstellen der Sprache
        • Textgröße, für ältere Menschen empfehlen sich 18 Punkte. ;-)
        • Einstellmöglickeiten: »Keine«, »Standard«, »Weitere« oder »Alle«. Für den Anfang »Standard« wählen.
        • Wenn hier der Haken gesetzt ist, kann man die Programmtexte in einem externen Editor, wie z.B. CotEditor oder BBEdit schreiben. Das hat zum Einen Vorteile, weil diese Editoren viel mächtiger sind als der Arduino Editor, hat aber zum Anderen den Nachteil, dass man zwei Fenster geöffnet hat und dass die Syntaxhervorhebung, wie sie die Arduino-IDE macht, nicht zur Verfügung steht. Ausprobieren und entscheiden, was einem besser gefällt.

        5. Das erste Programm

          Für die ersten Schritte verwende ich das Mikrocontroller Board mit ATmega328P, ATmega16U2, kompatibel mit Arduino UNO R3, das mit einem USB-Kabel an den Mac angeschlossen wird. Dann geht es los:

          a) Arduino Programm starten
          b) Die IDE liefert eine Vielzahl von Beispielprogrammen mit, die hier »Sketche« genannt werden. Eines davon, »Blink«, werden wir zum Leben erwecken.
          Nomen est Omen, das Programm lässt die eingebaute LED an Pin 13 im Sekundentakt aufleuchten.
          c) Wir öffnen den Sketch »Blink«


            Der Sketch »Blink«


            d) Und wählen den Typ des angeschlossenen Boards aus


              e) Einstellen der Ports

              Die Bezeichnung für den Port hängt vom verwendeten USB-Controllerchip des Boards ab, beginnt aber immer mit »/dev/cu.usbserial-«.


              f) Jetzt noch übersetzen und auf das Board spielen
              Klickt man auf den Knopf mit dem Haken, wird das Programm nur übersetzt. So kann man feststellen, ob ein Syntaxfehler vorliegt, logische Fehler werden so natürlich nicht gefunden. :-(
              Ein Klick auf den Knopf mit dem Rechtspfeil übersetzt das Programm in eine Version, die der Mikrocontroller ausführen kann und überträgt den Programmcode auf den Chip des Boards

               


              In roter Schrift steht die Erfolgsmeldung unten im Fenster.

              g) Nach kurzer Zeit sollte die LED fröhlich blinken.

              Geschafft!


              h) Ein Hinweis zu den mit dem Arduino NANO kompatiblen Boards:
              Es gibt Boards, die mit noch dem »alten Bootloader« versehen sind, andere haben den neuen Bootloader. Das Board »Nano V3.0 mit Atmega328 CH340« von AZ-Delivery wird mit dem alten Bootloader ausgeliefert. Deshalb muss in der Arduino IDE eine weitere Einstellung vorgenommen werden, denn der passende Bootloader muss extra ausgewählt werden:


              Wer den neuen Bootloader auf des Board spielen will, findet hier eine gute Anleitung dazu:
              https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/az-delivery-nano-v3-bootloader-flashen
              Bei mir war der Kondensator von 10µF zwischen GND und RST nötig, damit der Flashvorgang klappte.

              Beim nächsten Mal integrieren wir die Micro Controller von Espressif in die Arduino IDE.

              Download pdf

              Esp-32Esp-8266Für arduinoGrundlagen softwareProjekte für anfänger

              9 comments

              Andreas Wolter

              Andreas Wolter

              @Sebastian: ich habe dazu etwas recherchiert. Seit der Umstellung auf Sierra scheint es Probleme gegeben zu haben. Dazu habe ich das hier gefunden: https://wikimho.com/de/q/arduino/38894
              Die Lösung könnte dieser Treiber sein: https://github-com.translate.goog/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver?x_tr_sl=en&x_tr_tl=de&_xtrhl=de

              Ansonsten wird als Lösung ein Youtube Video verlinkt. Eventuell hilft das weiter.

              Grüße,
              Andreas Wolter
              AZ-Delivery Blog

              Sebastian

              Sebastian

              Hallo, danke für den Artikel, als Arduino Neuling auf dem Mac eigentlich genau das Richtige für mich, da ich hier auch ein AZ-Delivery Uno habe. Aber leider wird der Port nicht gefunden, gibt es da noch was was ich versuchen kann? Ich habe einen iMac von 2013 mit Sierra (10.12.6), könnte das das Problem sein?

              Viele Grüße und Danke,
              Sebastian

              Lars Heising

              Lars Heising

              Ich bin durch die Verwendung von 2 Systemen (Win & Mac) parallel in den Projekten öfters auf der Suche nach einer vernünftigen Lösung gewesen. Mit XCode und dem Arduino Plugin über MS Visual bis hin zu Eclipse und einer gemeinsamen Workspace. Nach langem experimentieren und analysieren habe ich für mich, die Lösung gefunden. Platformübergreifend, unterstützt alle µC sowie die meisten Programmiersprachen und wenn man am Anfang z.B. Arduino als Basis wählt werden alle benötigten Plugins und Bibliothekten automatisch eingerichtet,…. im Programm nicht als direkte Installation, d.h. kein Zumüllen der Festplatte. Verwendbar ebenso mobil wie auch am Festrechner mit freiem GIT Repository … Ich kann es nur empfehlen, man muss sich kurz, wie auch mit den anderen IDE’s beschäftigen danach sehr einfach und intuitiv zu handhaben.

              Das Mac Projekt ist eine tolle Idee, aber wie auch die Windows- Anleitungen eigentlich total überholt.
              Testet es doch einfach mal selbst. Und nein ich habe keine Werbe oder andere Vergünstigungen…. das ist das tolle … es ist sogar kostenfrei unter GNU Lizenz.
              << ATOM >> wer spass an XML hat kann sich sogar seine eigene Oberfläche programmieren … einfach toll Plattformübergreifend und kein “umwandeln” von den binaries von Mac zu Windows, da Source Code entweder Workspace bezogen oder über GIT exchangeable ist.

              VG

              Rudolf Reiber

              Rudolf Reiber

              Guten Tag Johannes,
              schön zu hören, dass die Arduinos/Kompatiblen auch problemlos an M1 Macs laufen.
              Zu Deinem Problem mit den ESPs:
              nächste Woche kommt der zweite Teil meines Beitrags heraus, in dem beschreibe ich die Lösung eines Problems, das auch ich hatte: es gab keine Verbindung zu den ESP Boards.
              Vielleicht hilft Dir das bei Deinem Problem weiter.
              Also: ein wenig Geduld. :-)
              Viele Güße
              Rudolf

              Johannes Zottele

              Johannes Zottele

              Hallo!
              Habe heute die Arduino IDE auf meinem M1 Macbook Air installiert. Alles hat geklappt auf Seiten der IDE, auch die Verbindung mit meinem Arduino Nano war einwandfrei.

              Ich habe das ganze auch mit meinem AZ Delivery NodeMCU Amica Modul versucht, jedoch konnte der Port nicht gefunden werden. Selbst nach der Installation des USB to UART Bridge VCP Drivers (https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers). Hat hier jemand Erfahrung damit gemacht?

              Jörg

              Jörg

              Hallo Marc,
              hatte bisher auch noch nie Probleme mit einem (Intel) MacBook. Wie es mit einem M1 ist, weiß ich leider nicht.
              MacBook Pro 15" 2008 mit High Sierra
              MacBook Pro 15" 2015 mit Catalina
              MacBook Pro 13" 2020 mit Big Sur

              Rudolf Reiber

              Rudolf Reiber

              Lieber Marc,
              mit den M1-Macs habe ich keinerlei Erfahrung, kann also nichts dazu sagen, ob sich diese Rechner genauso verhalten wie die Intel-Macs.
              Rudolf

              Rudolf Reiber

              Rudolf Reiber

              Lieber Marc,
              ich habe es mit diesen Geräten unter Big Sur versucht, und es lief bei allen problemlos:
              1. iMac Retina 5K 27-inch, 2017, Modellnummer A1419
              2. Mac mini 2018, Modellnummer A1993
              3. MacBook Pro 15 Zoll, 2016, Modellnummer A1707
              Die Mikrocontroller waren bei dem Mini und bei dem iMac direkt an eine seiner USB-Buchsen angeschlossen, bei dem MacBook Pro mit einem USB-C Adapter (USB-C auf USB 3.0)
              Bei keinem der Geräte war eine Treiberinstallation nötig.
              Grüße nach Luxemburg.
              Rudolf

              Marc

              Marc

              Hallo, und Danke.
              Nicht oft werden Mac-User berücksichtigt, obschon meiner Meinung nach immer mehr Entwickler auf Apple Geräten entwickeln. Eine Frage hätte ich aber noch. Wurde diese Installation auf einem iMac gemacht oder auf einem Macbook ?.
              Meiner Erfahrung nach gibt es für die Benutzung auf iMac mit BigSur keine Probleme, aber schone auf MacBooks. Ich habe mein MacBook, welches auch mit MacSur nie mit Arduiono und Boards ans Laufen bekommen.
              Mich würde Eure Erfahrung dazu interessieren, denn sobald ein Macbook mit 16 Zoll und ARM Prozessor rauskommt werde ich es kaufen..
              Mit freundlichen Grüssen aus Luxembourg.
              Marc

              Leave a comment

              All comments are moderated before being published

              Recommended blog posts

              1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
              2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
              3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
              4. ESP32 - das Multitalent - AZ-Delivery