Open-Source-Code mit Arduino IDE und PlatformIO
Autonomes Fahren: GPS, Accelerometer, Gyroskop
PS3-Controller
Mikrocontroller wie der Arduino und Einplatinenrechner wie der Raspberry Pi haben sich zu beliebten Komponenten entwickelt. Dritter im Bunde ist der ESP32 der Firma Espressif. Mikrocontroller dieser Baureihe zeichnen sich durch eine Vielzahl implementierter Funktionen aus, die bei einem Arduino konventioneller Prägung mit einem Atmel-AVR-Mikrocontroller erst mit weiterer Hardware möglich sind. Prominentes Beispiel sind hier die WiFi- und Bluetooth-Funktionalitäten. Gegenüber einem Raspberry Pi zeichnen sie sich durch einen deutlich geringeren Preis aus.
Allgemeine Informationen für die Realisierung eines Roboterauto-Projekts mit dem ESP32 sind leicht zu finden. Dabei handelt es sich aber oft nur um Ausführungen zu einem Teilaspekt, ohne inhaltliche oder funktionale Abstimmung. So ist nicht nur die Beschaffung der benötigten Informationen mühselig und zeitaufwändig, sie kann auch außerordentlich fehlerträchtig sein.
Ansatzpunkt dieses Buches ist, diese Lücke zu schließen. Es geht auf verschiedene Möglichkeiten eines Chassis ein, vermittelt nötige Kenntnisse und führt schrittweise von einer einfachen Motorsteuerung zu einem komplexen sensor- und sprachgesteuerten Roboterauto. Hacks rund um GPS und eine PlayStation 3 runden die Sache ab.
Inhalt
Bei der Reihenfolge der Kapitel wurde versucht – beginnend bei der Darstellung von grundlegenden Informationen – über die Lösung einfacher Aufgaben zu etwas anspruchsvolleren Techniken zu führen.
Der Mikrocontroller ESP32
Die Software erstellen
Die Stromversorgung
Rund um die Hardware
Das Chassis
Der Gleichstrommotor
Kabellose Steuerung über WiFi
Mit Sensoren Hindernisse erkennen
Eine eigene Roboterauto-App
Servo und Lichtsensor
GPS
Accelerometer / Gyroskop
PS3-Controller
Roboterauto-App
Hinweis zur Software
Die Dateien haben das Suffix (.cpp). Grund ist die Entwicklung mit PlatformIO. Mit Copy & Paste sollten sie auch in der Arduino-IDE verwendet werden können.
Third, extended and revised edition with AVR Playground and Elektor Uno R4
Arduino boards have become hugely successful. They are simple to use and inexpensive. This book will not only familiarize you with the world of Arduino but it will also teach you how to program microcontrollers in general. In this book theory is put into practice on an Arduino board using the Arduino programming environment.
Some hardware is developed too: a multi-purpose shield to build some of the experiments from the first 10 chapters on; the AVR Playground, a real Arduino-based microcontroller development board for comfortable application development, and the Elektor Uno R4, an Arduino Uno R3 on steroids.
The author, an Elektor Expert, provides the reader with the basic theoretical knowledge necessary to program any microcontroller: inputs and outputs (analog and digital), interrupts, communication busses (RS-232, SPI, I²C, 1-wire, SMBus, etc.), timers, and much more. The programs and sketches presented in the book show how to use various common electronic components: matrix keyboards, displays (LED, alphanumeric and graphic color LCD), motors, sensors (temperature, pressure, humidity, sound, light, and infrared), rotary encoders, piezo buzzers, pushbuttons, relays, etc. This book will be your first book about microcontrollers with a happy ending!
This book is for you if you are a beginner in microcontrollers, an Arduino user (hobbyist, tinkerer, artist, etc.) wishing to deepen your knowledge,an Electronics Graduate under Undergraduate student or a teacher looking for ideas.
Thanks to Arduino the implementation of the presented concepts is simple and fun. Some of the proposed projects are very original:
Money Game
Misophone (a musical fork)
Car GPS Scrambler
Weather Station
DCF77 Decoder
Illegal Time Transmitter
Infrared Remote Manipulator
Annoying Sound Generator
Italian Horn Alarm
Overheating Detector
PID Controller
Data Logger
SVG File Oscilloscope
6-Channel Voltmeter
All projects and code examples in this book have been tried and tested on an Arduino Uno board. They should also work with the Arduino Mega and every other compatible board that exposes the Arduino shield extension connectors.
Please note
For this book, the author has designed a versatile printed circuit board that can be stacked on an Arduino board. The assembly can be used not only to try out many of the projects presented in this book but also allows for new exercises that in turn provide the opportunity to discover new techniques. Also available is a kit of parts including the PCB and all components. With this kit you can build most of the circuits described in the book and more.
Datasheets Active Components Used (.PDF file):
ATmega328 (Arduino Uno)
ATmega2560 (Arduino Mega 2560)
BC547 (bipolar transistor, chapters 7, 8, 9)
BD139 (bipolar power transistor, chapter 10)
BS170 (N-MOS transistor, chapter 8)
DCF77 (receiver module, chapter 9)
DS18B20 (temperature sensor, chapter 10)
DS18S20 (temperature sensor, chapter 10)
HP03S (pressure sensor, chapter 8)
IRF630 (N-MOS power transistor, chapter 7)
IRF9630 (P-MOS power transistor, chapter 7)
LMC6464 (quad op-amp, chapter 7)
MLX90614 (infrared sensor, chapter 10)
SHT11 (humidity sensor, chapter 8)
TS922 (dual op-amp, chapter 9)
TSOP34836 (infrared receiver, chapter 9)
TSOP1736 (infrared receiver, chapter 9)
MPX4115 (analogue pressure sensor, chapter 11)
MCCOG21605B6W-SPTLYI (I²C LCD, chapter 12)
SST25VF016B (SPI EEPROM, chapter 13)
About the author
Clemens Valens, born in the Netherlands, lives in France since 1997. Manager at Elektor Labs and Webmaster of ElektorLabs, in love with electronics, he develops microcontroller systems for fun, and sometimes for his employer too. Polyglot—he is fluent in C, C++, PASCAL, BASIC and several assembler dialects—Clemens spends most of his time on his computer while his wife, their two children and two cats try to attract his attention (only the cats succeed). Visit the author’s website: www.polyvalens.com.Authentic testimony of Hervé M., one of the first readers of the book:'I almost cried with joy when this book made me understand things in only three sentences that seemed previously completely impenetrable.'
Mit Arduino – Schaltungsprojekte für Profis wird der Leser umfassend in die Hardware und Software der Arduino-Plattform eingeführt. Einfache, leicht verständliche Projekte am Anfang des Buches führen Schritt für Schritt in die Open-Source-Plattform ein. Die Projekte werden dann zunehmend komplexer, um dem Leser möglichst viele konkrete Lösungsmöglichkeiten aufzuzeigen, die mit dem Arduino-Mikrocontroller auch für angehende Profis zur Verfügung stehen.
Dabei wird neben den erforderlichen theoretischen Grundlagen stets größter Wert auf eine praxisorientierte Ausrichtung gelegt. So werden wichtige Techniken wie AD-Wandlung, Timer oder Interrupts stets in Praxisprojekte eingebettet. Es entstehen Lauflichteffekte, ein Aufwachlicht, voll funktionsfähige Voltmeter, präzise Digitalthermometer, Uhren in allen Variationen, Reaktionszeitmesser oder mausgesteuerte Roboterarme. Und ganz nebenbei hat der Leser die Grundlagen der zugehörigen Controller-Technik verstanden und im wahrsten Sinne des Wortes begriffen.
Design IoT Projects with Raspberry Pi, Arduino and ESP32 The Internet of Things (IoT) is becoming a major application area for embedded systems. As a result, more and more people are becoming interested in learning about embedded design and programming. Technical colleges and universities are moving away from legacy 8 and 16-bit microcontrollers and are introducing 32-bit embedded microcontrollers to their curriculums. Many IoT applications demand precision, high processing power, and low power consumption. Produced by IBM, Node-RED is an open-source visual editor for wiring the Internet of Things. Node-RED comes with a large number of nodes to handle a multitude of tasks. The required nodes are selected and joined together to perform a particular task. Node-RED is based on flow type programming where nodes are configured and joined together to form an application program. There are nodes for performing complex tasks, including web access, Twitter, E-mail, HTTP, Bluetooth, MQTT, controlling GPIO ports, etc. One particularly nice aspect of Node-RED is that the programmer does not need to learn how to write complex programs. For example, an email can be sent by simply joining nodes together and writing only a few lines of code. The aim of this book is to teach how Node-RED can be used in projects. The main hardware platform used with most of the projects in this book is Raspberry Pi 4. Chapters are included to show how Node-RED can be also be used with Arduino Uno, ESP32 DevKitC, and the ESP8266 NodeMCU microcontroller development boards.
ModbusRTU and ModbusTCP examples with the Arduino Uno and ESP8266
Introduction to PLC programming with OpenPLC, the first fully open source Programmable Logic Controller on the Raspberry Pi, and Modbus examples with Arduino Uno and ESP8266
PLC programming is very common in industry and home automation. This book describes how the Raspberry Pi 4 can be used as a Programmable Logic Controller. Before taking you into the programming, the author starts with the software installation on the Raspberry Pi and the PLC editor on the PC, followed by a description of the hardware.
You'll then find interesting examples in the different programming languages complying with the IEC 61131-3 standard. This manual also explains in detail how to use the PLC editor and how to load and execute the programs on the Raspberry Pi. All IEC languages are explained with examples, starting with LD (Ladder Diagram) over ST (Structured Control Language) to SFC (Special Function Chart). All examples can be downloaded from the author's website.
Networking gets thorough attention too. The Arduino Uno and the ESP8266 are programmed as ModbusRTU or ModbusTCP modules to get access to external peripherals, reading sensors and switching electrical loads. I/O circuits complying with the 24 V industry standard may also be of interest for the reader.
The book ends with an overview of commands for ST and LD. After reading the book, the reader will be able to create his own controllers with the Raspberry Pi.
Inhalt: USB sucht Anschluss AVR-Entwicklungsumgebung für Einsteiger unter Linux Eine Handvoll Computer: Lüfterloser Mini-PC für unter 100 Dollar Marktübersicht Evaluierungsboards und Starterkits Pimp my Router Display sucht Anschluss: LCD-Anzeige am USB-Port Unterverteiler: Power-Management-Lösung für Mikrocontroller-Schaltungen Debug-Welten: On-Chip Debugging vs. In-Circuit Emulation Die Grundlagen des I²C-Busses Kalte Luft: Was man über Lüfter wissen sollte Wie spät? DCF-77 PSoC-Decoder Kurz notiert: Interessantes aus der Welt der Mikroelektronik Weitere Hefte aus dieser Reihe: Mikrocontroller 7 (PDF) Mikrocontroller 6 (PDF) Mikrocontroller 5 (PDF) Mikrocontroller 4 (PDF) Mikrocontroller 2 (PDF) Mikrocontroller 1 (PDF)
From Simple Ciphers to Secure Systems
Understanding how to apply cryptography on modern microcontrollers is essential for building secure, reliable, and trustworthy systems. This book explains cryptography in the context of embedded hardware, from classical ciphers that illustrate core principles to modern techniques such as AES for practical high-security applications.
By combining mathematical theory with real-world microcontroller implementations, readers learn not only how cryptography works, but also how to implement it effectively on systems with limited processing power and memory. The book is intended for students starting out in cryptography, hobbyists securing personal projects, and engineers looking for a structured guide to embedded security.
The book covers these key topics in applied cryptography:
Classical ciphers on Arduino Uno and Raspberry Pi Pico, with full programs: Spartan Scytale, Hebrew Atbash, Caesar, ROT13, Alberti Disk, Vigenère, Affine, Polybius, Playfair, Beaufort, Ottoman Codebook, and One-Time Pad.
Hacking classical ciphers using microcontrollers, with examples.
Pseudo-random (PRNG) and true random number generation (TRNG) on microcontrollers.
Symmetric-key cryptography with full programs: DES and AES-128/256.
Memory and speed constraints of cryptography on microcontrollers.
Asymmetric cryptography: public/private keys, digital signatures, key distribution and derivation (KDF), RSA, and SHA-256 implementations.
A complete secure communication program using RSA and AES-256.
A glossary of commonly used cryptography terms.
1-Wire ist die Bezeichnung für eine serielle Schnittstelle, die mit nur einer Datenader auskommt. Es ist ein Master-Multi-Slave-Kommunikationsprotokoll. Verfügbar sind integrierte Bausteine zur Temperaturmessung, Akkuüberwachung, Echtzeituhr und beispielsweise Hotelschließanlagen. Eine Besonderheit von 1-Wire-Geräten ist die Spannungsversorgung aus der Gegenstation, hierbei erfolgt die Versorgung der Slaves über die Datenleitung.
Der Leser erhält mit „Das 1-Wire-Praxisbuch“ eine umfassende Einführung in die 1-Wire-Technologie. Das Buch zeigt anhand praktischer Projekte zum Nachbauen, wie man verschiedene verfügbare 1-Wire-Chips in eigene Mikrocontroller-gesteuerte Anwendungen integrieren kann, und zwar mit Assembler-Software-Implementierungen für PIC-Mikrocontroller und mit Sketches für den Arduino.
Die 1-Wire-Technik kommt in dem Buch praxisnah bei einem elektronischen Schloss zum Einsatz, das von einem PIC-Mikrocontroller gesteuert wird. Ein weiteres Praxisprojekt erläutert Schritt für Schritt, wie beispielsweise eine ständige Temperaturmessung mit 1-Wire-Bausteinen möglich ist.
Analogue Electronics and Microcontrollers Projects
Hobbyist electronics can be a fun way to learn new skills that can be helpful to your career. Those who understand the basics of electronics can design their own circuits and projects. However, before you run, you need to learn to walk.
It all starts with analogue electronics. You should be familiar with the simple components and circuits and understand their basic behaviors and the issues you may encounter. The best way to do this is through real experiments. Theory alone is not enough. This book offers a large number of practical entry-level circuits, with which everyone can gain the basic experience.
Through the widespread introduction of microcontrollers, a new chapter in electronics has begun. Microcontrollers are now performing more and more tasks that were originally solved using discrete components and conventional ICs. Starting out has become easier and easier thanks to platforms including Bascom, Arduino, micro:bit. The book introduces numerous manageable microcontroller applications. It’s now a case of less soldering and more programming.
Pfiffige Lösungen mit Arduino Pro Mini und ATmega328-Boards
Mit einem einfachen Arduino Pro Mini Board und ein paar weiteren Bauteilen lassen sich heute für wenig Geld Projekte realisieren, die vor 20 oder 30 Jahren noch undenkbar waren oder ein kleines Vermögen gekostet hätten. Von einfachen LED-Effekten bis zur Ladestation – die den Akku auf Herz und Nieren prüft – ist in diesem Buch vieles dabei.
Als Mikrocontroller dient bei allen beschriebenen Projekten der ATmega328, der mit seinen 20 Ein- und Ausgangsleitungen unzählige Möglichkeiten zum Messen, Schalten und Steuern bietet. Mit einem 7-Segment-Display und ein paar Widerständen lässt sich daraus z. B. ein Voltmeter bauen oder mittels NTC ein Thermometer. Die Arduino-Plattform bietet dabei die perfekte Entwicklungsumgebung zum Programmieren der Boards.
Neben den ganz konkreten Projekten soll das Buch aber auch das nötige Wissen vermitteln, um eigene Ideen zu realisieren. Wie misst man was? Welches ist der geeignete Transistor, um verschiedene Verbraucher zu schalten? Wann ist man mit einem IC besser bedient, oder wie schaltet man Netzspannung? Auch batteriebetriebene Projekte mit LilyPad sind ausführlich thematisiert. Ebenso vielerlei Motoren, vom einfachen Gleichstrommotor bis zum Schrittmotor.
Sensoren sind ein weiteres spannendes Thema. Nur zwei Beispiele: Mit einem winzigen Bauteil lässt sich tatsächlich messen, dass der Luftdruck am Fußboden höher ist als auf Tischhöhe. Mit einem simplen Infrarot-Empfänger kann man ausgedienten Fernbedienungen ein zweites Leben schenken und die Wohnung damit steuern.
Einführung in die SPS-Programmierung mit dem Open-Source-Projekt auf dem Raspberry Pi und Modbus-Beispiele mit dem Arduino Uno und ESP8266
Die SPS-Programmierung ist heute in der Industrie und in der Hausautomation sehr weit verbreitet. In diesem Buch beschreibt der Autor, wie der Raspberry Pi 4 als SPS eingesetzt werden kann. Angefangen mit der Softwareinstallation auf dem Raspberry Pi und dem SPS-Editor auf dem PC geht es nach einer Beschreibung der Hardware an das Programmieren.
Es folgen interessante Beispiele nach IEC 61131-3 in den verschiedenen Programmiersprachen. Ausführlich wird auch erklärt, wie der SPS-Editor benutzt wird und wie die Programme auf den Raspberry Pi geladen und ausgeführt werden. Angefangen mit der Programmierung mit KOP (Kontaktplan) über ST (Structured Control Language) bis zu AS (Special Function Chart) werden alle IEC-Sprachen mit Beispielen behandelt. Diese können auf der Website des Autors heruntergeladen werden.
Auch die Vernetzung kommt nicht zu kurz. Der Arduino Uno und der ESP8266 werden als ModbusRTU- bzw. ModbusTCP-Module programmiert, um Zugriff auf externe Peripherie zu erhalten. Damit ist es möglich, Sensoren einzulesen und Verbraucher zu schalten. Interessant dürften auch E/A-Schaltungen sein, die dem 24V-Industriestandard entsprechen.
Befehlsübersichten für ST und KOP runden das Buch ab.
Nach dem Durcharbeiten des Buches ist der Leser in der Lage, eigene SPS-Steuerungen mit dem Raspberry Pi zu verwirklichen.
Microcontrollers have become an indispensable part of modern electronics. They make things possible that vastly exceed what could be done previously. Innumerable applications show that almost nothing is impossible.
There’s thus every reason to learn more about them, but that raises the question of where to find a good introduction to this fascinating technology. The answer is easy: this Microcontroller Basics book, combined with the 89S8252 Flash Board project published by Elektor Electronics.
However, this book offers more than just a basic introduction. It clearly explains the technology using various microcontroller circuits and programs written in several different programming languages. Three microcontrollers from the 8051 family are used in the sample applications, ranging from the simple 89C2051 to the AN2131, which is designed to support USB applications. The programming tools include assemblers, Basic-52 and BASCOM-51, and several C compilers. Every reader can thus find the programming environment most suitable to his or her needs.
In the course of the book, the reader gradually develops increased competence in converting his or her ideas into microcontroller circuitry. All of the sample programs can be downloaded from the Elektor Electronics website or the author’s website. That has the added advantage that the latest versions are always available.