Misc

Was ist ein Mikrocontroller? - Programmieren einer Arduino-Karte

Autor: Peter Berry
Erstelldatum: 16 Juli 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
Lerne Arduino in 12 Minuten, ….…JEDER KANN DAS! | #EdisTechlab
Video: Lerne Arduino in 12 Minuten, ….…JEDER KANN DAS! | #EdisTechlab

Inhalt

Eugene ist ein qualifizierter Steuerungs- / Instrumentierungsingenieur Bsc (Eng) und hat als Entwickler von Elektronik und Software für SCADA-Systeme gearbeitet.

Was ist ein Mikrocontroller?

Sie haben wahrscheinlich viele davon in Ihrem Haus, obwohl Sie es nicht wissen! Ein Mikrocontroller ist ein Computertyp in Form eines integrierten Schaltkreises (IC) oder "Chips", der häufig in Geräten in Ihrem Haus verwendet wird, die elektronische Schaltkreise enthalten. Sie haben wahrscheinlich von Mikroprozessoren gehört, z. Intel Pentium, und diese werden als CPU (Central Processing Unit), effektiv das "Gehirn", in einem Computer verwendet. Mikroprozessoren sind integrierte Schaltkreise, die die Anweisungen in einem Computerprogramm verarbeiten, Berechnungen durchführen und Daten zum und vom Speicher und der Festplatte senden. Ein Mikrocontroller ist ein bestimmter Mikroprozessortyp. Es unterscheidet sich von einem normalen Mikroprozessor in folgenden Punkten:


  • Es verfügt über integrierte "E / A" -Funktionen (Eingabe / Ausgabe). So kann es digitale und analoge Werte / Zustände lesen und schreiben und sich direkt mit der "realen Welt" verbinden. Ein Mikrocontroller kann im Gegensatz zu einem Mikroprozessor direkt an Schalter, Tasten, LCD-Anzeigen, LEDs, Relais und serielle Schnittstellen angeschlossen werden
  • Mikrocontroller werden im Allgemeinen für spezifische Aufgaben in Geräten mit geringer bis mittlerer Komplexität verwendet. Dies steht im Gegensatz zu den leistungsstarken Mikroprozessoren mit Zahlenverarbeitung, die in PCs verwendet werden, die eine Vielzahl von Softwareanwendungen verarbeiten.
  • Mikrocontroller werden häufig in tragbaren Geräten verwendet, die mit Batterien betrieben werden, z. Digitalkameras. Daher sind sie bei geringem Stromverbrauch oft stromsparend (im Gegensatz zu dem wärmeableitenden, lüftergekühlten Mikroprozessor in einem Desktop-Computer).
  • Im Vergleich zum Mikroprozessor in einem PC kann der RAM in einem Mikrocontroller typischerweise von 64 KB bis zu 1 KB reichen
  • Das Programm in einem Mikrocontroller wird normalerweise im EPROM oder EEPROM gespeichert. Dies ist eine Art nichtflüchtiger Speicher (Programm verschwindet nicht, wenn das Gerät ausgeschaltet wird), der kontinuierlich gelöscht und neu geschrieben werden kann.

Mikrocontroller verwendet

Viele Geräte verwenden Mikrocontroller. Einige Beispiele:


  • Einbruchalarme enthalten einen Mikrocontroller-Chip, der mit der Tastatur, dem Display und den Sensor- / Kontakteingängen verbunden ist. Mikrocontroller sind im Allgemeinen eigenständige Chips mit ALU (Arithmetic Logic Unit), Speicher und E / A, die alle in einer integrierten Schaltung enthalten sind
  • Ältere automatische Waschmaschinen verwendeten einen Nockenschalter, um die Vorgänge während eines Waschzyklus zu sequenzieren. Dies war ein ziemlich komplexer Schalter, der am Ende der Welle des Knopfes angebracht war, mit dem Sie ein Waschprogramm ausgewählt haben. Neuere Maschinen verwenden einen Mikrocontroller, um Operationen zu sequenzieren. Andere Geräte wie Mikrowellenherde und Geschirrspüler können einen Mikrocontroller enthalten
  • Fernsehgeräte verwenden Mikrocontroller, um die Auswahl der Kanäle und das Lesen des Tastenzustands am Fernsehgerät zu übernehmen
  • Mikrocontroller werden zur Motorsteuerung und Anzeige von Informationen auf dem Armaturenbrett (Blende) von Fahrzeugen verwendet
  • Digitalkameras verwenden Mikrocontroller, um Eingaben über Tasten, die Steuerung der Bilderfassung und die Anzeige zu steuern.

Beispiele für Mikrocontroller

Einige häufig verwendete Mikrocontroller:


  • Zilog Z8
  • Intel 8051
  • Texax Instruments TIMSP430
  • Atmel AVR

Was ist ein Arduino?

Arduino ist eine Open-Source-Hardware- / Software-Programmierplattform, die auf Atmel-Mikrocontrollern basiert. Open Source bedeutet, dass Schaltpläne und Quellcode der in Designs verwendeten Software frei verfügbar sind und von Enthusiasten geändert werden können.Arduino-Entwicklungsboards mit ihren analogen und digitalen Ein- und Ausgängen sind ideal für Künstler, Designer und elektronische Bastler, die ein System zusammenstellen möchten, ohne viel über digitales Design wissen zu müssen. Eingangs- und Ausgangssignale werden auf der Arduino-Platine mithilfe von Reihen weiblicher Steckverbinder zur Verfügung gestellt, in die einzelne Leitungen oder Single-In-Line-Steckverbinder (SIL) eingesteckt werden können.

Ein Arduino-Entwicklungsboard wird mindestens Folgendes haben:

  • 9 digitale Pins, die entweder Eingangs- / Ausgangskanäle sein können. Einige davon können als PWM-Ausgänge (Pulse Width Modulation) eingerichtet werden. Ein PWM-Signal ist eine Rechteckwelle, deren Impulsbreite variiert werden kann. PWM wird zur Drehzahl- und Positionssteuerung von Motoren und Servos in Robotik- und Fernsteuerungsanwendungen verwendet
  • 4 analoge Eingangskanäle.
  • Mindestens eine serielle Schnittstelle, die auch zum Herunterladen von Code auf das Arduino verwendet werden kann

Einige Karten verfügen auch über eine Reihe von analogen Ausgangskanälen.

Es besteht ein hohes Maß an Flexibilität hinsichtlich der Funktion von Pins, von denen einige entweder analog oder digital konfiguriert werden können. Digitale Pins können entweder als Eingang oder Ausgang konfiguriert werden.

Arduino-Boards erfassen die Umgebung, wenn sie Eingaben von Sensoren erhalten, die an diese analogen und digitalen Eingänge angeschlossen sind. Sie können auch Aktuatoren wie Motoren, Alarmtongeber und elektrische Ventile steuern oder LEDs, Lampen oder andere visuelle Anzeigegeräte einschalten. Die Ausgangsansteuerungsfähigkeit der Ausgänge ist begrenzt, daher müssen normalerweise Transistoren, FETS oder Relais zwischen dem Arduino-Ausgangsstift und dem angesteuerten Gerät verwendet werden. Ein Ausgang kann jedoch LEDs direkt ansteuern.

Die Anschlüsse an Bord sind standardmäßig so angeordnet, dass Schilde kann angeschlossen werden. Schilde sind Module mit einer speziellen Funktion (z. B. Infrarotausgang, Bluetooth, GSM, WIFI, Ethernet, Motor-Ein / Aus-Steuerung über Relas, Schrittmotorsteuerung). Je nach Schildtyp kann es möglich sein, mehrere Schilde übereinander zu stapeln und einzeln über ein I zu adressieren2C, serieller Bus.

Da der Arduino-Code und die Arduino-Hardware Open Source sind, haben Entwickler von Drittanbietern Klone der offiziellen Arduino-Boards erstellt.

Arduino-Boards verfügen über 32 bis 512 KB Flash-Speicher, der zur Programmspeicherung verwendet werden kann.

Wofür kann ein Arduino Board verwendet werden?

Ein Arduino-Board kann für viele coole Sachen verwendet werden. Sie können ganz einfach LCD-Anzeigen, eine Tastatur oder Anzeigemodule mit sieben Segmenten hinzufügen und schnell ein einfaches System erstellen. Viele Informationen und Bibliotheken sind auf der Arduino.cc-Website verfügbar. Sie können Ihre eigene Zusatzelektronik entwerfen oder mithilfe von Abschirmungen ein modulares System aufbauen. Arduinos können aufgrund ihrer Vielseitigkeit für einfache, alltägliche Aufgaben oder komplexe Anwendungen verwendet werden. Ein Beispiel für eine einfache Anwendung wäre die Möglichkeit, ein Gerät einzuschalten, wenn die Temperatur in einem Raum unter ein bestimmtes Niveau fällt. Es wäre nicht allzu schwierig, diese Anwendung zu erweitern und ein GSM-Modul hinzuzufügen, das in diesem Fall eine Textnachricht senden könnte. Mit Arduino-Boards kann ein komplexes Hausautomationssystem implementiert werden, das über ein Smartphone gesteuert werden kann. Sie werden auch von Enthusiasten als Verarbeitungs- und Steuergerät in Robotern verwendet, und Kits sind für den Bau eines einfachen Roboter mit Rädern erhältlich.

Micontroller-Projekte - Programmierung eines Arduino-Boards

Arduino-Karten sind in C programmiert und Funktionen zum Lesen und Schreiben auf analoge und digitale Pins und serielle Schnittstellen sind standardmäßig verfügbar. Der Quellcode ist bekannt als "skizzieren". Standardbibliotheken stehen auch für Aufgaben wie die Ausgabe auf ein LCD-Panel oder die Kommunikation mit einem GSM-Modul zur Verfügung. Viele andere Bibliotheken und Codes wurden von Enthusiasten beigesteuert und sind auf der Arduino-Website verfügbar.

Auf der Arduino-Website steht ein grundlegender Code-Editor / Compiler zur Verfügung, mit dem Programme entwickelt werden können. Der Editor ist jedoch im Grunde genau wie Wordpad und bietet keine farbcodierte Hervorhebung oder ausgefeilte Debug-Funktionen. Atmel Studio, eine abgespeckte, angepasste Version von Visual Studio, ist eine Alternative, die diese Funktionen bietet.

Programme werden entweder über eine serielle Schnittstelle oder eine USB-Verbindung auf eine Arduino-Karte heruntergeladen. Ein Bootloader lädt das Programm dann beim Zurücksetzen in den Speicher, sodass kein externer Programmierer erforderlich ist.



Einfache Arduino-Skizze

// Eine einfache Skizze in C, die auf einer // Arduino-Karte ausgeführt werden kann. // Einfaches Programm zum Lesen eines Zeichens von der seriellen Schnittstelle, // Zurück zum Remote-Terminal und Blinken einer LED void setup () {Serial .begin (9600) // Öffne den Port bei 9600 Baud PinMode (13, OUTPUT) // Setze Pin 13 als Ausgang} void loop () {char zeichen; if (Serial.available ()) // wenn sich Daten im Empfangspuffer befinden ..... {character = Serial.read (); // lese das Zeichen Serial.write (Zeichen); // Echo des Zeichens an der seriellen Schnittstelle // Blinken einer LED digitalWrite (13, HIGH); // Schalten Sie die an Pin 13 angeschlossene LED ein. Verzögerung (50) // Verzögerung 50 mS digitalWrite (13, LOW); // LED an Pin 13 ausschalten}

Welches Arduino soll ich kaufen?

Für Kinder und absolute Anfänger empfehle ich das Grove Beginner Kit aus dem IoT-Hardware-Enabler Seeed Studio - Es ist ein All-in-One-Arduino Uno-kompatibles Board mit 10 Sensoren und 12 Projekten. Interessanterweise wird die Platine mit Breakout-Abschnitten für jeden Wandler geliefert, die auf Wunsch abgenommen werden können. Überbrückungskabel werden mitgeliefert, um die Hauptsteuerplatine mit jedem Wandlerabschnitt zu verbinden:

Wandler umfassen:

Sensoren

  • Lichtsensor
  • Schallsensor
  • Temperatur- und Feuchtigkeitssensor
  • Luftdrucksensor
  • 3-Achsen-Beschleuniger.

Aktoren

  • LED
  • Summer
  • OLED-Anzeige
  • Taste
  • Rotationspotentiometer

Andere Arduino Boards verfügbar

Eine kleinere Platte, die auf engstem Raum eingesetzt werden kann, z. Handheld-Geräte ist der Seeeduino XIAO. Es verfügt über 11 Digital / Analog-Pins, 10 PWM-Pins, 1 DAC-Ausgang, 1 I2C-Schnittstelle, 1 UART-Schnittstelle und 1 SPI-Schnittstelle.
Ein Board mit WIFI-Konnektivität für Internet of Things-Projekte ist das Arduino MKR1000

Das erste Arduino-Board, das ich gekauft habe, war das Arduino Leonardo. Es verfügt über eine bescheidene Menge an E / A, einschließlich 20 digitalen E / A-Ports, sieben PWM-Kanälen, zwölf analogen 12-Bit-Eingangskanälen und fünf analogen Ausgangskanälen. Header sind auf die Platine gelötet, aber Sie können möglicherweise eine Version ohne sie finden, wenn Sie mehr Platz benötigen.

Zusätzlich zu einer Arduino-Karte benötigen Sie eine Möglichkeit, Informationen wie Messwerte von einem Sensor, eingegebenen Text oder Statusmeldungen anzuzeigen. Zwei nützliche Module sind:

  • 16 Zeichen x 2-zeiliges LCD-Adaptermodul für serielle Schnittstellen
  • 4 Zeichen 7 Segmentanzeige

Dieser Artikel ist genau und nach bestem Wissen des Autors. Der Inhalt dient nur zu Informations- oder Unterhaltungszwecken und ersetzt nicht die persönliche Beratung oder professionelle Beratung in geschäftlichen, finanziellen, rechtlichen oder technischen Angelegenheiten.

Fragen & Antworten

Frage: Wie kann ich mehr über das Programmieren eines Arduino-Boards erfahren?

Antworten: Ein guter Anfang ist auf der Seite "Erste Schritte" der Arduino-Website:

https://www.arduino.cc/en/Guide/HomePage

Von Uns Empfohlen

Unsere Empfehlung

5 Fragen, die vor dem Start eines Softwareentwicklungsprojekts zu beantworten sind
Computers

5 Fragen, die vor dem Start eines Softwareentwicklungsprojekts zu beantworten sind

Ich bin ein 25-jähriger profe ioneller Technologie-Veteran, ein 20-jähriger profe ioneller Vater von ech Kindern und ein 24-jähriger profe ioneller Ehemann.E gibt viele Gründe, Ihr...
Bester AC1900-Router: Linksys EA6900, Archer C9, Asus RT-AC68U oder Netgear Nighthawk R7000?
Computers

Bester AC1900-Router: Linksys EA6900, Archer C9, Asus RT-AC68U oder Netgear Nighthawk R7000?

Ich war chon immer daran intere iert, die be ten WLAN-Router und Modem zu den be ten Prei en zu finden.Wenn ie nach einem AC1900-Router uchen, finden ie hier vier der be ten, die derzeit auf dem Markt...