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.
Programmierung in Assembler und C am Beispiel der ATtiny-Familie
Dieses Buch bietet einen eingehenden Blick auf die 8-Bit-AVR-Architektur in ATtiny- und ATmega-Mikrocontrollern, hauptsächlich aus der Sicht der Software und der Programmierung. Erforschen Sie die AVR-Architektur unter Verwendung von C und Assembler in Microchip Studio (früher Atmel Studio) mit ATtiny-Mikrocontrollern.
Lernen Sie die Details der internen Funktionsweise von AVR-Mikrocontrollern kennen, einschließlich der internen Register und des Speicherplans von ATtiny-Bausteinen.
Programmieren Sie ATtiny-Mikrocontroller mit einem Atmel-ICE-Programmiergerät/Debugger oder verwenden Sie ein preiswertes Hobby-Programmiergerät oder sogar einen Arduino Uno als Programmiergerät.
Die meisten Code-Beispiele können mit dem Microchip Studio AVR-Simulator ausgeführt werden.
Lernen Sie, Programme für ATtiny-Mikrocontroller in Assembler zu schreiben.
Erfahren Sie, wie Assemblersprache in Maschinencodebefehle umgewandelt wird.
Finden Sie heraus, wie Programme, die in der Programmiersprache C geschrieben wurden, in Assemblersprache und schließlich in Maschinencode umgewandelt werden.
Verwenden Sie den Microchip Studio Debugger in Kombination mit einem Hardware-USB-Programmierer/Debugger, um Assembler- und C-Programme zu testen oder verwenden Sie den Microchip Studio AVR-Simulator.
ATtiny-Mikrocontroller im DIP-Gehäuse werden verwendet, um eine einfache Nutzung auf Breadboards zu ermöglichen.
Erfahren Sie mehr über Timing und Taktimpuls in AVR-Mikrocontrollern mit ATtiny-Bausteinen.
Werden Sie zu einem AVR-Experten mit fortgeschrittenen Debugging- und Programmierfähigkeiten.
Kick off with the MAX1000 and VHDPlus
Ready to Master FPGA Programming? In this guide, we’re diving into the world of Field Programmable Gate Arrays (FPGAs) – a configurable integrated circuit that can be programmed after manufacturing. Imagine bringing your ideas to life, from simple projects to complete microcontroller systems!
Meet the MAX1000: a compact and budget-friendly FPGA development board packed with features like memory, user LEDs, push-buttons, and flexible I/O ports. It’s the ideal starting point for anyone wanting to learn about FPGAs and Hardware Description Languages (HDLs).
In this book, you’ll get hands-on with the VHDPlus programming language – a simpler version of VHDL. We’ll work on practical projects using the MAX1000, helping you gain the skills and confidence to unleash your creativity.
Get ready for an exciting journey! You’ll explore a variety of projects that highlight the true power of FPGAs. Let’s turn your ideas into reality and embark on your FPGA adventure – your journey starts now!
Exciting Projects You’ll Find in This Book
Arduino-Driven BCD to 7-Segment Display Decoder
Use an Arduino Uno R4 to supply BCD data to the decoder, counting from 0 to 9 with a one-second delay
Multiplexed 4-Digit Event Counter
Create an event counter that displays the total count on a 4-digit display, incrementing with each button press
PWM Waveform with Fixed Duty Cycle
Generate a PWM waveform at 1 kHz with a fixed duty cycle of 50%
Ultrasonic Distance Measurement
Measure distances using an ultrasonic sensor, displaying the results on a 4-digit 7-segment LED
Electronic Lock
Build a simple electronic lock using combinational logic gates with push buttons and an LED output
Temperature Sensor
Monitor ambient temperature with a TMP36 sensor and display the readings on a 7-segment LED
Downloads
Software
A Project-Based Introduction to Microcontrollers and Drone Control
A Practical Introduction to Embedded Systems with the ESP32
This book is intended for readers who are new to embedded systems and looking for a structured, example-driven way to begin. If you’ve explored general-purpose electronics or Arduino-based resources but found them too broad or lacking in practical application, this guide offers a more focused alternative.
With a small, affordable set of components – such as LEDs, sensors, an OLED screen and a motion sensor – you’ll build and work with the same hardware setup throughout the book. This allows you to focus on learning and experimenting without constant reconfiguration.
Topics include:
Understanding and programming the ESP32 microcontroller
Using the Arduino IDE to write and deploy code
Exploring cyber-physical systems, culminating in basic drone control
No prior experience with Arduino or embedded development is required. Each section includes hands-on examples and mini-projects designed to reinforce core concepts and encourage deeper exploration. By the end, you’ll be equipped not only to reproduce the book’s examples, but also to extend them toward your own ideas and applications.
Whether your interest is in learning embedded programming, building interactive systems, or exploring educational drone control, this book provides a clear and practical path to getting started.
De mens is van nature uitgerust met sensoren voor geluid, licht, geur, smaak en gevoel. Zintuigen die met elektronica slechts ten dele gekopieerd kunnen worden. Met de Elektor sensorkit kunnen we wel aardig in de buurt komen.
Sensoren kunnen elektronica aansturen, maar ze kunnen ons ook van informatie voorzien. Daarom vormt niet alleen het meten van grootheden, maar ook het zichtbaar maken ervan via de Arduino seriële monitor een niet onbelangrijk deel van dit boek.
De microprocessor ATtiny85 die de Arduino-taal begrijpt, maakt het experimenteren met sensoren gemakkelijk en goedkoop. We zullen niet snel een Arduino-kaartje vast solderen in een permanente opstelling. Bij een achtpotige ATtiny zal dat geen schuldgevoel opleveren. Dat neemt niet weg dat alle sketches gewoon op elk Arduino-board draaien met mogelijk hier en daar een aanpassing van pennummers omdat die kunnen verschillen met reguliere Arduino-boards.
We zullen uitgebreid aandacht besteden aan het programmeren van de ATtiny. Veel schakelingen zijn bruikbaar in het natuurkundepracticum op school of voor bedrijfsmatige toepassingen. Maar de nadruk ligt toch wel op de (beginnende) elektronicahobbyist die zijn vrije tijd op een leuke maar vooral ook nuttige manier wil besteden. Want meer dan ooit tevoren heeft techniek de toekomst.
Verwirklichen Sie Ihre Projekt-Träume: Der Kilometerzähler fürs Hamsterrad, eine vollautomatische Steuerung Ihrer Ameisenfarm mit Webinterface, oder den Sandwich-O-Mat – eine Maschine, die Sandwich-Toasts nach Wahl belegt und überbackt.
Mit dem Arduino und der DIY- oder Maker-Bewegung wurde nicht nur der Einstieg in die Mikrocontroller-Programmierung kinderleicht, auch eine zweite Entwicklung fand statt: Findige Entwickler brachten kleine Boards – sogenannte Shields oder Module – auf den Markt, die den Einsatz von zusätzlicher Hardware stark vereinfachten. Die kleinen Baugruppen enthalten alle wichtigen elektronischen Teile, um mit ein paar Steckkabeln an den Mikrocontroller angeschlossen zu werden, so dass ein frickeliger und aufwändiger Aufbau auf dem Steckboard entfällt. Zudem ist es so möglich, auch winzig kleine Bauteile zu handhaben, die keine Anschlussbeinchen mehr haben (sogenannte SMDs).
Enthaltene Projekte
Arduino sucht Anschluss
BMP, Einführung in Bibliotheken und I²C
Mit dem Mehrzweck-Shield I/O-Grundlagen kennenlernen
I²C-LCD-Adapter und Punktmatrixanzeigen
LCD Keypad Shield
Level-Konverter
W5100: Internetanbindung
I/O-Erweiterungs-Shields
Relais und Solid-State-Relais
Das Multi-Funktions-Shield: eine universelle Bedieneinheit
SD-Kartenleser über SPI anbinden
Tasten und 7-Segmentanzeigen
16-Bit ADC
DAC MCP4725
16-fach PWM Servo-Treiber
MP3-Player
GPS-Datenlogger mit SD-Karte
Touch-Sensor
Joystick
SHT31: Temperatur und Luftfeuchtigkeit
UV A-Sensor VEML6070
VL53L0X Time-of-Flight
Ultraschallsensor-Entfernungsmesser
LED-Punktmatrixanzeige mit MAX7219
RTC DS3231
Port-Expander MCP23017
433 MHz Funk
MPU-650: Gyroskop
Beschleunigungssensor ADXL345
WS2812 RGB-LEDs
Spannungsversorgung
MQ-xx Gassensoren
CO2-Gassensor
ACS712 Stromstärkesensor
INA219 Stromstärkesensor
L298 Motortreiber
MFRC522 RFID
28BYJ-48 Stepper-Motor
TMC2209 Silent-Step-Stick
X9C10x Digitales Poti
Farb-TFT-Display mit ST7735
e-Paper Display
Bluetooth
Geigerzähler
SIM800L GSM-Modul
I²C-Multiplexer
Controller Area Network
Architecture, Programming and Applications
The MSP430 is a popular family of microcontrollers from Texas Instruments. In this book we will work with the smallest type, which is the powerful MSP430G2553. We will look at the capabilities of this microcontroller in detail, as it is well-suited for self-made projects because it is available in a P-DIP20 package.
We will take a closer look at the microcontroller and then build, step by step, some interesting applications, including a 'Hello World' blinking LED and a nice clock application, which can calculate the day of the week based on the date.
You also will learn how to create code for the MSP microcontroller in assembler. In addition to that, we will work with the MSP-Arduino IDE, which makes it quite easy to create fast applications without special in-depth knowledge of the microcontrollers.
All the code used in the book is available for download from the Elektor website.
Based on PIC microcontrollers and Arduino
Every mobile phone includes a GSM/GPRS modem which enables the phone to communicate with the external world. With the help of the GSM modems, users can establish audio conversations and send and receive SMS text messages. In addition, the GPRS modem enables users to connect to the internet and to send and receive large files such as pictures and video over the internet.
This book is aimed for the people who may want to learn how to use the GSM/GPRS modems in microcontroller based projects. Two types of popular microcontroller families are considered in the e-book: PIC microcontrollers, and the Arduino. The highly popular mid-performance PIC18F87J50 microcontroller is used in PIC based projects together with a GSM Click board. In addition, the SIM900 GSM/GPRS shield is used with the Arduino Uno projects. Both GSM and GPRS based projects are included in the e-book.
The book will enable you to control equipment remotely by sending SMS messages from your mobile phone to the microcontroller, send the ambient temperature readings from the microcontroller to a mobile phone as SMS messages, use the GPRS commands to access the internet from a microcontroller, send temperature readings to the cloud using UDP and TCP protocols and so on.
It is assumed that the reader has some basic working knowledge of the C language and the use of microcontrollers in simple projects. Although not necessary, knowledge of at least one member of the PIC microcontroller family and the Arduino Uno will be an advantage. It will also be useful if the user has some knowledge of basic electronics.
Build Your Own RISC-V ControllerFirst Steps with the NEORV32 RISC-V Softcore for Low-Cost FPGAs
How to Use Arduino’s Serial PlotterPlotting Graphs With Arduino Is Easy
CLUE from AdafruitA Smart Solution for IoT Projects
Buffer Board for the Raspberry Pi 400Protect the I/Os
Raspberry Pi RP2040 Boards Aplenty
A Handbook on DIY Electronic Security and EspionageSRAM Heated or Deep-Frozen
Component IdentificationTips & Tricks, Best Practices and Other Useful Information
DIY Touchless Light Switch
Starting out in ElectronicsMatching and Transforming
What’s New in Embedded Development?Rust and Keeping IoT Deployments Updated
Infographics
How the Industrial and Automotive Sectors Will Benefit from 5G
Moving Coil RelaysPeculiar Parts, the series
HomeLab ToursEverything Revolves Around the Tools...
Understanding the Neurons in Neural Networks (Part 4)Embedded Neurons
Magnetic Levitation the Very Easy WayThe Third and Most Compact Version
PLC Programming with the Raspberry Pi and the OpenPLC ProjectVisualization of PLC Programs with AdvancedHMI
From Life's ExperiencePack Up and Leave
Under Your RadarMicrocontrollers You Should Know About
Monitor and Debug Over the AirA Solution for Arduino, ESP32 and Co.
Portable Temperature- and Humidity-Measuring DeviceUsing Ready-Made Modules
Lithium Battery Pack RepairSave Money + More Power!
GUIs with PythonMeme-Generator
Three Questions to Build OnWhy, What, and Who?
HexadokuThe Original Elektorized Sudoku
40+ Projects using Arduino, Raspberry Pi and ESP32
This book is about developing projects using the sensor-modules with Arduino Uno, Raspberry Pi and ESP32 microcontroller development systems. More than 40 different sensors types are used in various projects in the book. The book explains in simple terms and with tested and fully working example projects, how to use the sensors in your project. The projects provided in the book include the following:
Changing LED brightness
RGB LEDs
Creating rainbow colours
Magic wand
Silent door alarm
Dark sensor with relay
Secret key
Magic light cup
Decoding commercial IR handsets
Controlling TV channels with IT sensors
Target shooting detector
Shock time duration measurement
Ultrasonic reverse parking
Toggle lights by clapping hands
Playing melody
Measuring magnetic field strength
Joystick musical instrument
Line tracking
Displaying temperature
Temperature ON/OFF control
Mobile phone-based Wi-Fi projects
Mobile phone-based Bluetooth projects
Sending data to the Cloud
The projects have been organized with increasing levels of difficulty. Readers are encouraged to tackle the projects in the order given. A specially prepared sensor kit is available from Elektor. With the help of this hardware, it should be easy and fun to build the projects in this book.
Home Information SystemUsing Windows on a Raspberry Pi
Starting with Node-REDAn open-source visual block-based programming tool
Elektor Summer GiveAway
Simple Function Generator: With Reverse-Order Signal Creation
GreatScott! Builds a LoRa Alarm System
Review: Joy-iT RD6006 Benchtop Power Supply Kit
Review: The GreatFET One Interface Board
Small Circuits Revival – XXLEscaped from the Suggestions Box
Poorest Man's External 2.4 GHz Wi-Fi Antenna
Simple On-Off Temperature Controller with Raspberry Pi HAT
How to Take (Successful) Photos of ElectronicsShowing your projects in their best light
Review: The I2CDriver Tool
Review: JOY-iT Joy-View Portable Touchscreen
LED Booster for MicrocontrollersWith just one component
Experimental Ultrasonic Clothes Washer
Review: The Joy-iT JDS2915 Signal GeneratorA 2-Channel Signal Generator and Frequency Counter
Traffic Lights Programmed in PIC Assembly Code
E-E-E-ternal Blinker
Experimental Hall Sensor
Tracing Shorts with the Milli-Ohm or ESR Meter
Review: Elektor SDR Hands-on Kit
Elektor Labs Pipeline
Elektor KickstarterWell, you get the idea.
Do You Really Need All That Stuff???This is where I spend many hours working on electronics projects
Homelab Tours: The Kinetic Clock MakerStargate jigsawed!
Hello, World! We’re Elektor, and We’re Social
M4 + 2x A7 + GPU: An Unbalanced Dream TeamLatest STM32MP1-SoCs can tackle demanding applications
Test Rig for 16F18877 & Similar Big PICs
Inter-Microcontroller Traffic with the SPI Bus and ATmega328p
Six Shades of LF/AF OSC (and the Miller’s Tale)
BBC micro:bit Absolute Minimalist Oscilloscope with LED Display
‘Knight Rider’ LED Chaser with the ESP32
LW/MW AM Signal Generator with ATtiny13
Absolute Minimalist Dip Meter
Photovoltaic Regulator UpdateNew function for measuring battery temperature
Wireless SignallingTransmitting switching signals over LPR
Ultrasonic Reverse Parking Aid with Arduino Uno
Distortion Pedal with Op Amp and Space Charge Tubes
Electronics Workspace Essentials
Hexadoku
Artificial Intelligence for Beginners (2)Neural networks with Linux and Python
The uArm Swift Pro is a high quality robotic arm that can be used in a wide range of applications. The uArm Swift Pro was developed and optimized for use in education, which means that many packages are already available for open source platforms such as ROS. The uArm Swift Pro has a position repeatability of 0.2 mm and is also equipped with a stepper motor and a 12-bit encoder. These are just a few reasons that make the uArm Swift Pro an excellent choice for educational use. Another great feature is the 3D printing kit that converts the uArm Swift Pro into a 3D printer in less than 1 minute. The uArm supports the following development platforms/systems: UFACTORY SDK Arduino Python ROS GRABCAD OpenMV Smartphone App The smartphone app for iOS is already available in the App Store and enables easy control and monitoring of the robotic arm. The app for Android is in development and will be available soon. An example of the Machine Vision The following GIF shows the uArm in combination with the OpenMV Machine Vision Cam M7 and the facial recognition applications that can be implemented in MicroPython. Specifications Degrees of Freedom: 4 Repeatability: Up to 0.2 mm Payload: 500 g Working Range: 50-320 mm Positioning Speed: 100 m/s Position Feedback: 12-bit Encoder Dimensions: 150 x 140 x 281mm Weight: 2.2 kg Included UFactory uArm Swift Pro Body Bluetooth & Vacuum Gripper Downloads Datasheet