Hands-on in more than 50 projects
STM32 Nucleo family of processors are manufactured by STMicroelectronics. These are low-cost ARM microcontroller development boards. This book is about developing projects using the popular STM32CubeIDE software with the Nucleo-L476RG development board. In the early Chapters of the book the architecture of the Nucleo family is briefly described.
The book covers many projects using most features of the Nucleo-L476RG development board where the full software listings for the STM32CubeIDE are given for each project together with extensive descriptions. The projects range from simple flashing LEDs to more complex projects using modules, devices, and libraries such as GPIO, ADC, DAC, I²C, SPI, LCD, DMA, analogue inputs, power management, X-CUBE-MEMS1 library, DEBUGGING, and others. In addition, several projects are given using the popular Nucleo Expansion Boards. These Expansion Boards plug on top of the Nucleo development boards and provide sensors, relays, accelerometers, gyroscopes, Wi-Fi, and many others. Using an expansion board together with the X-CUBE-MEMS1 library simplifies the task of project development considerably.
All the projects in the book have been tested and are working. The following sub-headings are given for each project: Project Title, Description, Aim, Block Diagram, Circuit Diagram, and Program Listing for the STM32CubeIDE.
In this book you will learn about
STM32 microcontroller architecture;
the Nucleo-L476RG development board in projects using the STM32CubeIDE integrated software development tool;
external and internal interrupts and DMA;
DEBUG, a program developed using the STM32CubeIDE;
the MCU in Sleep, Stop, and in Standby modes;
Nucleo Expansion Boards with the Nucleo development boards.
What you need
a PC with Internet connection and a USB port;
STM32CubeIDE software (available at STMicroelectronics website free of charge)
the project source files, available from the book’s webpage hosted by Elektor;
Nucleo-L476RG development board;
simple electronic devices such as LEDs, temperature sensor, I²C and SPI chips, and a few more;
Nucleo Expansion Boards (optional).
Mikrocontroller haben sich in den letzten Jahren in praktisch allen Bereichen der modernen Technik etabliert. In zunehmendem Maße dringen sie auch in die Gebiete der Künstlichen Intelligenz und der Robotertechnik vor. Das vorliegende Buch gibt eine umfassende Einführung in die Welt der Controller-Technik mit all ihren Facetten, von der einfachen Steuerung über die Sensor-Technik bis hin zur Datenübertragung in das Internet.
Als Basis dafür dient das von Elektor entwickelte AVR-Playground-Board. Das Board kann mit Controllern der ATmega-Familie bestückt werden und ist mit dem bekannten Arduino-System kompatibel, so dass auch die verschiedenen Arduino-Hardware-Erweiterungen verwendet werden können.
Für die Programmierung kommt die Sprache „C“ zum Einsatz. Auch hier wird im Buch auf das Arduino-System zurückgegriffen. Die frei verfügbare Arduino-Entwicklungsumgebung erlaubt den leichten Einstieg, ohne dass später Einschränkungen in Kauf genommen werden müssen. Die Hardware-nahe Programmierung steht dabei besonders im Fokus. Nach der Erläuterung von grundlegenden Anwendungen wird auf die anspruchsvolleren Themen wie Interrupts, Timer und Counter, Pulsweitenmodulation und Analog-Digital-Wandlung eingegangen.
Praktische Anwendungen können sowohl mit einem Arduino als auch mit dem AVR-Playground-Board durchgeführt werden. Da das AVR-Playground-Board bereits über eine Vielzahl von Peripherie-Einheiten verfügt, sind nur noch wenige externe Bauteile erforderlich. Das Board kann im Elektor-Shop hier bezogen werden.
This book is all about building your own DIY home control system. It presents two innovative ways to assemble such a system: By recycling old PC hardware – possibly extending the life of an old PC, or by using Raspberry Pi. In both cases, the main system outlined in this book will consist of a computer platform, a wireless mains outlet, a controller and a USB webcam – All linked together by Linux.
By using the Raspberry Pi in conjunction with Arduino (used as an advanced I/O system board), it is possible to construct a small, compact, embedded control system offering enhanced capacity for USB integration, webcams, thermal monitoring and communication with the outside world.
The experience required to undertake the projects within this book are minimal exposure to PC hardware and software, the ability to surf the internet, burn a CD-ROM and assemble a small PCB.
Cette offre groupée contient le populaire horloge de sable Elektor pour Raspberry Pi Pico et la nouvelle upgrade tête laser Elektor, offrant encore plus d'options d'affichage de l'heure. Non seulement vous pouvez « graver » l'heure actuelle dans le sable, mais vous pouvez désormais également l'écrire sur une feuille phosphorescente ou créer des dessins verts.
Contenu de l'offre groupée
Horloge de sable Elektor pour Raspberry Pi Pico (prix normal : 50 €)
Upgrade tête laser Elektor pour horloge de sable (prix normal : 35 €)
Horloge de sable Elektor pour Raspberry Pi Pico (Accroche-regard basé sur le Raspberry Pi)
Une horloge à sable standard ne fait qu'indiquer le temps qui passe. En revanche, cette horloge à sable contrôlée par le Raspberry Pi Pico indique l'heure exacte en 'gravant' les quatre chiffres de l'heure et des minutes dans la couche de sable. Après un temps réglable, le sable est aplati par deux moteurs vibrants et tout recommence.
Au cœur de l'horloge de sable se trouvent deux servomoteurs qui entraînent un stylo dans un mécanisme de pantographe. Un troisième servomoteur soulève le stylo de haut en bas. Le bac à sable est équipé de deux moteurs vibrants qui aplatissent le sable. La partie électronique de l'horloge des sables se compose d'un Raspberry Pi Pico et d'une carte RTC/driver avec une horloge en temps réel, ainsi que des circuits de commande pour les servomoteurs.
Un manuel de construction détaillé peut être téléchargé.
Caractéristiques
Dimensions: 135 x 110 x 80 mm
Temps de construction : environ. 1,5 à 2 heures
Inclus
3x Feuilles acryliques prédécoupées avec toutes les pièces mécaniques
3x Mini servomoteurs
2x moteurs de vibration
1x Raspberry Pi Pico
1x Carte RTC/pilote avec les pièces assemblées
Ecrous, boulons, entretoises et fils pour l'assemblage
Sable blanc à grains fins
Upgrade tête laser Elektor pour horloge de sablee
La nouvelle tête laser Elektor transforme l'horloge de sable dans une horloge qui écrit l'heure sur un film qui brille dans le noir au lieu de sable. En plus d’afficher l’heure, il peut également être utilisé pour créer des dessins éphémères. Le pointeur laser de 5 mW, avec une longueur d'onde de 405 nm, produit des dessins vert vif sur le film qui brille dans le noir. Pour de meilleurs résultats, utilisez le kit dans une pièce faiblement éclairée. Attention : ne regardez jamais directement dans le faisceau laser !
Le kit comprend tous les composants nécessaires, mais la soudure de trois fils est nécessaire.
Remarque : Ce kit est également compatible avec l'horloge de sable d'origine basée sur Arduino de 2017. Pour plus de détails, voir Elektor 1-2/2017 et Elektor 1-2/2018.
In this book the author presents all essential aspects of microcontroller programming, without overloading the reader with unnecessary or quasi-relevant bits of information. Having read the book, you should be able to understand as well as program, 8-bit microcontrollers.
The introduction to microcontroller programming is worked out using microcontrollers from the PIC series. Not exactly state-of-the-art with just 8 bits, the PIC micro has the advantage of being easy to comprehend. It is offered in a DIP enclosure, widely available and not overly complex. The entire datasheet of the PIC micro is shorter by decades than the description of the architecture outlining the processor section of an advanced microcontroller. Simplicity has its advantages here. Having mastered the fundamental operation of a microcontroller, you can easily enter into the realms of advanced softcores later.
Having placed assembly code as the executive programming language in the foreground in the first part of the book, the author reaches a deeper level with ‘C’ in the second part. Cheerfully alongside the official subject matter, the book presents tips & tricks, interesting measurement technology, practical aspects of microcontroller programming, as well as hands-on options for easier working, debugging and faultfinding.
59 Experiments with Arduino IDE and Python
The main aim of this book is to teach the Arduino IDE and MicroPython programming languages in ESP32 based projects, using the highly popular ESP32 DevKitC development board. Many simple, basic, and intermediate level projects are provided in the book using the Arduino IDE with ESP32 DevKitC. All projects have been tested and work. Block diagrams, circuit diagrams, and complete program listings of all projects are given with explanations. In addition, several projects are provided for programming the ESP32 DevKitC using MicroPython. The projects provided in this book are designed to teach the following features of the ESP32 processor:
GPIOs
Touch sensors
External interrupts
Timer interrupts
I²C and I²S
SPI
PWM
ADC
DAC
UART
Hall sensor
Temperature sensor
Infrared controller
Reading and writing to SD card
Reading and writing to flash memory
RTC timer
Chip ID
Security and encryption
Wi-Fi and network programming
Bluetooth BLE programming
Communication mobile devices
Low power design
ESP-IDF programming
The projects have been organized with increasing levels of difficulty. Readers are encouraged to tackle the projects in the order given. A specially prepared hardware kit (SKU 18305) is available from Elektor. With the help of this hardware, it should be easy and fun to build the projects in this book.
Program, build, and master over 60 projects with Python
The Raspberry Pi 5 is the latest single-board computer from the Raspberry Pi Foundation. It can be used in many applications, such as in audio and video media centers, as a desktop computer, in industrial controllers, robotics, and in many domestic and commercial applications. In addition to the well-established features found in other Raspberry Pi computers, the Raspberry Pi 5 offers Wi-Fi and Bluetooth (classic and BLE), which makes it a perfect match for IoT as well as in remote and Internet-based control and monitoring applications. It is now possible to develop many real-time projects such as audio digital signal processing, real-time digital filtering, real-time digital control and monitoring, and many other real-time operations using this tiny powerhouse.
The book starts with an introduction to the Raspberry Pi 5 computer and covers the important topics of accessing the computer locally and remotely. Use of the console language commands as well as accessing and using the desktop GUI are described with working examples. The remaining parts of the book cover many Raspberry Pi 5-based hardware projects using components and devices such as
LEDs and buzzers
LCDs
Ultrasonic sensors
Temperature and atmospheric pressure sensors
The Sense HAT
Camera modules
Example projects are given using Wi-Fi and Bluetooth modules to send and receive data from smartphones and PCs, and sending real-time temperature and atmospheric pressure data to the cloud.
All projects given in the book have been fully tested for correct operation. Only basic programming and electronics experience are required to follow the projects. Brief descriptions, block diagrams, detailed circuit diagrams, and full Python program listings are given for all projects described.
Vom Messwert zur stabilen Entscheidung
Wie wird aus einem einfachen Mikrocontroller ein intelligentes System, das Sensorwerte erfasst, verarbeitet und sinnvoll darauf reagiert? Dieses Buch zeigt es Ihnen Schritt für Schritt – verständlich, praxisnah und ohne unnötige Vorkenntnisse.
Sie beginnen mit den Grundlagen der digitalen und analogen Ein- und Ausgänge. Anschließend lernen Sie, wie Sensorwerte gelesen, geglättet und zuverlässig bewertet werden. Anschauliche Beispiele erklären, warum einzelne Messwerte oft täuschen können und wie Mittelwertbildung, Hysterese und einfache Entscheidungsregeln für stabile Ergebnisse sorgen. Nach und nach erweitern Sie Ihre Projekte um Displays, I²C-Kommunikation und mehrere vernetzte Mikrocontroller. So entstehen verteilte Systeme, in denen Raspberry Pi Pico und ATtiny-Controller Daten austauschen und gemeinsam Aufgaben übernehmen.
Im fortgeschrittenen Teil erhalten Sie einen leicht verständlichen Einstieg in Merkmalsbildung, Datenvorverarbeitung, hybride Entscheidungsmodelle und TinyML-nahe Anwendungen. Dabei verbinden Sie klassische Regelungstechnik mit modernen datenbasierten Methoden.
Alle Projekte werden von ausführlich kommentierten Programmen in C und MicroPython begleitet. Das Buch richtet sich an Einsteiger, Maker, Studierende und alle, die Embedded-Systeme von Grund auf verstehen möchten.
Am Ende können Sie eigene Systeme entwickeln, die nicht nur messen, sondern Informationen auswerten, zuverlässige Entscheidungen treffen und gezielt reagieren.
Get Cracking with the Arduino Nano V3, Nano Every, and Nano 33 IoT
The seven chapters in this book serve as the first step for novices and microcontroller enthusiasts wishing to make a head start in Arduino programming. The first chapter introduces the Arduino platform, ecosystem, and existing varieties of Arduino Nano boards. It also teaches how to install various tools needed to get started with Arduino Programming. The second chapter kicks off with electronic circuit building and programming around your Arduino. The third chapter explores various buses and analog inputs. In the fourth chapter, you get acquainted with the concept of pulse width modulation (PWM) and working with unipolar stepper motors.
In the fifth chapter, you are sure to learn about creating beautiful graphics and basic but useful animation with the aid of an external display. The sixth chapter introduces the readers to the concept of I/O devices such as sensors and the piezo buzzer, exploring their methods of interfacing and programming with the Arduino Nano. The last chapter explores another member of Arduino Nano family, Arduino Nano 33 IoT with its highly interesting capabilities. This chapter employs and deepens many concepts learned from previous chapters to create interesting applications for the vast world of the Internet of Things.
The entire book follows a step-by-step approach to explain concepts and the operation of things. Each concept is invariably followed by a to-the-point circuit diagram and code examples. Next come detailed explanations of the syntax and the logic used. By closely following the concepts, you will become comfortable with circuit building, Arduino programming, the workings of the code examples, and the circuit diagrams presented. The book also has plenty of references to external resources wherever needed.
An archive file (.zip) comprising the software examples and Fritzing-style circuit diagrams discussed in the book may be downloaded free of charge below.
In dit boek gebruiken we JAL (Just Another Language) om de PIC-microcontroller te programmeren in 60 oefeningen. JAL is makkelijk in gebruik en is een goede basis om programmeren in andere talen snel te leren. Na het lezen en toepassen van de voorbeelden in dit boek kan iedereen die zich hierin serieus heeft verdiept met behulp van JAL zelf de microcontroller aansturen. Je leert onder meer het programmeren van timers, analoog/digitaal omzetters, comparators, pulsbreedte regeling voor motoren en geluid, LED- en LCD-scherm aansturing, USB-connectie en communicatiemogelijkheden met computers of andere microcontrollers.
Ook weet je aan het eind van het boek wat je moet doen om nu nog onbekende mogelijkheden te gaan toepassen. Met deze kennis kan iedereen van beginner tot meer gevorderde zijn creativiteit vorm geven in projecten met microcontrollers.
Wil je verder met leren programmeren dan legt dit boek ook een zeer goede basis. Wie goed met JAL overweg kan en zich de gestructureerde wijze van denken heeft aangeleerd, zal de stap naar andere programmeertalen zoals Python, C++ enz. kunnen maken. Ook het programmeren van minicomputers zoals de Raspberry Pi en Arduino zijn mogelijkheden.
Om te starten is geen kennis van elektronica nodig. Wie niets weet van elektronica, krijgt overal in het boek de noodzakelijke kennis aangereikt. Alle belangrijke en benodigde informatie staat in de tekst.
Program and build RPi Pico-based ham station utilities, tools, and instruments
Although much classical HF and mobile equipment is still in use by large numbers of amateurs, the use of computers and digital techniques has now become very popular among amateur radio operators. Nowadays, anyone can purchase a €5 Raspberry Pi Pico microcontroller board and develop many amateur radio projects using the “Pico” and some external components. This book is aimed at amateur radio enthusiasts, Electronic Engineering students, and anyone interested in learning to use the Raspberry Pi Pico to shape their electronic projects. The book is suitable for beginners in electronics as well as for those with wide experience.
Step-by-step installation of the MicroPython programming environment is described. Some knowledge of the Python programming language is helpful to be able to comprehend and modify the projects given in the book. The book introduces the Raspberry Pi Pico and gives examples of many general-purpose, software-only projects that familiarize the reader with the Python programming language. In addition to the software-only projects tailored to the amateur radio operator, Chapter 6 in particular presents over 36 hardware-based projects for “hams”, including:
Station mains power on/off control
Radio station clock
GPS based station geographical coordinates
Radio station temperature and humidity
Various waveform generation methods using software and hardware (DDS)
Frequency counter
Voltmeter / ammeter / ohmmeter / capacitance meter
RF meter and RF attenuators
Morse code exercisers
RadioStation Click board
Raspberry Pi Pico based FM radio
Using Bluetooth and Wi-Fi with Raspberry Pi Pico
Radio station security with RFID
Audio amplifier module with rotary encoder volume control
Morse decoder
Using the FS1000A TX-RX modules to communicate with Arduino
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.