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.
Der Arduino Uno ist ein Open-Source-Mikrocontroller-Entwicklungssystem, das Hardware, eine integrierte Entwicklungsumgebung (IDE) und eine Vielzahl von Bibliotheken umfasst. Es wird von einer riesigen Gemeinschaft von Programmierern, Elektronikern, Enthusiasten und Akademikern unterstützt. Insbesondere die Bibliotheken erleichtern die Programmierarbeit und reduzieren die Entwicklungszeiten, da sie das Erstellen von Programmen erheblich erleichtern.
Der Raspberry Pi 4 kann in vielen Projekten wie Audio- und Videoanwendungen, aber auch in Industriesteuerungen, Robotik, Spielen usw. eingesetzt werden. Dazu bietet er auch WiFi- und Bluetooth-Fähigkeiten, wodurch er sich zudem hervorragend für internetbasierte Steuerungs- und Überwachungsanwendungen eignet.
In diesem Buch werden sowohl der Raspberry Pi 4 als auch der Arduino Uno in PID-basierten automatischen Steuerungsanwendungen eingesetzt. Nach einer grundlegenden Theorie der Regelsysteme werden funktionierende und getestete Projekte zur Steuerung realer Systeme mit PID-Reglern vorgestellt. Die Open-Loop-Eigenschaften, die Abstimmung der PID-Parameter und das Closed-Loop-Zeitverhalten der Systeme werden zusammen mit Blockdiagrammen, Schaltplänen und PID-Regelalgorithmen ausführlich diskutiert.
Vollständige Programme für den Raspberry Pi und den Arduino Uno runden die im Buch vorgestellten Projekte ab. Die Regelsysteme können problemlos auch auf andere Projekte angewendet werden und die für den Raspberry Pi 4 angegebenen Programme sollten auch mit anderen Modellen der Raspberry Pi-Familie reibungslos funktionieren.
Das Buch behandelt folgende Themen:
Steuer- und Regelsysteme
Analoge und digitale Sensoren
Übertragungsfunktionen und zeitkontinuierliche Systeme
Systemantwortfunktionen erster und zweiter Ordnung
Zeitdiskrete digitale Systeme
Zeitkontinuierliche PID-Regler
Zeitdiskrete PID-Regler
Zweipunkt-Temperaturregelung mit Raspberry Pi und Arduino Uno
PID-basierte Temperaturregelung mit Raspberry Pi und Arduino Uno
Motorsteuerung mit Raspberry Pi und Arduino Uno
Wasserstandsregelung mit Raspberry Pi und Arduino Uno
PID-basierte LED-Helligkeitsregelung mit Raspberry Pi und Arduino Uno
Learning Embedded Systems with STM32 Nucleo Boards
Programming compact electronic systems is now easier to get started with than ever before. Affordable development boards, powerful software tools, and readily available documentation make it possible to turn an idea into a working prototype in very little time. MicroPython plays an important role in this development by offering a readable, interactive way to control microcontrollers while still providing direct access to their hardware features.
This book explores embedded programming with MicroPython using an STM32-based Nucleo board. It shows how a microcontroller continuously interacts with its environment by reading inputs, processing information, and controlling outputs. Step by step, you will learn to flash LEDs, measure analog signals, work with sensors, control actuators, and exchange data with other devices. The built-in REPL makes it easy to test instructions immediately, inspect results, and learn through experimentation.
Although microcontroller boards differ in size, speed, memory, and peripherals, the fundamental concepts remain largely the same. Digital input and output, analog conversion, timers, PWM, interrupts, and serial communication are the essential building blocks of embedded applications.
By concentrating on these transferable principles, the book provides a foundation that remains useful when moving to other boards, processors, or development environments.
It is intended both for newcomers and for programmers who want to expand into embedded systems. MicroPython offers a practical route into this field, combining quick results with a clear understanding of how software and hardware work together.
Grundlagen und Selbstbau
Weshalb nicht damit beginnen, Mikrocontroller-Module selbst zu entwickeln, zumindest aber sich in Gedanken mit solchen Aufgaben zu beschäftigen? Wie Mikrocontroller-Module aufgebaut sind und wozu sie verwendet werden, soll in 'Mikrocontroller-Module – Grundlagen und Selbstbau' dargestellt werden.
Das vorliegende Buch beleuchtet Mikrocontroller-Module, die vor allem zum Experimentieren, zum Lernen und zum Einarbeiten in die Entwicklung und Programmierung von Embedded Systems gedacht sind.
Die Entwurfsgrundsätze, Lösungsvorschläge und Projekte, die in diesem Buch beschrieben werden, sind aus zwei Ideen hervorgegangen: Erstens können neue Entwicklungen zwischen den weit verbreiteten kostengünstigen Mikrocontroller-Modulen und der industriellen Computer- und Steuerungstechnik ihren Platz finden und zweitens ist es eine Herausforderung an sich, solche Module zu entwickeln und einzusetzen.
In den ersten sieben Kapiteln dieses Buches werden die technischen Grundlagen diskutiert und anhand eigener Entwicklungen veranschaulicht. Das achte Kapitel gibt einen Überblick über diesen Modulbaukasten.
Alle Fotos aus dem Buch können hier vierfarbig heruntergeladen werden.
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.
Clever Tricks with ATmega328 Pro Mini Boards
With a simple Pro Mini board and a few other components, projects that 20 or 30 years ago were unthinkable (or would have cost a small fortune) are realized easily and affordably in this book: From simple LED effects to a full battery charging and testing station that will put a rechargeable through its paces, there’s something for everyone.
All the projects are based on the ATmega328 microcontroller, which offers endless measuring, switching, and control options with its 20 input and output lines. For example, with a 7-segment display and a few resistors, you can build a voltmeter or an NTC-based thermometer. The Arduino platform offers the perfect development environment for programming this range of boards.
Besides these very practical projects, the book also provides the necessary knowledge for you to create projects based on your own ideas. How to measure, and what? Which transistor is suitable for switching a certain load? When is it better to use an IC? How do you switch mains voltage? Even LilyPad-based battery-operated projects are discussed in detail, as well as many different motors, from simple DC motors to stepper motors.
Sensors are another exciting topic: For example, a simple infrared receiver that can give disused remote controls a new lease on life controlling your home, and a tiny component that can actually measure the difference in air pressure between floor and table height!
Die Programmiersprache „Python“ hat in den letzten Jahren einen enormen Aufschwung erlebt. Nicht zuletzt haben verschiedene Einplatinensysteme wie der Raspberry Pi zu deren Bekanntheitsgrad beigetragen. Aber auch in anderen Gebieten, wie der Künstlichen Intelligenz oder dem Machine Learning, hat Python weite Verbreitung gefunden. Es ist daher naheliegend, Python bzw. die Variante „MicroPython“ auch für den Einsatz in SoCs (Systems on Chip) zu verwenden.
Leistungsfähige Controller wie der ESP32 der Firma Espressif Systems bieten eine hervorragende Performance sowie Wi-Fi- und Bluetooth-Funktionalität zu einem günstigen Preis. Mit diesen Eigenschaften wurde die Maker-Szene im Sturm erobert. Im Vergleich zu anderen Controllern weist der ESP32 einen deutlich größeren Flash und SRAM-Speicher, sowie eine wesentlich höhere CPU-Geschwindigkeit auf. Aufgrund dieser Leistungsmerkmale eignet sich der Chip nicht nur für klassische C-Anwendungen, sondern insbesondere auch für die Programmierung mit MicroPython.
Das vorliegende Buch führt in die Anwendung der modernen Ein-Chip-Systeme ein. Neben den technischen Hintergründen steht vor allem MicroPython selbst im Vordergrund. Nach der Einführung in die Sprache werden die erlernten Programmierkenntnisse umgehend in die Praxis umgesetzt. Die einzelnen Projekte sind sowohl für den Einsatz im Labor als auch für Alltagsanwendungen geeignet. Neben dem eigentlichen Lerneffekt steht also auch die Freude am Aufbau kompletter und nützlicher Geräte im Vordergrund. Durch die Verwendung von Laborsteckboards können Schaltungen aller Art mit geringem Aufwand realisiert werden, sodass das Austesten der selbstgebauten Geräte zum lehrreichen Vergnügen wird.
Durch die verschiedenen Anwendungen wie Wetterstationen, Digitalvoltmeter, Ultraschall-Entfernungsmesser, RFID-Kartenleser oder Funktionsgeneratoren sind die vorgestellten Projekte auch für Praktika oder Fach- und Studienarbeiten in den Naturwissenschaften bzw. im Natur- und Technikunterricht bestens geeignet.
23 projects to bring your microcontroller to life!
This book contains 23 special and exciting artificial intelligence machine-learning projects, for microcontroller and PC. Learn how to set up a neural network in a microcontroller, and how to make the network self-learning. Discover how you can breed robots, and how changing a fitness function results in a totally different behavior. Find out how a PC program exposes your weak spots in a game, and ruthlessly exploits them. Build a free-will robot, or have one clean your floor!
Example projects from the book:
A microcontroller that learns what your favourite color is.
A robot wandering about the house looking for someone to play with.
A bred robot program that is incapable of crossing a black line.
A microcontroller that learns how to play a game until You just can't win anymore.
A PC that programs a microcontroller all by itself.
Complete with free software that you can download containing:
All source code for the microcontroller.
All sources of compiled PC programs (MS Windows).
JAL programming language, with special editor and extension libraries.
Robot breed program.
Plus a support webpage with links, errata and FAQ.
Several artificial intelligence techniques are discussed and used in projects such as expert system, neural network, subsumption, emerging behavior, genetic algorithm, cellular automata and roulette brains. Every project has clear instructions and pictures so you can start immediately. Suggestions and literature links allow you to go way beyond the scope of the book. Even after you have built all the projects contained within, this book will remain a valuable reference guide to keep next to your PC.
A unique book for anyone with an interest in artificial intelligence and machine learning.
Mastering PCB design with real-world projects
This book builts on KiCad Like a Pro – Fundamentals and Projects and aims to help you practice your new KiCad skills by challenging you in a series of real-world projects. The projects are supported by a comprehensive set of recipes with detailed instructions on how to achieve a variety of simple and complex tasks. Design the PCBs for a solar power supply, an LED matrix array, an Arduino-powered datalogger, and a custom ESP32 board. Understand the finer details of the interactive router, how to manage KiCad project teams with Git, how to use an autorouter on 2 and 4-layer PCBs, and much more.
KiCad 8 is a modern, cross-platform application suite built around schematic and design editors. This stable and mature PCB tool is a perfect fit for electronic engineers and makers. With KiCad 8, you can create PCBs of any complexity and size without the constraints associated with the commercial packages.
Here are the most significant improvements and features in KiCad 8, both over and under the hood:
Modern user interface, completely redesigned from earlier versions
Improved and customizable electrical and design rule checkers
Theme editor allowing you to fully customize the look of KiCad on your screen
Ability to import projects from Eagle, CADSTART, and more
An improved and tightly integrated SPICE circuit simulator
Autorouting with the Freerouting plugin
Filters define which elements of a layout are selectable
Enhanced interactive router helps you draw single tracks and differential pairs with precision
New or enhanced tools to draw tracks, measure distances, tune track lengths, etc.
Enhanced tool for creating filled zones
A customizable coordinate system facilitates data exchange with other CAD applications
Realistic ray-tracing capable 3D viewer
Differential pair routing
Rich repositories of symbol, footprint, and 3D shape libraries
Python scripting API for programmatic customization and extensions
Improved footprint wizard for fast custom footprints
Build your own AI microcontroller applications from scratch
The MAX78000FTHR from Maxim Integrated is a small development board based on the MAX78000 MCU. The main usage of this board is in artificial intelligence applications (AI) which generally require large amounts of processing power and memory. It marries an Arm Cortex-M4 processor with a floating-point unit (FPU), convolutional neural network (CNN) accelerator, and RISC-V core into a single device. It is designed for ultra-low power consumption, making it ideal for many portable AI-based applications.
This book is project-based and aims to teach the basic features of the MAX78000FTHR. It demonstrates how it can be used in various classical and AI-based projects. Each project is described in detail and complete program listings are provided. Readers should be able to use the projects as they are, or modify them to suit their applications. This book covers the following features of the MAX78000FTHR microcontroller development board:
Onboard LEDs and buttons
External LEDs and buttons
Using analog-to-digital converters
I²C projects
SPI projects
UART projects
External interrupts and timer interrupts
Using the onboard microphone
Using the onboard camera
Convolutional Neural Network
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.
Program and build Arduino-based ham station utilities, tools, and instruments
In addition to a detailed introduction to the exciting world of the Arduino microcontroller and its many variants, this book introduces you to the shields, modules, and components you can connect to the Arduino. Many of these components are discussed in detail and used in the projects included in this book to help you understand how these components can be incorporated into your own Arduino projects. Emphasis has been placed on designing and creating a wide range of amateur radio-related projects that can easily be built in just a few days.
This book is written for ham radio operators and Arduino enthusiasts of all skill levels, and includes discussions about the tools, construction methods, and troubleshooting techniques used in creating amateur radio-related Arduino projects. The book teaches you how to create feature-rich Arduino-based projects, with the goal of helping you to advance beyond this book, and design and build your own ham radio Arduino projects.
In addition, this book describes in detail the design, construction, programming, and operation of the following projects:
CW Beacon and Foxhunt Keyer
Mini Weather Station
RF Probe with LED Bar Graph
DTMF Tone Encoder
DTMF Tone Decoder
Waveform Generator
Auto Power On/Off
Bluetooth CW Keyer
Station Power Monitor
AC Current Monitor
This book assumes a basic knowledge of electronics and circuit construction. Basic knowledge of how to program the Arduino using its IDE will also be beneficial.