Nahezu alle Menschen werden zunehmend mit den Anwendungen der „Künstlichen Intelligenz“ (KI oder AI für engl. Artificial Intelligence) konfrontiert. Musik- oder Videoempfehlungen, Navigationssysteme, Einkaufsvorschläge etc. basieren auf Verfahren, die diesem Bereich zugeordnet werden können.
Der Begriff „Künstliche Intelligenz“ wurde 1956 auf einer internationalen Konferenz, dem Dartmouth Summer Research Project geprägt. Eine grundlegende Idee war dabei, die Funktionsweise des menschlichen Gehirns zu modellieren und darauf basierend fortschrittliche Computersysteme zu konstruieren. Bald sollte klar sein, wie der menschliche Verstand funktioniert. Die Übertragung auf eine Maschine wurde nur noch als ein kleiner Schritt angesehen. Diese Vorstellung erwies sich als etwas zu optimistisch. Dennoch sind die Fortschritte der modernen KI, beziehungsweise ihrem Teilgebiet dem sogenannten „Machine Learning“, nicht mehr zu übersehen.
Um die Methoden des Machine Learnings näher kennenzulernen, sollen in diesem Buch mehrere verschiedene Systeme zum Einsatz kommen. Neben dem PC werden sowohl der Raspberry Pi als auch der „Maixduino“ in den einzelnen Projekten ihre Fähigkeiten beweisen. Zusätzlich zu Anwendungen wie Objekt- und Gesichtserkennung entstehen dabei auch praktisch einsetzbare Systeme wie etwa Flaschendetektoren, Personenzähler oder ein „Sprechendes Auge“.
Letzteres ist in der Lage, automatisch erkannte Objekte oder Gesichter akustisch zu beschreiben. Befindet sich beispielsweise ein Fahrzeug im Sichtfeld der angeschlossenen Kamera, so wird die Information „I see a car!“ über elektronisch erzeugte Sprache ausgegeben. Derartige Geräte sind hochinteressante Beispiele dafür, wie etwa auch blinde oder stark sehbehinderte Menschen von KI-Systemen profitieren können.
Wanneer u regelmatig experimenteert met de Raspberry Pi en verschillende externe hardware aansluit op de GPIO-poort via de header, heeft u mogelijk in het verleden schade veroorzaakt. Het Elektor Raspberry Pi Buffer Board is er om dit te voorkomen! Het board is compatibel met de Raspberry Pi Zero, Zero 2 (W), 3, 4, 5, 400 en 500.
Alle 26 GPIO's zijn gebufferd met bidirectionele spanningsomzetters om de Raspberry Pi te beschermen tijdens het experimenteren met nieuwe circuits. De printplaat is bedoeld om aan de achterkant van de Raspberry Pi 400/500 te worden geplaatst. De connector voor aansluiting op de Raspberry Pi is een haakse 40-polige connector (2x20). De printplaat is slechts iets breder. Een 40-polige flatcable met bijpassende 2x20 headers kan worden aangesloten op de buffer-uitgangsheader om bijvoorbeeld te experimenteren met een circuit op een breadboard of een printplaat.
Het circuit maakt gebruik van 4x TXS0108E IC's van Texas Instruments. De printplaat kan ook rechtop op een Raspberry Pi worden geplaatst.
Downloads
Schematics
Layout
USB-Logikanalysatoren am PC mit Arduino, Raspberry Pi und Co
Schritt-für-Schritt-Anleitungen führen Sie in die Analyse moderner Protokolle von I²C, SPI, UART, RS-232, NeoPixel, WS28xx, HD44780 und 1-Wire ein. Anhand von zahlreichen Experimentierschaltungen mit dem Raspberry Pi Pico, Arduino Uno und dem Bus Pirate üben Sie die praxisnahe Anwendung gängiger USB-Logikanalysatoren ein.
Alle in diesem Buch vorgestellten Experimentierschaltungen wurden vollständig getestet und sind funktionsfähig. Die notwendigen Programmlistings sind enthalten, es sind keine besonderen Programmier- oder Elektronikkenntnisse für diese Schaltungen notwendig. Es werden die Programmiersprachen MicroPython und C mit den Entwicklungsumgebungen Thonny und Arduino IDE eingesetzt.
Dieses Buch verwendet mehrere Modelle flexibler und weit verbreiteter USB-Logikanalysatoren und zeigt die Stärken und Schwächen jeder Preisklasse. Sie werden kennenlernen, welche Kriterien für Ihre Arbeit wichtig sind und in der Lage sein, das für Sie passende Gerät zu finden.
Egal ob Arduino, Raspberry Pi oder Raspberry Pi Pico: Die abgebildeten Beispielschaltungen ermöglichen einen schnellen Start in die Protokollanalyse und können auch als Grundlage für eigene weitere Experimente dienen.
Sie werden alle wichtigen Begriffe und Zusammenhänge kennenlernen, eigene Experimente durchführen, selbstständig Protokolle analysieren und nach der Lektüre dieses Buches – im Bereich der digitalen Signale und Protokolle – ein umfassendes Wissen aufgebaut haben.
Multitasking and multiprocessing have become a very important topic in microcontroller-based systems, namely in complex commercial, domestic, and industrial automation applications. As the complexity of projects grows, more functionalities are demanded from the projects. Such projects require the use of multiple inter-related tasks running on the same system and sharing the available resources, such as the CPU, memory, and input-output ports. As a result of this, the importance of multitasking operations in microcontroller-based applications has grown steadily over the last few years. Many complex automation projects now make use of some form of a multitasking kernel.
This book is project-based and its main aim is to teach the basic features of multitasking using the Python 3 programming language on Raspberry Pi. Many fully tested projects are provided in the book using the multitasking modules of Python. Each project is described fully and in detail. Complete program listings are given for each project. Readers should be able to use the projects as they are, or modify them to suit their own needs.
The following Python multitasking modules have been described and used in the projects:
Fork
Thread
Threading
Subprocess
Multiprocessing
The book includes simple multitasking projects such as independently controlling multiple LEDs, to more complex multitasking projects such as on/off temperature control, traffic lights control, 2-digit, and 4-digit 7-segment LED event counter, reaction timer, stepper motor control, keypad based projects, car park controller, and many more. The fundamental multitasking concepts such as process synchronization, process communication, and memory sharing techniques have been described in projects concerning event flags, queues, semaphores, values, and so on.
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
Program, build, and master over 50 projects with MicroPython and the RP2040 microprocessor The Raspberry Pi Pico is a high-performance microcontroller module designed especially for physical computing. Microcontrollers differ from single-board computers, like the Raspberry Pi 4, in not having an operating system. The Raspberry Pi Pico can be programmed to run a single task very efficiently within real-time control and monitoring applications requiring speed. The ‘Pico’ as we call it, is based on the fast, efficient, and low-cost dual-core ARM Cortex-M0+ RP2040 microcontroller chip running at up to 133 MHz and sporting 264 KB of SRAM, and 2 MB of Flash memory. Besides its large memory, the Pico has even more attractive features including a vast number of GPIO pins, and popular interface modules like ADC, SPI, I²C, UART, and PWM. To cap it all, the chip offers fast and accurate timing modules, a hardware debug interface, and an internal temperature sensor. The Raspberry Pi Pico is easily programmed using popular high-level languages such as MicroPython and or C/C++. This book is an introduction to using the Raspberry Pi Pico microcontroller in conjunction with the MicroPython programming language. The Thonny development environment (IDE) is used in all the projects described. There are over 50 working and tested projects in the book, covering the following topics: Installing the MicroPython on Raspberry Pi Pico using a Raspberry Pi or a PC Timer interrupts and external interrupts Analogue-to-digital converter (ADC) projects Using the internal temperature sensor and external temperature sensor chips Datalogging projects PWM, UART, I²C, and SPI projects Using Wi-Fi and apps to communicate with smartphones Using Bluetooth and apps to communicate with smartphones Digital-to-analogue converter (DAC) projects All projects given in the book have been fully tested and are working. Only basic programming and electronics experience is required to follow the projects. Brief descriptions, block diagrams, detailed circuit diagrams, and full MicroPython program listings are given for all projects described. Readers can find the program listings on the Elektor web page created to support the book.
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.
World’s Most Popular ROS PlatformTurtleBot is the most popular open source robot for education and research. The new generation TurtleBot3 is a small, low cost, fully programmable, ROS based mobile robot. It is intended to be used for education, research, hobby and product prototyping.Affordable CostTurtleBot was developed to meet the cost-conscious needs of schools, laboratories and companies. TurtleBot3 is the most affordable robot among the SLAM-able mobile robots equipped with a 360° Laser Distance Sensor LDS-01.ROS StandardThe TurtleBot brand is managed by Open Robotics, which develops and maintains ROS. Nowadays, ROS has become the go-to platform for all the roboticists around the world. TurtleBot can be integrated with existing ROS-based robot components, but TurtleBot3 can be an affordable platform for whom want to get started learning ROS.ExtensibilityTurtleBot3 encourages users to customize its mechanical structure with some alternative options: open source embedded board (as a control board), computer and sensors. TurtleBot3 Waffle Pi is a two-wheeled differential drive type platform but it is able to be structurally and mechanically customized in many ways: Cars, Bikes, Trailers and so on. Extend your ideas beyond imagination with various SBC, sensors and motors on a scalable structure.Modular Actuator for Mobile RobotTurtleBot3 is able to get a precise spatial data by using 2 DYNAMIXEL’s in the wheel joints. DYNAMIXEL XM series can be operated by one of 6 operating modes (XL series: 4 operating modes): Velocity control mode for wheels, Torque control mode or Position control mode for joint, etc. DYNAMIXEL can be used even to make a mobile manipulator which is light but can be precisely controlled with velocity, torque and position control. DYNAMIXEL is a core component that makes TurtleBot3 perfect. It is easy to assemble, maintain, replace and reconfigure.Open Control Board for ROSThe control board is open-sourced in hardware wise and in software wise for ROS communication. The open source control board OpenCR1.0 is powerful enough to control not only DYNAMIXEL’s but also ROBOTIS sensors that are frequently being used for basic recognition tasks in cost effective way. Various sensors such as Touch sensor, Infrared sensor, Color sensor and a handful more are available. The OpenCR1.0 has an IMU sensor inside the board so that it can enhance precise control for countless applications. The board has 3.3 V, 5 V, 12 V power supplies to reinforce the available computer device lineups.Open SourceThe hardware, firmware and software of TurtleBot3 are open source which means that users are welcomed to download, modify and share source codes. All components of TurtleBot3 are manufactured with injection molded plastic to achieve low cost, however, the 3D CAD data is also available for 3D printing.Specifications
Maximum translational velocity
0.26 m/s
Maximum rotational velocity
1.82 rad/s (104.27 deg/s)
Maximum payload
30 kg
Size (L x W x H)
281 x 306 x 141 mm
Weight (+ SBC + Battery + Sensors)
1.8 kg
Threshold of climbing
10 mm or lower
Expected operating time
2h
Expected charging time
2h 30m
SBC (Single Board Computers)
Raspberry Pi 4 (2 GB RAM)
MCU
32-bit ARM Cortex-M7 with FPU (216 MHz, 462 DMIPS)
Remote Controller
RC-100B + BT-410 Set (Bluetooth 4, BLE)
Actuator
XL430-W210
LDS (Laser Distance Sensor)
360 Laser Distance Sensor LDS-01 or LDS-02
Camera
Raspberry Pi Camera Module v2.1
IMU
Gyroscope 3 AxisAccelerometer 3 Axis
Power connectors
3.3 V/800 mA5 V/4 A12 V/1 A
Expansion pins
GPIO 18 pinsArduino 32 pin
Peripheral
3x UART, 1x CAN, 1x SPI, 1x I²C, 5x ADC, 4x 5-pin OLLO
DYNAMIXEL ports
3x RS485, 3x TTL
Audio
Several programmable beep sequences
Programmable LEDs
4x User LED
Status LEDs
1x Board status LED1x Arduino LED1x Power LED
Buttons and Switches
2x Push buttons, 1x Reset button, 2x Dip switch
Battery
Lithium polymer 11.1 V 1800 mAh / 19.98 Wh 5C
PC connection
USB
Firmware upgrade
via USB / via JTAG
Power adapter (SMPS)
Input: 100-240 VAC 50/60 Hz, 1.5 A @maxOutput: 12 VDC, 5 A
Downloads
ROS Robot Programming
GitHub
E-Manual
Community
3rd Edition – Fully updated for Raspberry Pi 4
The Raspberry Pi is a very cheap but complete computer system that allows all sorts of electronics parts and extensions to be connected. This book addresses one of the strongest aspects of the Raspberry Pi: the ability to combine hands-on electronics and programming.
Combine hands-on electronics and programming
After a short introduction to the Raspberry Pi you proceed with installing the required software. The SD card that can be purchased in conjunction with this book contains everything to get started with the Raspberry Pi. At the side of the (optional) Windows PC, software is used which is free for downloading. The book continues with a concise introduction to the Linux operating system, after which you start programming in Bash, Python 3 and Javascript. Although the emphasis is on Python, the coverage is brief and to the point in all cases – just enabling you to grasp the essence of all projects and start adapting them to your requirements. All set, you can carry on with fun projects.
The book is ideal for self-study
No fewer than 45 exciting and compelling projects are discussed and elaborated in detail. From a flashing lights to driving an electromotor; from processing and generating analog signals to a lux meter and a temperature control. We also move to more complex projects like a motor speed controller, a web server with CGI, client-server applications and Xwindows programs.
Each project has details of the way it got designed that way
The process of reading, building, and programming not only provides insight into the Raspberry Pi, Python, and the electronic parts used, but also enables you to modify or extend the projects any way you like. Also, feel free to combine several projects into a larger design.
Dit boek gaat over de Raspberry Pi, en over het programmeren in C. De programmeertaal C en het besturingssysteem Linux (Raspbian) passen uitstekend bij elkaar. Alles wat we nodig hebben om in C te programmeren wordt meegeleverd met het besturingssysteem van de Raspberry Pi.
In dit boek leert u hoe C gebruikt wordt met de Raspberry Pi, en krijgt u een overzicht van de taal.
WiringPi is een softwarebibliotheek voor de Raspberry Pi waarmee C hardware-uitbreidingen kan benaderen. Die bibliotheek wordt gebruikt om sensoren uit te lezen en om extra hardware aan te sturen. U gaat experimenteren met LED’s en schakelaars, met motoren, met geluid en met sensoren voor temperatuur, luchtdruk, en luchtvochtigheid.
Met een Linux-systeem kunt u een webserver maken, inclusief interactieve websites met PHP en WiringPi. Daarom is ook een beknopt overzicht van HTML en PHP in het boek opgenomen. In de voorbeelden worden sensoren via het web uitgelezen en worden apparaten bestuurd. In het laatste voorbeeld wordt een temperatuurlogger gemaakt. Die meet elk kwartier de temperatuur. Een tabel met de meetwaarden kan via het web worden uitgelezen.
Alle voorbeeldprogramma’s kunnen worden gedownload van de website van Elektor.
Pfiffige Projekte zum Messen, Steuern und Regeln
Der Raspberry Pi dominiert seit vielen Jahren die Maker-Szene. Frei verfügbare I/O-Pins machten ihn zu einem der beliebtesten Prozessorboards aller Zeiten. Allerdings verfügt der klassische Raspberry Pi über keinerlei Analogeingänge. Eine direkte Messung analoger Werte ist damit nicht möglich. So können weder Photodioden noch NTCs oder Hallsensoren etc. unmittelbar ausgelesen werden. Zudem sind die Pins direkt, d. h. ohne Treiber oder Schutzschaltung, mit den freiliegenden Kontakten verbunden. Dadurch kann der zentrale Controller und damit der gesamte Raspberry Pi schnell zerstört werden.
Mit dem Pico können diese Probleme elegant gelöst werden. Er kann als sogenanntes „Frontend“ problemlos vielfältige Messaufgaben übernehmen. Zudem ist der Pico deutlich preisgünstiger als ein klassischer Raspberry Pi 4. Falls eine Fehlbeschaltung zur Zerstörung des Pico führt, ist dies vor allem für nicht-professionelle Anwender relativ leicht zu verkraften. Der klassische Raspberry Pi und der Pico werden so zum idealen Duo.
Das Buch führt entsprechend in das weite und hochaktuelle Gebiet der modernen Controllertechnik anhand der beiden Boards „Raspberry Pi 4“ und „Raspberry Pi Pico“ ein. Neben einer tiefergehenden Einführung in die Arbeits- und Funktionsweise der Controllerboards selbst wird insbesondere auch auf die Messwerterfassung und -verarbeitung mit digitalen Prozessoren eingegangen. Insbesondere die Kombination beider Systeme bietet vielfältige und hochinteressante Möglichkeiten.
Praktische Projekte aus dem Inhalt:
USB-Verbindung zwischen Raspberry Pi 4 und Pico
I²C-Kommunikation und Pico als I²C-Device
Voltmeter und Computerthermometer
Pico W als Web-Server und WLAN-Scanner
Frequenzmesser und -generatoren
OLED-Displays an Pico und Raspberry Pi 4
Energiesparmonitor
Welche Astronauten sind im Orbit?
Mini-Monitor für den aktuellen Bitcoin-Kurs
Projekte mit Arduino Uno und Raspberry Pi
In diesem Buch werden Anwendungen von Arduino Uno und Raspberry Pi 4 in praxisnahen Projekten auf Basis von CAN-Bus detailliert beschrieben. Durch den Einsatz von entweder Arduino Uno oder Raspberry Pi in Verbindung mit handelsüblichen CAN-Bus-Schnittstellenmodulen werden die Entwicklung, Fehlersuche und Fehlerbeseitigung sowie die Überprüfung von Projekten auf CAN-Bus-Basis erheblich erleichtert.
Dieses Buch richtet sich an jeden, der mehr über den CAN-Bus lernen möchte und mit den Grundlagen der Elektronik vertraut ist. Hilfreich ist auch Erfahrung mit den Programmiersprachen C und Python sowie mit der Programmierung von Arduino Uno unter Verwendung seiner IDE und von Raspberry Pi zu haben.
Das Buch ist eine nützliche Informationsquelle und ein Nachschlagewerk für jeden, der Antworten auf eine oder mehrere der folgenden Fragen sucht:
Welche Bussysteme stehen für die Automobilindustrie zur Verfügung?
Was sind die Grundprinzipien des CAN-Bus?
Welche Arten von Frames (oder Datenpaketen) stehen in einem CAN-Bussystem zur Verfügung?
Wie können Fehler in einem CAN-Bussystem erkannt werden, und wie zuverlässig ist ein CAN-Bussystem?
Welche Arten von CAN-Bus-Controllern gibt es?
Welches sind die Funktionsprinzipien des MCP2515 CAN-Bus-Controllers?
Wie kann ich ein CAN-Bus-Projekt mit Arduino Uno realisieren?
Wie kann ich Arduino oder Raspberry Pi CAN-Bus-Projekte mit 2 und 3 Knoten erstellen?
Wie kann ich die Daten auf dem CAN-Bus analysieren?
Wie kann ich ein CAN-Bus-Projekt mit Raspberry Pi ausführen?