Easy and Affordable Digital Signal ProcessingThe aim of this book is to teach the basic principles of Digital Signal Processing (DSP) and to introduce it from a practical point of view using the bare minimum of mathematics. Only the basic level of discrete-time systems theory is given, sufficient to implement DSP applications in real time. The practical implementations are described in real time using the highly popular ESP32 DevKitC microcontroller development board. With the low cost and extremely popular ESP32 microcontroller, you should be able to design elementary DSP projects with sampling frequencies within the audio range. All programming is done using the popular Arduino IDE in conjunction with the C language compiler.After laying a solid foundation of DSP theory and pertinent discussions on the main DSP software tools on the market, the book presents the following audio-based sound and DSP projects:
Using an I²S-based digital microphone to capture audio sound
Using an I²S-based class-D audio amplifier and speaker
Playing MP3 music stored on an SD card through an I²S-based amplifier and speaker
Playing MP3 music files stored in ESP32 flash memory through an I²S-based amplifier and speaker
Mono and stereo Internet radio with I²S-based amplifiers and speakers
Text-to-speech output with an I²S-based amplifier and speaker
Using the volume control in I²S-based amplifier and speaker systems
A speaking event counter with an I²S-based amplifier and speaker
An adjustable sinewave generator with I²S-based amplifier and speaker
Using the Pmod I²S2 24-bit fast ADC/DAC module
Digital low-pass and band-pass real-time FIR filter design with external and internal A/D and D/A conversion
Digital low-pass and band-pass real-time IIR filter design with external and internal A/D and D/A conversion
Fast Fourier Transforms (FFT)
PIC und AVR verstehen
In diesem Buch werden wir uns ausschließlich mit 8-Bit-Mikrocontrollern beschäftigen, und zwar mit Mikrocontrollern der 8-Bit-PIC- und der 8-Bit-AVR-Mikrocontroller-Linien. Bei der PIC-Familie handelt es sich dabei um PIC10, PIC12, PIC16 und PIC18; bei der AVR-Familie um ATtiny, ATmega und ATxmega. Die vorgestellten 8-Bit-Chips sind für sehr viele Anwendungen vollkommen ausreichend und preislich auch attraktiv.
Durch die Lektüre des Buches erhalten Sie ein fundiertes Wissen über die genannten 8-Bit-Mikrocontroller, über ihre Architektur, ihre Pinbelegungen und über ihre Programmierung.
Weil wir uns in diesem Buch mit den Grundlagen der Architektur der PICs und AVRs vertraut machen möchten, werden wir auch für alle PIC- und AVR-Anwendungen Assembler einsetzen, denn die Assembler-Sprache erlaubt es, die Technik im Detail kennenzulernen. Wenn man wirklich wissen möchte, was sich im Mikrocontroller abspielt, greift man zu Assembler. Damit hat man die beste Gelegenheit, sehr nah an den Kern zu kommen. Und wenn man schon einen Mikrocontroller-Typ kennengelernt und verstanden hat, ist es bei dem nächsten deutlich einfacher, auch wenn er von einem anderen Hersteller kommt. Bei anderen Programmiersprachen bleibt die Technik immer ziemlich tief versteckt.
Die Assembler-Beispiele sind so einfach gestaltet, dass sie jeder mit den im Buch aufgezeigten Programmiertechniken erstellen kann. Weil es sich um einfache Beispiele handelt, werden wir sie alle auf einer universellen Lochrasterplatine realisieren. Manche sind auch auf einem Experimentier-Breadboard umsetzbar.
The Raspberry Pi is a $35 credit-card sized computer with many applications, such as in desktop computing, audio and video playback, and as a controller in many industrial, commercial and domestic applications.
This book is about the Raspberry Pi computer and its use in control applications. The book explains in simple terms, with examples, how to configure the RPi, how to install and use the Linux operating system, how to write programs using the Python programming language and how to develop hardware based projects.
The book starts with an introduction to the Raspberry Pi computer and covers the topics of purchasing all the necessary equipment and installing/using the Linux operating system in command mode. Use of the user-friendly graphical desktop operating environment is explained using example applications. The RPi network interface is explained in simple steps and demonstrates how the computer can be accessed remotely from a desktop or a laptop computer.
The remaining parts of the book cover the Python programming language, hardware development tools, hardware interface details, and RPi based hardware projects. All the 23 projects given in the book have been tested and are working.
The following headings are given for each project:
Project title
Project description
Project block diagram
Project circuit diagram
Project program description using the Program Description Language (PDL)
Complete program listing
Description of the program
The book is ideal for self-study, and is intended for electronic/electrical engineering students, practising engineers, research students, and hobbyists.
High-Performance LoRa Communication Device
The Elecrow ThinkNode M5 is a compact, portable LoRa communication device designed for off-grid messaging, location sharing, and outdoor use. Powered by an ESP32-S3 processor and an SX1262 LoRa chip, it comes pre-installed with Meshtastic firmware and can be configured conveniently via Bluetooth using the official Meshtastic app.
The integrated multi-GNSS module supports GPS, GLONASS, BeiDou, and QZSS for reliable positioning and location sharing. Messages and device information are displayed on the energy-efficient 1.54-inch e-paper screen, while the built-in 1,200 mAh rechargeable battery enables extended mobile operation.
With its integrated LoRa antenna, compact housing, RTC, and support for both Meshtastic and MeshCore firmware, the ThinkNode M5 is a practical communication solution for hiking, camping, remote locations, and emergency situations where conventional mobile networks are unavailable.
Features
LoRa communication
Multi-GNSS positioning
1,200 mAh rechargeable battery
1.54-inch e-paper display
Built-in RTC
Compatible with MeshCore
Compatible with Meshtastic
Specifications
Main Processor (ESP32-S3)
CPU/SoC
Xtensa 32-bit LX7 dual-core processor, clocked at up to 240 MHz
System Memory
512 KB SRAM, 8 MB PSRAM
Storage
4 MB Flash, 384 KB ROM
Firmware
Meshtastic firmware is fully compatible, and the signal is transmitted in LoRa mode
EPD (Electronic Paper Display)
Display Size
1.54 inch EPD (monochrome Ink screen)
Display Materials
E-lnk (Electronic Ink)
Resolution
200 x 200
Driver Chip
SSD1681 (via SPI or I²C interface)
Global Fresh Time
2s
Wireless Communication
Bluetooth
Bluetooth Low Energy and Bluetooth 5.0 (phone configuration)
LoRa
SX1262 LoRa Module, EU 868 MHz(external antenna)
Hardware
Interfaces
USB-C, RP-SMA
Function
GPS Location (GPS, GLONASS, BeiDou, QZSS), EPD Display, RTC, USB 2.0, PMU power management (built-in 1200 mAh lithium battery), buzzer, etc.
Button
Knob Switch, Function Button, Page Turn Button, GPS Switch, Reset Button
LED Indicator
Power supply, GPS/LoRa indication
Others
Power Input
5 V/1 A, supports USB or lithium battery power supply
Power consumption
The maximum working current is about 340 mA (CPU + LoRa module), and the low power consumption is about 34 uA
Operating Temperature
-10~50°C
Storage Temperature
-20~60°C
Relative humidity
10-95%, @ 40°C (non-condensing)
Enclosure
ABS Plastic
Dimensions
82 x 51.6 x 26.3 mm
Weight
81 g
Included
1x Elecrow ThinkNode M5
1x LoRa antenna
1x USB-C cable
1x Manual
Downloads
Manual
AVR-microcontrollers zijn populair, eenvoudig in het gebruik en bijzonder veelzijdig. In het elektronicatijdschrift 'Elektor' is dan ook al een groot aantal speciale toepassingen en printen met een ATmega- of een ATtiny-controller gepubliceerd. Meestal ging het daarbij om afgeronde projecten. In dit boek staat echter de programmering van deze controllers centraal. BASCOM is hiervoor een ideaal gereedschap. Na een minimale voorbereiding kunt u al beginnen uw eigen ideeën te realiseren.
BASCOM en AVR-controllers, een onverslaanbaar team! Wat u ook wilt ontwikkelen, in de meeste gevallen heeft een ATmega alles aan boord wat u nodig hebt. Poorten, timers, A/D-omzetters, PWM-uitgangen en seriële interfaces, RAM, flash-ROM en EEPROM: alles is ruimschoots voorhanden. En met BASCOM is het gebruik daarvan kinderspel. Ook ingewikkelder periferie als LCD, RC5 en I²C kan met slechts een handjevol instructies worden gebruikt. Er is een brede hardware-basis beschikbaar. Of u nu de STK500 van Atmel gebruikt, de ATM18 of een eigen print, u kunt de voorbeelden uit dit boek meteen in praktijk brengen. Voor heel kleine taken worden controllers uit de ATtiny-reeks gebruikt. Op die manier kunt u uw eigen projecten snel en met weinig kosten realiseren.
Downloads
Software
Programming the Finite State Machine with 8-Bit PICs in Assembly and C
Andrew Pratt provides a detailed introduction to programming PIC microcontrollers, as well as a thorough overview of the Finite State Machine (FSM) approach to programming. Most of the book uses assembly programming, but do not be deterred. The FSM gives a structure to a program, making it easy to plan, write, and modify. The last two chapters introduce programming in C, so you can make a direct comparison between the two techniques. The book references the relevant parts of the Microchip datasheet as familiarity with it is the best way to discover detailed information.
This book is aimed at Microsoft Windows and Linux users. To keep your costs to a minimum and to simplify the toolchain, specific applications are provided as a free download to enable you to use an FTDI serial lead as the programmer. The assembler used is the open-source "gpasm". All programming can be done in a text editor. There are detailed instructions on how to perform the necessary installations on Windows, Linux Debian, and derivatives such as Ubuntu and Fedora. For programming in C, Microchip's XC8 compiler is used from the command line. In addition to the programming applications, two serial read and serial write applications can be used for communicating with the PICs from a computer.
A voltmeter project including practical instructions on building a circuit board from scratch is included. All theory is covered beforehand, including how to do integer arithmetic in assembly.
Two PICs are covered: the PIC12F1822 and the PIC16F1823. Both can run at 32 MHz with an internal oscillator. You do not need to buy a factory-made development board and programmer. With relatively inexpensive parts including a serial lead, microcontroller, a few resistors, and LEDs, you can get started exploring embedded programming.
Links
Updated Programmer
For Raspberry Pi, ESP32 and nRF52 with Python, Arduino and Zephyr
Bluetooth Low Energy (BLE) radio chips are ubiquitous from Raspberry Pi to light bulbs. BLE is an elaborate technology with a comprehensive specification, but the basics are quite accessible.
A progressive and systematic approach will lead you far in mastering this wireless communication technique, which is essential for working in low power scenarios.
In this book, you’ll learn how to:
Discover BLE devices in the neighborhood by listening to their advertisements.
Create your own BLE devices advertising data.
Connect to BLE devices such as heart rate monitors and proximity reporters.
Create secure connections to BLE devices with encryption and authentication.
Understand BLE service and profile specifications and implement them.
Reverse engineer a BLE device with a proprietary implementation and control it with your own software.
Make your BLE devices use as little power as possible.
This book shows you the ropes of BLE programming with Python and the Bleak library on a Raspberry Pi or PC, with C++ and NimBLE-Arduino on Espressif’s ESP32 development boards, and with C on one of the development boards supported by the Zephyr real-time operating system, such as Nordic Semiconductor's nRF52 boards.
Starting with a very little amount of theory, you’ll develop code right from the beginning. After you’ve completed this book, you’ll know enough to create your own BLE applications.
From basics to flows for sensors, automation, motors, MQTT, and cloud services
This book is a learning guide and a reference. Use it to learn Node-RED, Raspberry Pi Pico W, and MicroPython, and add these state-of-the-art tools to your technology toolkit. It will introduce you to virtual machines, Docker, and MySQL in support of IoT projects based on Node-RED and the Raspberry Pi Pico W.
This book combines several elements into a platform that powers the development of modern Internet of Things applications. These elements are a flow-based server, a WiFi-enabled microcontroller, a high-level programming language, and a deployment technology. Combining these elements gives you the tools you need to create automation systems at any scale. From home automation to industrial automation, this book will help you get started.
Node-RED is an open-source flow-based development tool that makes it easy to wire together devices, APIs, and online services. Drag and drop nodes to create a flowchart that turns on your lights at sunset or sends you an email when a sensor detects movement. Raspberry Pi Pico W is a version of the Raspberry Pi Pico with added 802.11n Wi-Fi capability. It is an ideal device for physical computing tasks and an excellent match to the Node-RED.
Quick book facts
Project-based learning approach.
Assumes no prior knowledge of flow-based programming tools.
Learn to use essential infrastructure tools in your projects, such as virtual machines, Docker, MySQL and useful web APIs such as Google Sheets and OpenWeatherMap.
Dozens of mini-projects supported by photographs, wiring schematics, and source code. Get these from the book GitHub repository.
Step-by-step instructions on everything.
All experiments are based on the Raspberry Pi Pico W. A Wi-Fi network is required for all projects.
Hardware (including the Raspberry Pi Pico W) is available as a kit.
Downloads
GitHub
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 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.
Ziel dieses Buches ist, auf einfache Weise zu zeigen, wie mit der populären Hochsprache C# ein PC programmiert werden kann. Am Anfang beschreibt das Buch Datentypen und Programmsteuerungen, die dann um fortschrittliche Konzepte wie die objektorientierte Programmierung, Threads, die Internetkommunikation und Datenbanken erweitert werden. Alle verwendeten Code-Beispiele stehen unter "Downloads" zum Herunterladen bereit. Mit den vorgestellten Konzepten können auf einfache Weise eigene Ergebnisse erzielt und somit der Lernprozess unterstützt werden. Auch professionelle Software-Tools von Microsoft stehen zum kostenlosen Download zur Verfügung. Die Anwender stellen für Microsoft's Visual Studio 2010 eine Vielzahl von Steuerungen, Eigenschaften, Methoden und Ereignissen bereit.
Leser, die die Hardware eines PCs steuern wollen, erhalten genaue Anleitungen. In den Kapiteln über PC-Schnittstellen wird das Erbe der seriellen und parallelen Ports besprochen, analoge Zugänge steuern die Soundkarte und verwenden DirectX-Treiber von Microsoft. Die Anbindung des allgegenwärtigen USB-Ports wird genau erklärt, einschließlich des Entwurfs von Hard- und Software zur Steuerung eines PIC-Boards via USB.
Viele Programmbeispiele, praktische Übungen und Links auf Support-Videos vervollständigen dieses Buch – das teilweise in englischer Originalsprache.
Universitätsdozenten bieten für die meisten Kapitel Hilfen in Form von herunterladbaren PowerPoint-Präsentationen an.
Das vorliegende Buch von Dr. John Allwork berücksichtigt bei der C#-Entwicklung auch die neue Version Visual Studio 2010 und das Microsoft-Betriebssystem Windows 7.