Arduino

Recent Posts

  • Bewegungssensor-Steuerung

    Ein PIR Sensor ist ein passiver Sensor (PIR = Passive InfraRed), der häufig in Bewegungsmeldern zum Einsatz kommt. Die gängigen PIR Module sind am Arduino sehr einfach aufgebaut und verfügen über 2 Pins für die Stromversorgung (+5V, GND) und ein Statuspin, das bei erkannter Bewegung auf HIGH gesetzt wird. Einige der PIR Sensor-Module sind zusätzlich noch […]

  • Temperatur-Messung mit dem DS18B20

    Für das Messen von Temperaturen findet man verschiedenste Sensoren. In diesem Beitrag soll der Sensor DS18B20 zum Einsatz kommen. Diesen Sensor gibt es auch in einer wasserdichten Ausführung, die im folgenden an ein Arduino Board angeschlossen werden soll. Dabei handelt es sich um einen sehr präzisen Sensor, der im Bereich von -55°C bis +125°C mit […]

  • Neue Hardware: M5 Stack

    Die chinesische Firma Espressif Systems hat mit dem M5 Stack eine beeindruckende Harwareplattform auf den Markt gebracht. Sie bietet neben einem integrierten LCD, Wifi, ESP32 Modul auch die einfache Programmierung über die Arduino IDE. Eine ausführliche Beschreibung findet man unter http://www.m5stack.com Die Installation auf dem MAC benötigt aber einige Zeit, da man neben der Anleitung (die sich […]

  • Arduino-basierter DDS Signal-Generator

    Mit Hilfe des AD9850 DDS Signalgenerator Bausteins lässt sich zusammen mit einem Arduino ein kostengünstiger Signalgenerator aufbauen. Der Generator liefert Rechtecksignale und Sinussignale von 0 bis 40 MHz und wird über einen Microcontroler angesteuert. Das Sinussignal ist in digitaler Form auf dem Chip hinterlegt und wird über einen schnellen 10-bit DA-Wandler kontinuierlich ausgegeben. Rechtecksignale können bis zu […]

  • Pull-Up und Pull-Down Widerstände

    Um an einem elektrischen Eingang ein definiertes Signal zu erhalten, werden üblicherweise sogenannte Pull-Up bzw. Pull-Down Widerstände verwendet. Die Funktion lässt sich aus den Bezeichnungen ableiten: Ein Pull_Up-Widerstand zieht also etwas hinauf und ein Pull_Down-Widerstand zieht etwas hinunter. Eine Pull_Up-Widerstand-Schaltung sorgt dafür, dass die elektrische Spannung hinauf bis zum Betriebsspannungswert +Ub (Vcc) gezogen wird. Die Pull_Down-Widerstands-Schaltung zieht […]

  • Encoder mit dem Arduino auslesen

    Encoder sind  Drehwinkel-Sensoren. Encoder haben keinen Start- oder Endpunkt. Man kann ihn daher endlos in beide Richtungen drehen.  Die Absolute Positionsabfrage ist damit nicht möglich, da der Encoder ja keine feste Positionen hat. Stattdessen gibt er bei jeder Drehung einen Impuls ab. Da die Kontakte versetzt angeordnet sind, kann man an der Reihenfolge der Signale erkennen […]

  • Kapazitätsmessung mit dem Arduino

    Die Idee des Meß-Prinzips besteht darin, ein präzises Monoflop 74HC4538E zu verwenden, um einen Impuls zu erzeugen, der direkt von der Kapazität des zu messenden Kondensators abhängt. Die Impulslänge wird dann über den Arduino gemessen und über die Formel T = R*C kann dann bei bekanntem T und R die Kapazität C gemessen werden. Zum […]

  • Pulsweitenmodulation (PWM)

    Bei der Pulsweitenmodulation (engl. Pulse Width Modulation, abgekürzt PWM) wird das Verhältnis zwischen der Einschaltzeit und Periodendauer eines Rechtecksignals bei fester Grundfrequenz variiert. Dazu nimmt man ein Rechtecksignal mit einer festen Frequenz und variiert die Breite der jeweiligen Pulse. Den Abstand zweier aufeinander folgender Pulse bezeichnet man als Periodendauer, die Breite des aktiven Pulses (T1) als […]

  • OLED Display

    Das 0,96 Zoll OLED Display I²C ist über die I2C-Schnittstelle anzusteuern und verfügt über eine Auflösung von 128 mal 64 monochromen Bildpunkten, die selbst leuchten und somit keine Hintergrundbeleuchtung benötigen. Zur Ansteuerung mit dem Arduino müssen 2 Bibliotheken eingebunden werden. Das wäre einserseits die Adafruit_SSD1306-Bibliothek zur Ansteuerung des Displaytreibers und dann noch die Adafruit_GFX-Bibliothek für […]

  • NeoPixel Ring mit 16 RGB LEDs

    Die Ansteuerung des sehr hellen Neo Pixel Rings mit 44m Durchmesser erfolgt mit nur einem Pin sowie einer externen +5V Spannungsversorgung. Jede einzelne LED ist durch den Microcontroller ansteuerbar, da der Treiberchip bereits in der LED ist.  Es sind keine externen Widerstände nötig. Der Ring kommt ohne Anschlüsse, diese sind auf der Platine angezeigt und müssen […]

  • Schrittmotor Steuerung

    Ein Schrittmotor (oft auch Stepper genannt) ist ein Synchronmotor, bei dem der Rotor bei geschickter Wahl der angesteuerten Stator-Spulen gezielt um einen Winkel gedreht werden kann. Auf diese Weise kann man in mehreren Schritten jeden Drehwinkel, als Vielfaches des minimalen Drehwinkels anfahren. Schrittmotoren eignen sich als hochpräzise Stellmotoren. Sie können eine vorherbestimmte Anzahl von Schritten […]

  • DC-Motorsteuerungen

    Motorsteuerung bedeutet im einfachsten Fall, den Motor in Bewegung zu versetzen. Dies geschieht in dem die Wicklungen des Motors mit Spannung versorgt werden. Dabei gibt es nur zwei Zustände: der Motor ist mit Spannung versorgt und dreht sich oder im anderen Fall eben nicht. Die dazu erforderlichen Schalter können zwar mechanische Schalter sein, heute sind […]

  • Der Logikanalysator von Saleae

    Ein Logikanalysator (engl. Logic Analyzer) ist ein elektronisches Messgerät, das den Zeitverlauf von digitalen Signalen aufzeichnen und bildlich darstellen kann. Es dient dem Test und der Fehlersuche in digitalen elektronischen Schaltungen, beispielsweise bei der Entwicklung von Computern und elektronischen Steuergeräten. Der hier vorgestellte Logikanalysator stammt von einer amerikanischen StartUp Firma mit dem Namen Saleae, mit […]

  • EEPROM als externer Speicher

    Ein EEPROM (electrically erasable programmable read-only memory) ist ein nichtflüchtiger, elektronischer Speicherbaustein. Er wird verwendet zur Speicherung kleinerer Datenmengen in elektrischen Geräten, bei denen die Information auch ohne anliegende Versorgungsspannung erhalten bleiben muss. Ein EEPROM kann im Durchschnitt 1 Million Schreib/Lesezyklen durchführen wobei die Speicherbarkeit der Daten vom Hersteller für mehrere Jahrzehnte garantiert wird. Der Anschluss […]

  • Arduino als Zähler

    Ereignis-Zähler Möchte man verschiedene Ereignisse die als Signal an einem Eingang des Arduino vorliegen zählen, gibt es die einfache Möglichkeit über das sogenannte Polling-Verfahren die Werte einzulesen und zu verarbeiten. Beim Polling wird der Zustand des digitalen Eingangs durch eine Schleife in regelmäßigen Abständen abgefragt wird: [crayon-5bf44185d1fff290940970/] Der Nachteil bei dieser Methode ist, dass die Abfrageintervalle abhängig […]

  • Serielle Schnittstelle

    Wenn der Arduino Daten am seriellen Port empfängt, wird immer ein Interrupt ausgelöst. Interrupts sind Ereignisse, auf die der Microcontroller sofort reagiert. Er unterbricht seine aktuellen Aktionen und führt eine für diesen Interrupt definierte Routine aus. Beim Arduino ist eine Interruptroutine für den seriellen Port vordefiniert (serialEvent()) und diese tut im normalen Betrieb nichts. Um […]

  • 14 Segment Display

    Bei einer 14 Segment-Anzeige hat man den gleichen Aufbau wie bei einer 7-Segment-Anzeige nur mit dem Unterschied, dass man 7 zusätzliche Licht-Segmente ansteuern kann. Damit ergeben sich natürlich mehr Darstellungsmöglichkeiten. Insbesondere, wenn man mehrere solcher Displays neben einander anbringt, wie in meinem Versuchsaufbau. Wie 8 solcher Display-Module angesprochen und angesteuert werden, soll nachfolgend erklärt werden. Um […]

  • A4988 Schrittmotor Treiber

    Das Modul eignet sich zum besonders einfachen Ansteuern von Schrittmotoren (bis 35V/2A). Es genügen dabei nur 2 Leitungen um einen Schrittmotor anzusteuern. Neben den üblichen Voll- und Halbschritt, beherrscht dieses Modul auch Mikroschritte (1/4 Schritte, 1/8 Schritte und 1/16 Schritte). Ein Standardschrittmotor mit 200 Schritten pro Umdrehung, kann dadurch also eine Genauigkeit von 3200 Schritten […]

  • Interrupt Programmierung

    Was ist ein Interrupt ? Durch die Verwendung eines Interrupts wird der gerade laufende Code buchstäblich unterbrochen, egal ob er gerade eine Schleife abarbeitet, Eingaben über den Seriellen Port verarbeitet oder komplizierte Berechnungen durchführt. Nach der Unterbrechung wird eine spezielle Interrupt-Routine aufgerufen und der dort defineirte Code ausgeführt. Sobald dieser abgearbeitet ist, wird der unterbrochene Programmablauf […]

  • Multiple Sensor Chip mit 10 DOF von Adafruit

    ******* Beitrag ist noch in Bearbeitung *******   Bei diesem Sensor handelt es sich um einen sogenannten 10 DOF Sensor. Das ist eine Kombination aus verschiedenen Sensorzellen, die es erlauben 11 verschiedene Bewegungsarten oder Bewegungsrichtungen zu erfassen. Auf diesem Board wurden ein 3-Achsen Beschleunigung-Sensor, ein 3-Achsen Magnetometer, ein 3-Achsen Gyroskop und ein barometrischer Druck- und […]

  • Absolute Orientation Sensor Adafruit BNO055

    Der Bosch Sensortec BMF055 9-Achsen-Bewegungssensor ist eine Erweiterung der Familie der Anwendungsspezifischen Sensorknoten (ASSN), die einen benutzerdefiniert programmierbaren 9-Achsen-Bewegungssensor einführt, der Sensoren und einen Mikrocontroller in einem einzigen Gehäuse zusammenfasst. Der BMF055 ist ein System-in-Package (SiP), das Folgendes umfasst: triaxialer 14-Bit-Beschleunigungsmesser triaxiales 16-Bit-Gyroskop mit einem Bereich von ±2000 Grad pro Sekunde triaxialer geomagnetischer Sensor 32-Bit Cortex […]

  • Magnetsensor

    Der HMC5883L ist ein Sensor mit dem die magnetische Flußdichte von Magnetfeldern in 3 Achsen gemessen werden kann. Dadurch kann man ihn – unter anderem – zur Richtungsbestimmung auf der Erde, also als Kompass, verwenden. Die Feldlinien des Erdmagnetfeldes verlaufen nicht wie vielfach angenommen vom antarktischen zum arktischen Magnetpol. Sie entspringen vielmehr tief im Erdinneren […]

  • Arduino Einführung

    Die Arduino Plattform Die Programmierung von Microcontrollern und die Ansteuerung der verschiedenen Aktoren war selbst für ausgebildete Informatiker eine Herausforderung, so dass diese Aufgabe meist ausgewiesenen Experten mit einem Hang zur Hardware-nahen Programmierung vorbehalten blieb. Ohne wirklich komfortable Enticklungsumgebungen und nur mit intensivem Studium der meist sehr spezifischen Datenblätter war die Entwicklung von eingetteten System […]

  • BMP 180 Pressure Sensor

    Bei dem BMP180 Sensor von Bosch handelt es sich um einen MEMS-Sensor, it dessen Hilfe der aktuellen Luftdruck und die Temperatur mit Hilfe eines Microcontrollers über das I2C Protokoll gemessen werden können. Aus diesen beiden Werten lässt sich dann über die nebenstehenden Formel (aus dem Datenblatt entnommen) auch die aktuelle Höhe über NN berechnen. Der […]

  • Arduino Port-Manipulation

    Es kann bei manchen Anwendungen vorkommen, dass die Arduino-Input/Output-Funktionen, wie analogRead() oder digitalWrite() zu langsam sind, und den Programmfluss stören. In solchen Fällen kann man auf die Hardware-Ports des ATmega 328 direkt zugreifen. Da diese Form der Programmierung die Manipulation einzelner Bits erfordert, ist dazu die Kenntnis der elementaren Bit-Manipulations-Operationen notwendig. Der Vorteil dieser Mühe liegt […]

  • Neues aus der Arduino Welt

    Arduino 101 Auf den ersten Blick unterscheidet sich der Arduino 101 kaum vom Arduino Uno. Der Formfaktor, die Anschlüsse und die Pin-Leisten sind identisch. Einzig der unlackierte Bereich rechts unten auf der Platine fällt auf: Dort befindet sich die Antenne für den Bluetooth-Empfänger. Der sitzt nicht als eigener Baustein auf dem Board, sondern ist integriert […]

  • Roboterarm

    Der Bau eines Roboterarms… Moderne Fertigungstechniken und günstige Standardkomponenten wie der Arduino und diverse Modellbauteile erlauben heutzutage jedermann, sich für wenig Geld einen Roboter selbst zu bauen. Inspiriert durch einen Beitrag in der Zeitschrift ct, entschloss ich mich einen solchen Roboterarm zu bauen. Die dazu erforderlichen mechanischen Teile wurden von unterschiedlichen Quellen zusammen getragen, wobei es […]

  • Lichtschranke

    Steuerung einer Lichtschranke Im folgenden wird gezeigt, wie eine Gabellichtschranke aus dem Bereich der Automatisierungstechnik in Verbindung mit einem Arduino verwendet werden kann. Die Lichtschranke arbeitet nach folgendem Prinzip: Wenn über die Braune Leitung +10V bis +30V angelegt werden und das blaue Kabel an Masse gelegt wird, kann das Ausgangssignal am Pin4 (schwarze Leitung) abgegriffen werden. […]

  • Verwendung von Schieberegister

    Ein Schieberegister ist eine logische Schaltung, die mehrstellige binäre Signale taktgesteuert aufnehmen, speichern und wieder abgeben kann. Schieberegister ermöglichen die Transformation serieller Daten in parallele Daten und umgekehrt. Sie bestehen im Grunde aus hintereinander geschalteten D- oder JK-FlipFlops. Die Takteingänge aller Stufen werden zusammengeschaltet und über einen gemeinsamen Takt versorgt. Da ein Flip-Flop nur ein Bit speichern kann, müssen […]

  • Der Bau von klassischen Holzpfeilen

    Für den traditionellen Bogenschützen kommen natürlich keine Hightech-Carbon Pfeile in Frage, sondern nur handgearbeitete Holzpfeile. Sämtliche dazu benötigten Materialien sind in gut sortierten Bogenshops und von speziellen Händlern zu beziehen. Man benötigt folgende Materialien und Werkzeuge: Holzschäfte, Federn, Nocken, Spitzen. Zusätzlich ist ein Befiederungsgerät, ein Gewindeschneider und ein Spitzensetzer sowie ein Nockenspitzer erforderlich. Dann benötigt […]

  • Mit dem Arduino ins Internet

    Das Arduino Ethernet-Shield erlaubt es von überall in der Welt den Arduino mit dem Internet zu verbinden. Damit können Daten von einem Sensor ins Internet gesendet werden oder Daten über eine Web-Seite an ein bestimmtes Gerät gesendet werden. Unendliche Möglichkeiten stehen zur Verfügung! Das Internet der Dinge wird Realität. Die Inbetriebnahme erfolgt in mehrere Schritten. […]

  • SMS Versenden mit dem Arduino

    ……. Beitrag ist noch in Bearbeitung ….. Mit dem GSM/GPRS/GPS-Shield ist es möglich, GSM (Mobilfunk)- und GPS (Navigation)-Dienste zu verwenden. Damit ist man in der Lage, beispielsweise die aktuelle Position via GPS ermittelt und mit einer SMS versendet werden oder es können Alarme versendet werden. Ebenso ist es mög-lich, über das mobile Netzwerk ins Internet zu […]

  • Nunchuck Controller als Eingabe-Instrument

    Der Nunchuck Controller ist ein Eingabe-Instrument für die bekannte Wii-Spieleconsole. Er verfügt über 2 Druckknöpfe, einen Joystick und einen eingebauten 3-Achsen-Beschleunigungssensor. Dieser Controller ist aufgrund der hohen Verbreitung für wenig Geld erhältlich, sehr robust und verfügt über eine gut dokumentierte I2C-Schnittstelle, die es erlaubt, diesen mit dem Arduino zu verbinden. Somit kann der Controller für […]

  • Entfernungsmessung mit dem Sharp IR Sensor

    Der Sharp GP2Y0A02YK IR Infrarot Sensor ist ein Distanz-Sensor auf optischer Basis mit Analogausgang. Er arbeitet nach dem Triangulationsprinzip mit integriertem PSD-Chip. Die Ansteuerung ist sehr einfach: Es müssen nur +5 V und Masse angelegt werden. Am Pin Vo liegt dann eine positive, analoge Spannung an, die je nach Objektentfernung zwischen 0,4 – 2,8 V […]

  • Physical Computing mit dem Arduino

    Unter Physical Computing werden Systeme verstanden, die sich mit der Beziehung zwischen dem Menschen und der digitalen Welt befassen. Dabei werden Sensoren und Mikrocontroller verwendet, um analoge Eingaben Software-Anwendungen verfügbar zu machen und/oder elektromechanische Geräte wie Motoren, Servos, um andere Hardware zu steuern. Die so erstellten Systeme, bei denen ein Mikrocontroller innerhalb eines Gerätes arbeitet, […]

  • Arduino Daten Ein- und Ausgabe

    Einlesen der Arduino Input Ports Die digitalen Ports vom Arduino können je nach Bedarf zur Ausgabe oder Eingabe von Werten verwendet werden. Dazu steht der Befehl DigitalRead zur Verfügung. Im folgenden vorgestellt werden, wie  8 bit = 1 Byte Daten eingelesen werden können. Alle digitalen Arduino Pins sind standardmäßig als Eingänge verschaltet, daher müssen sie nicht extra als […]

  • Der Real Time Clock Baustein DS323

    Bei dem RTC Baustein DS3231 oder DS3232 handelt es sich um einen sehr präzisen Uhren Baustein, der über die I2C Schnittstelle an jeden Microcontroller angeschlossen werden kann. Es gibt eine Vielzahl von Bibliotheken im Internet, über die eine einfache Nutzung dieses Bausteins möglich wird. In diesem Beitrag soll allerdings gezeigt werden, wie mit Hilfe des […]

  • Ultraschallsensor HCSR-04

    Ultraschallsensor HCSR-04 Der HC-SR04 ist ein äußerst günstiger und doch recht genauer Entfernungs-sensor. Er benötigt eine Betriebsspannung von 5V und misst im Bereich von 2cm bis 400 cm bei einer Stromaufnahme von 15mA. Die Funktion basiert auf  folgendem Prinzip:  Ein 10 Microsekunden langer Impuls am Trigger-Pin löst acht 40kHz Ultraschall Impulse aus. Diese werden ausgesendet […]

  • Ansteuerung von 7-Segment-Anzeigen

    1. Ansteuerung von 7-Segment-Anzeigen Eine Siebensegmentanzeige ist ein optoelktronisches Anzeigeelement aus sieben separat schaltbaren, sichtbaren Balken, die in Form eines Rechtecks mit einem Mittelbalken angeordnet sind. Üblicherweise werden die Segmente mit lateinischen Buchstaben A bis G bezeichnet, wobei oben begonnen, im Uhrzeigersinn fortgefahren und das mittlere Segment zuletzt benannt wird. Zusätzlich ist noch ein weiteres […]

  • Servomotor Ansteuerung

    Ein Servomotor besteht neben der Mechanik aus einer Steuerelektronik und einem Gleichspannungs-Elektromotor. Beide Einheiten sind dabei auf engstem Raum untergebracht. Die integrierte Elektronik steuert die Bewegung in dem sie u.a. den aktuellen Drehwinkel des Motors bestimmt. Dadurch kann das Eingangssignal des Servos mit der aktuellen Position des Elektromotors verglichen werden, um so die Position des […]

  • Transistor Schaltstufen

    Transistor-Schaltstufen für Arduino Sobald höhere Lasten angesteuert werden müssen, sind die Ausgabe-Pins des Arduino überfordert. Abhilfe schaffen im einfachsten Fall entsprechende Transistor Schaltstufen die über die Arduino-Ports mit einem TTL-SIgnal angesteuert werden. Schalten mit NPN Leistungstranistoren Die Schaltstufe besteht aus einem oder falls man weitere Ausgänge benötigt mehreren NPN Leistungstransistoren. Der Transistor bestimmt dabei die […]