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.
Practical Multitasking Fundamentals
Programming embedded systems is difficult because of resource constraints and limited debugging facilities. Why develop your own Real-Time Operating System (RTOS) as well as your application when the proven FreeRTOS software is freely available? Why not start with a validated foundation?
Every software developer knows that you must divide a difficult problem into smaller ones to conquer it. Using separate preemptive tasks and FreeRTOS communication mechanisms, a clean separation of functions is achieved within the entire application. This results in safe and maintainable designs.
Practicing engineers and students alike can use this book and the ESP32 Arduino environment to wade into FreeRTOS concepts at a comfortable pace. The well-organized text enables you to master each concept before starting the next chapter. Practical breadboard experiments and schematics are included to bring the lessons home. Experience is the best teacher.
Each chapter includes exercises to test your knowledge. The coverage of the FreeRTOS Application Programming Interface (API) is complete for the ESP32 Arduino environment. You can apply what you learn to other FreeRTOS environments, including Espressif’s ESP-IDF. The source code is available from GitHub. All of these resources put you in the driver’s seat when it is time to develop your next uber-cool ESP32 project.
What you will learn:
How preemptive scheduling works within FreeRTOS
The Arduino startup “loopTask”
Message queues
FreeRTOS timers and the IDLE task
The semaphore, mutex, and their differences
The mailbox and its application
Real-time task priorities and its effect
Interrupt interaction and use with FreeRTOS
Queue sets
Notifying tasks with events
Event groups
Critical sections
Task local storage
The gatekeeper task
Discover endless creativity with the Universal Maker Sensor Kit, designed for use with Raspberry Pi, Pico W, Arduino, and ESP32. This versatile kit offers compatibility across popular development platforms, including Arduino Uno R4 Minima/WiFi, Uno R3, Mega 2560, Raspberry Pi 5, 4, 3B+, 3B, Zero, Pico W, and ESP32.
Featuring over 35 sensors, actuators, and displays, it's perfect for projects ranging from environmental monitoring and smart home automation to robotics and interactive gaming. Step-by-step tutorials in C/C++, Python, and MicroPython guide beginners and experienced makers alike through 169 exciting projects.
Features
Wide Compatibility: Fully supports Arduino (Uno R3, Uno R4 Minima/WiFi, Mega 2560), Raspberry Pi (5, 4, 3B+, 3B, Zero, Pico W), and ESP32, enabling extensive flexibility across numerous development platforms. Includes instructions for building 169 projects.
Comprehensive Components: Features more than 35 sensors, actuators, and display modules suitable for diverse projects such as environmental monitoring, smart home automation, robotics, and interactive game controllers.
Detailed Tutorials: Provides clear, step-by-step tutorials covering Arduino, Raspberry Pi, Pico W, ESP32, and each included component. Tutorials are available in C/C++, Python, and MicroPython, catering effectively to both beginners and experienced makers.
Suitable for All Skill Levels: Offers structured projects designed to guide users seamlessly from beginner to advanced proficiency in electronics and programming, enhancing creativity and technical expertise.
Included
Breadboard
Button Module
Capacitive Soil Moisture Module
Flame Sensor Module
Gas/Smoke Sensor Module (MQ2)
Gyroscope & Accelerometer Module (MPU6050)
Hall Sensor Module
Infrared Speed Sensor Module
IR Obstacle Avoidance Sensor Module
Joystick Module
PCF8591 ADC DAC Converter Module
Photoresistor Module
PIR Motion Module (HC-SR501)
Potentiometer Module
Pulse Oximeter and Heart Rate Sensor Module (MAX30102)
Raindrop Detection Module
Real Time Clock Module (DS1302)
Rotary Encoder Module
Temperature Sensor Module (DS18B20)
Temperature and Humidity Sensor Module (DHT11)
Temperature, Humidity & Pressure Sensor (BMP280)
Time of Flight Micro-LIDAR Distance Sensor (VL53L0X)
Touch Sensor Module
Ultrasonic Sensor Module (HC-SR04)
Vibration Sensor Module (SW-420)
Water Level Sensor Module
I²C LCD 1602
OLED Display Module (SSD1306)
RGB LED Module
Traffic Light Module
5 V Relay Module
Centrifugal Pump
L9110 Motor Driver Module
Passive Buzzer Module
Servo Motor (SG90)
TT Motor
ESP8266 Module
JDY-31 Bluetooth Module
Power Supply Module
Documentation
Online Tutorial
Practical Multitasking Fundamentals
Programming embedded systems is difficult because of resource constraints and limited debugging facilities. Why develop your own Real-Time Operating System (RTOS) as well as your application when the proven FreeRTOS software is freely available? Why not start with a validated foundation?
Every software developer knows that you must divide a difficult problem into smaller ones to conquer it. Using separate preemptive tasks and FreeRTOS communication mechanisms, a clean separation of functions is achieved within the entire application. This results in safe and maintainable designs.
Practicing engineers and students alike can use this book and the ESP32 Arduino environment to wade into FreeRTOS concepts at a comfortable pace. The well-organized text enables you to master each concept before starting the next chapter. Practical breadboard experiments and schematics are included to bring the lessons home. Experience is the best teacher.
Each chapter includes exercises to test your knowledge. The coverage of the FreeRTOS Application Programming Interface (API) is complete for the ESP32 Arduino environment. You can apply what you learn to other FreeRTOS environments, including Espressif’s ESP-IDF. The source code is available from GitHub. All of these resources put you in the driver’s seat when it is time to develop your next uber-cool ESP32 project.
What you will learn:
How preemptive scheduling works within FreeRTOS
The Arduino startup “loopTask”
Message queues
FreeRTOS timers and the IDLE task
The semaphore, mutex, and their differences
The mailbox and its application
Real-time task priorities and its effect
Interrupt interaction and use with FreeRTOS
Queue sets
Notifying tasks with events
Event groups
Critical sections
Task local storage
The gatekeeper task
Develop your own custom home automation devices
Espressif's ESP8266 and ESP32 microcontrollers have brought DIY home automation to the masses. However, not everyone is fluent in programming these microcontrollers with Espressif's C/C++ SDK, the Arduino core, or MicroPython. This is where ESPHome comes into its own: with this project, you don’t program your microcontroller but configure it.
This book demonstrates how to create your own home automation devices with ESPHome on an ESP32 microcontroller board. You’ll learn how to combine all kinds of electronic components and automate complex behaviours. Your devices can work completely autonomously, and connect over Wi-Fi to your home automation gateways such as Home Assistant or MQTT broker.
By the end of this book, you will be able to create your own custom home automation devices the way you want. Thanks to ESPHome and the ESP32, this is within everyone’s grasp.
Set up an ESPHome development environment and create maintainable configurations
Use buttons and LEDs
Sound a buzzer and play melodies
Read measurements from various types of sensors
Communicate over a short distance with NFC, infrared light, and Bluetooth Low Energy
Show information on various types of displays
Downloads
Software
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.
Elektor GREEN en GOLD leden kunnen deze uitgave hier downloaden.
Nog geen lid? Klik hier om een lidmaatschap af te sluiten.
De ESP-BLASTEen mini ESP32 raketdrone die ruim 100 km/u vliegt
STM32Cube Innovation-ChallengeDoe mee met je beste STM32C5-ontwerp
Wireless workshop (1)Radiomodules uitgelegd: 433 MHz CC1101 sub-GHz-transceiver
AM-zenderMet sinus- en blokgolfgenerator op Raspberry Pi Pico
AudiotronicaDe vervormingsfactor
CoffeeCallerOmroepsysteem met mesh-netwerk en Zephyr gebaseerde software
Elektor wordt 65Projecten uit voorgaande september- en oktobermaanden
Bluetooth Channel Sounding voor het volgen van objectenAfstandsmeting met centimeterprecisie voor het IoT van de volgende generatie
2026: Een AI-odysseeKwantumcomputing is geen volgende GPU
Om de cloud te beveiligen, is edge-beveiliging nodig
Eerste ervaringen met de HackRF ProPraktische tests met de nieuwe SDR-hardware
Modemupgrade van GPRS/2G naar LTE/4GEen draadloos alarmsysteem als voorbeeld
Lusvormige antenne met RF-bouwstenenDeel 1: Een zelfbouw kortegolfantenne met instelbare richtingsgevoeligheid
Internetradio naar AM-converterMet een ESP32-S3 als zender
Err-lectronics
Mioty, een overzichtFraunhofer's aanpak van LPWAN
WerkbankwijsheidPraktische tips van experts
Walter, de compacte IoT-moduleDeel 2: Toegang tot weer- en datadiensten
With the availability of free and open source C/C++ compilers today, you might wonder why someone would be interested in assembler language. What is so compelling about the RISC-V Instruction Set Architecture (ISA)? How does RISC-V differ from existing architectures? And most importantly, how do we gain experience with the RISC-V without a major investment? Is there affordable hardware available?
The availability of the Espressif ESP32-C3 chip provides a way to get hands-on experience with RISC-V. The open sourced QEMU emulator adds a 64-bit experience in RISC-V under Linux. These are just two ways for the student and enthusiast alike to explore RISC-V in this book.
The projects in this book are boiled down to the barest essentials to keep the assembly language concepts clear and simple. In this manner you will have “aha!” moments rather than puzzling about something difficult. The focus in this book is about learning how to write RISC-V assembly language code without getting bogged down. As you work your way through this tutorial, you’ll build up small demonstration programs to be run and tested. Often the result is some simple printed messages to prove a concept. Once you’ve mastered these basic concepts, you will be well equipped to apply assembly language in larger projects.
Le téléchargement intégral de ce numéro est disponible pour nos membres GOLD et GREEN sur le site Elektor Magazine !
Pas encore membre ? Cliquez ici.
accélérer l'innovation IdO
cadre photo couleur à encre électronique Wi-Fi
tutoriel ESP-Launchpadflashage des micrologiciels en quelques minutes
ESP32 et ChatGPTvers un système d'autoprogrammation...
Talkie-walkie avec ESP-NOWPas tout à fait Wi-Fi, pas tout à fait Bluetooth non plus...
de l'idée au circuit avec l'ESP32-S3construire un prototype avec les puces Espressif
innovation des puces AIoTentretien avec Teo Swee-Ann, PDG d'Espressif
simuler l'ESP32 avec Wokwile jumeau numérique de votre projet
essai de l'ESP32-S3-BOX-3une plateforme de développement AIoT complète
bien s?équiper pour mieux travaillerconseils et astuces des ingénieurs d?Espressif
l'histoire de l'ESP RainMakerComment nous avons construit « votre » nuage IdO
assemblage du kit du Cloc 2.0 d?Elektorun produit Elektor déballé par Espressif
le lancement de l'ESP32-P4la nouvelle ère des microcontrôleurs
Rust et les systèmes embarquésdeux outils puissants pour le développement
qui sont les développeurs de solutions embarquées Rust ?comment Espressif développe le langage Rust embarqué pour l'ESP32
Série de SoC Espressif
une API avec les Solutions d'Espressifavec les capacités et les fonctionnalités du protocole ISOBUS
la carte VGA ESP32-S3le voyage passionnant de Bitluni dans la conception de produits
empreinte acoustique sur ESP32identification de chansons avec le projet open source Olaf
arbre de Noël circulaire 2023célébration high-tech des fêtes de fin d'année
une vie plus confortable et plus facileun projet amateur basé sur le module ESP8266 Espressif
comment construire des applications IoT Sans Expertise Logicielle Avec la plateforme IoTavec la plateforme IoT Blynk et le matériel Espressif
concevoir une Interface Graphique sur ESP32
développement IoT rapide et facile avec M5Stack
prototypage d'un compteur d'énergie basé sur l'ESP32
un distributeur à valeur ajoutée de solutions IdO et plus encore
En détail : entretien avec Arduino sur le Nano ESP32Alessandro Ranellucci et Martino Facchin abordent la collaboration avec Espressif
innovation des puces IdOles idées d'Espressif
simplifier le développement des microcontrôleurs avec ESP-IDF Privilege Separation
un serveur de reconnaissance de la parole open-source......et l'ESP BOX
l??il qui réfléchitreconnaissance faciale et plus encore, utilisant l?ESP32-S3-EYE
commutateur alimenté par pile bouton, basé sur un ESP32-C2évaluation de la conception et des performances
la maison intelligente évolue avec Matterlibérer le potentiel de l'IdO pour les maisons intelligentes
l'essor de la maison intelligente connectée
electronica fast forward Start- & Scale-Up Awardsde voorbereidingen gaan steeds sneller!
Bluetooth Low Energy met ESP32-C3 en ESP32het hoeft niet altijd WiFi te zijn!
Bluetooth LE-snifferhack een makerdiary nRF52840 MDK USB-dongle
Magische RGB LED-kubushardware ontwerpen rond een RP2040 Auto-aan/uit voor soldeerpasta-compressor
Elektor video-productieslivestreams, webinars en cursussen voor engineers en pro-makers
Elektrificeer je fietsmet een e-bike ombouwset
Alle begin......vermenigvuldigt spanningen
Uit het leven gegrepennevenactiviteiten
Teensy 4.0 – waarom is dat board zo snel?snelheid is geen hekserij!
Simulatie van een audio-eindversterker met TINAeerst uitproberen, dan bouwen
Ontwikkel en beheer je eigen LoRaWAN IoT-nodesvoorbeeldhoofdstuk: Dragino LHT65, LDS01 en LDS02 LoRaWAN modules
Project 2.0correcties, updates en brieven van lezers
5G – alleen voor mijvolledige controle over 5G-implementaties met een eigen cellulair netwerk Elektor Infographics
Tips voor het ontwikkelen van een WiFi-interfacetoepassingen uitrusten met WiFi-interfaces Rijntoren-klok Mk 2
Audio-spectrumanalyzer met dekatronsnieuw leven voor vintage-buisjes
Data naar Telegram sturenmet een ESP32 en een paar onderdelen
Een Fliege-notchfilter voor audiometingenmeet beter met een notchfilter
Veranderende industriële communicatieSingle Pair Ethernet – meer dan zo maar een nieuwe connector
Elektronische mannetjes-PUT-terzo werkt de programmeerbare unijunctie-transistor
Rond touchscreen voor Raspberry PiHyperPixel 2.1 Round van Pimoroni
Remote sensing met detectie van verbindingsverliesmet nRF24L01+ modules
Digitale FM-ontvanger met Arduino en TEA5767stem af met een Arduino Nano OLED-interface ombouwen van SPI naar I²C
Oost West Lab Besteen hobby gaat niet met pensioen...
Tien jaar ethiek in elektronicaTessel Renzenbrink over de digitale samenleving en meer
HexadokuThe Original Elektorized Sudok
Arduino-compatible, ESP32-controlled, 2-wheeled Balancing Robot
The Elektor Mini-Wheelie is an experimental autonomous self-balancing robot platform. Based on an ESP32-S3 microcontroller, the self-balancing robot is fully programmable using the Arduino environment and open-source libraries. Its wireless capabilities allow it to be controlled remotely over Wi-Fi, Bluetooth or ESP-NOW or to communicate with a user or even another robot.
An ultrasonic transducer is available for detecting obstacles. Its color display can be used for displaying cute facial expressions or, for the more down-to-earth users, cryptic debug messages.
The robot comes as a neat kit of parts that you must assemble yourself. Everything is included, even a screwdriver.
Note: The Mini-Wheelie is an educational development platform intended for learning, experimentation, and robotics development. It is not classified as a toy for children, and its features, documentation, and intended audience reflect this purpose. The product is aimed at students, educators, and developers who wish to explore robotics, programming, and hardware integration in an educational setting.
Specifications
ESP32-S3 microcontroller with Wi-Fi and Bluetooth
MPU6050 6-axis Inertial Measurement Unit (IMU)
Two independently controlled 12 V electric motors with tachometer
Ultrasonic transducer
2.9" TFT color display (320 x 240)
MicroSD card slot
Battery power monitor
3S rechargeable Li-Po battery (11.1 V/2200 mAh)
Battery charger included
Arduino-based open-source software
Dimensions (W x L x H): 23 x 8 x 13 cm
Included
1x ESP32-S3 Mainboard + MPU6050 module
1x LCD board (2.9 inch)
1x Ultrasonic sensor
1x Battery pack (2200 mAh)
1x Battery charger
1x Motor tyre kit
1x Case board
1x Acrylic board
1x Screwdriver
1x Protective strip
1x Flex cable B (8 cm)
1x Flex cable A (12 cm)
1x Flex cable C
4x Copper column A (25 mm)
4x Copper column B (55 mm)
4x Copper column C (5 mm)
2x Plastic nylon column
8x Screws A (10 mm)
24x Screws B (M3x5)
8x Nuts
24x Metal washers
2x Zip tie
1x MicroSD card (32 GB)
Downloads
Documentation
Practical Applications and Project with Arduino, ESP32, and RP2040
Immerse yourself in the fascinating world of control engineering with Arduino and ESP32! This book offers you a practical introduction to classic and modern control methods, including PID controllers, fuzzy logic, and sliding-mode controllers.
In the first part, you will learn the basics of the popular Arduino controllers, such as the Arduino Uno and the ESP32, as well as the integration of sensors for temperature and pH measurement (NTC, PT100, PT1000, and pH sensor).
You will learn how to use these sensors in various projects and how to visualize data on a Nextion TFT display. The course continues with an introduction to actuators such as MOSFET switches, H-bridges, and solid-state relays, which are used to control motors and actuators. You will learn to analyze and model controlled systems, including PT1 and PT2 control.
The book focuses on the implementation of fuzzy and PID controllers for controlling temperature and DC motors. Both the Arduino Uno and the ESP32 are used. The sliding-mode controller is also introduced.
In the second-to-last chapter, you will explore the basics of neural networks and learn how machine learning can be used on an Arduino. In the last chapter, there is a practical example of a fuzzy controller for feeding electricity into the household grid.
This book is the perfect choice for engineers, students, and electronics engineers who want to expand their projects with innovative control techniques.