Technology is constantly changing. New microcontrollers become available every year. The one thing that has stayed the same is the C programming language used to program these microcontrollers. If you would like to learn this standard language to program microcontrollers, then this book is for you!
Arduino is the hardware platform used to teach the C programming language as Arduino boards are available worldwide and contain the popular AVR microcontrollers from Atmel.
Atmel Studio is used as the development environment for writing C programs for AVR microcontrollers. It is a full-featured integrated development environment (IDE) that uses the GCC C software tools for AVR microcontrollers and is free to download.
At a glance:
Start learning to program from the very first chapter
No programming experience is necessary
Learn by doing – type and run the example programs
A fun way to learn the C programming language
Ideal for electronic hobbyists, students and engineers wanting to learn the C programming language in an embedded environment on AVR microcontrollers
Use the free full-featured Atmel Studio IDE software for Windows
Write C programs for 8-bit AVR microcontrollers as found on the Arduino Uno and MEGA boards
Example code runs on Arduino Uno and Arduino MEGA 2560 boards and can be adapted to run on other AVR microcontrollers or boards
Use the AVR Dragon programmer/debugger in conjunction with Atmel Studio to debug C programs
Dit boek bevat 50 leuke en spannende projecten met PIC microcontrollers zoals een laser alarm, USB plaagmuis, eierwekker, jongerenverjager, geluidsschakelaar, capacitieve vloeistofniveau meting, 'vinger in het water' sensor, bewaking van een ruimte met een camera, 220 volt lichtdimmer, pratende microcontroller en nog veel meer. Er komen talloze technieken aan de orde zoals relais, wisselstroomregeling (ook 220 volt), I2C, SPI, RS232, USB, puls breedte modulatie, rotary encoder, interrupts, infrarood, analoog-digitaal conversie (en andersom), 7-segment display en zelfs CAN bus.
U kunt dit boek gebruiken om de verschillende projecten na te bouwen en daarna in de praktijk te brengen. Door de duidelijke uitleg, schema's en zelfs foto's van de opstelling is het nabouwen een leuke bezigheid. Bij ieder project wordt uitgelegd waarom het juist op die manier is uitgevoerd, en wordt kort de theorie behandeld. U kunt dit boek dus gebruiken als studieboek, of als basis voor grotere en ingewikkeldere projecten. Alle schakelingen zijn op een steekbord uitgevoerd zodat uitbreiden en aanpassen gemakkelijk is.
De drie PIC microcontrollers die in dit boek gebruikt worden, zijn de 16f877A, 18f4455 en 18f4685. Daarnaast komt aan de orde hoe u de programma's van de ene naar de andere microcontroller kunt overzetten (er worden 15 types ondersteund) inclusief twee praktijkvoorbeelden.
Alle benodigde software kunt u gratis downloaden. Dat geldt ook voor de open source programmeertaal JAL. Deze krachtige maar toch eenvoudig te leren taal wordt zowel door hobbyisten als professionals gebruikt.
Dit boek is ook goed te gebruiken als naslagwerk. U kunt er de uitleg van alle opdrachten van de programmeertaal JAL in terugvinden, en tevens van de gebruikte uitbreidingsbibliotheken. Via de index vindt u gemakkelijk projecten die als voorbeeld kunnen dienen voor de belangrijkste JAL opdrachten. Zelfs wanneer u alle projecten een keer gemaakt hebt, zal dit boek nog lang een plekje naast uw PC behouden.
La carte d'apprentissage Elektor Arduino Nano MCCAB contient tous les composants (avec Arduino Nano) nécessaires aux exercices, tels que des diodes électroluminescentes, des interrupteurs, des boutons-poussoirs, des émetteurs de signaux acoustiques, etc. Ce système de formation à microcontrôleur permet également d'interroger ou de commander des capteurs, des moteurs ou des assemblages externes.
Spécifications (Carte de formation Arduino Nano MCCAB)
Alimentation électrique
Via la connexion USB du PC connecté ou un bloc d'alimentation externe (non inclus)
Tension de fonctionnement
+5 Vcc
Tension d'entrée
Toutes les entrées
0 V to +5 V
VX1 and VX2
+8 V to +12 V (uniquement en cas d'utilisation d'une alimentation externe)
Périphérie du matériel
LCD
2x16 caractères
Potentiomètre P1 & P2
JP3 : sélection de la tension de fonctionnement de P1 et P2
Distributeur
SV4 : Distributeur pour les tensions de fonctionnementSV5, SV6 : Distributeur pour les entrées/sorties du microcontrôleur
Interrupteurs et boutons
Bouton RESET sur le module Arduino Nano 6x interrupteurs à bouton poussoir K1 ... K6 6x interrupteurs à glissière S1 ... S6 JP2 : Connexion des interrupteurs avec les entrées du microcontrôleur
Buzzer
Buzzer piézo Buzzer1 avec cavalier sur JP6
Voyants lumineux
11 x LED : Indicateur d'état des entrées/sorties LED L sur le module Arduino Nano, connectée au GPIO D13 JP6 : Connexion des LED LD10 ... LD20 avec les GPIO D2 ... D12
Interfaces sérieSPI ET I²C
JP4 : Sélection du signal à la broche X du connecteur SPI SV12 SV9 à SV12 : interface SPI (3,3 V/5 V) ou interface I²C
Sortie de commutation pour les appareils externes
SV1, SV7 : sortie de commutation (maximum +24 V/160 mA, alimentation externe) SV2 : 2x13 connecteurs pour la connexion de modules externes
Matrice de 3x3 LED(9 LED rouges)
SV3 : Colonnes de la matrice LED 3x3 (sorties D6 ... D8) JP1 : Connexion des lignes avec les GPIOs D3 ... D5
Logiciel
Bibliothèque MCCABLib
Contrôle des composants matériels (interrupteurs, boutons, DEL, matrice de DEL 3x3, buzzer) sur la carte de formation MCCAB.
Température de fonctionnement
Jusqu'à +40 °C
Dimensions
100 x 100 x 20 mm
Spécifications (Arduino Nano)
Microcontrôleur
ATmega328P
Architecture
AVR
Tension de fonctionnement
5 V
Mémoire flash
32 Ko, dont 2 Ko utilisés par le chargeur de démarrage
SRAM
2 KB
Vitesse d'horloge
16 MHz
Connecteurs d'entrée analogique
8
EEPROM
1 KB
Courant continu par connecteur d'E/S
40 mA sur un connecteur d'E/S, maximum total de 200 mA sur l'ensemble des connecteurs
Tension d'entrée
7-12 V
Connecteurs E/S numériques
22 (dont 6 PWM)
Sortie PWMt
6
Consommation électrique
19 mA
Dimensions
18 x 45 mm
Poids
7 g
Inclus
1x Elektor Arduino Nano Training Board MCCAB
1x Arduino Nano
Mehr als 50 Grundlagenprojekte mit MicroPython und dem RP2040-Mikrocontroller
Der Raspberry Pi Pico ist eine leistungsstarke Mikrocontroller-Platine, die speziell für das Physical Computing – also hardwarenahe Anwendungen – entwickelt wurde. Der Raspberry Pi Pico kann so programmiert werden, dass er eine einzelne Aufgabe sehr effizient ausführt und ermöglicht so schnelle Steuerungs- und Überwachungsanwendungen in Echtzeit. Der 'Pico', wie wir ihn nennen, basiert auf dem schnellen, effizienten und kostengünstigen Dual-Core ARM Cortex-M0+ RP2040 Mikrocontroller-Chip, der mit bis zu 133 MHz läuft und über 264 KB SRAM und 2 MB Flash-Speicher verfügt. Neben dem großen Speicher hat der Pico noch weitere attraktive Eigenschaften, darunter eine große Anzahl von GPIO-Pins sowie gängige Schnittstellen wie ADC, SPI, I²C, UART und PWM. Als Krönung bietet der Chip schnelle und genaue Timer, eine Hardware-Debug-Schnittstelle und einen internen Temperatursensor.
Zur Programmierung lassen sich leicht die gängigen Hochsprachen wie MicroPython oder C/C++ verwenden. Dieses Buch ist eine Einführung in die Verwendung des Pico mit der Programmiersprache MicroPython. In allen Projekten wird die Thonny-Entwicklungsumgebung (IDE) eingesetzt. Über 50 Projekte decken folgende Themen ab:
Installation von MicroPython auf dem Raspberry Pi Pico
Timer-Interrupts und externe Interrupts
Projekte mit Analog-Digital-Wandler (ADC)
Verwendung des internen sowie externer Temperatursensoren
Datenlogger
Projekte zur PWM, UART, I²C-Bus und SPI-Bus
Wi-Fi und Bluetooth für die Kommunikation mit Smartphones
Projekte mit dem Digital-Analog-Wandler (DAC)
Alle in diesem Buch vorgestellten Projekte wurden vollständig getestet und sind funktionsfähig. Es werden keine Programmier- oder Elektronikkenntnisse vorausgesetzt, um sie nachzuvollziehen. Für alle beschriebenen Projekte gibt es kurze Beschreibungen, Blockdiagramme, detaillierte Schaltpläne und vollständige MicroPython-Programmlistings. Die Listings sind auch auf der zum Buch gehörenden Elektor-Webseite zu finden.
In ESP32 programmeren voor beginners bekijken we de ESP32 en zijn voorganger, de ESP8266. Deze kleine, maar zeer krachtige Chinese chips bestaan uit een processor, geheugen, input- en outputaansluitingen en hebben draadloze netwerktoegang via WiFi.
Met dit boek tonen we hoe de programmeeromgeving Arduino werkt en hoe die kan gebruikt worden met ESP-hardware. Aan de hand van voorbeelden en projecten verduidelijken we hoe de ESP-hardware kan worden toegepast.
In vogelvlucht:
We beschrijven de opbouw van ESP-experimenten.
We tonen hoe displays worden aangesloten.
Eeprom_24c16 demonstreert hoe een externe geheugenchip wordt gebruikt om getallen en tekst op te slaan en weer uit te lezen.
Project Klok is de eenvoudige implementatie van een digitale klok.
We geven een handleiding voor het gebruik van temperatuur- en luchtvochtigheidsensoren.
Webclient laat zien hoe de ESP32 gegevens van het internet kan halen.
Met Webserver kunnen we op afstand met een pc of smartphone gegevens halen uit een ESP32, sensoren uitlezen en toestellen aan- en uitschakelen.
Een NTP-klok haalt tijdinformatie van Tijdserver. Die geeft zowel de tijd als het aantal seconden sinds 1 januari 1900. Het boek beschrijft hoe hieruit de tijd kan worden berekend.
In het laatste hoofdstuk gebruiken we het internet om nauwkeurige weerinformatie en voorspellingen op te vragen.
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.
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.
Praxisnahe Projekte, Profi-Tricks und eigene Anwendungen
Dieses Buch führt Sie Schritt für Schritt in die faszinierende Welt der State Machines ein und zeigt, wie Sie Hardware direkt und effizient ansteuern können – jenseits klassischer CPU-gesteuerter Ansätze.
In diesem Buch lernen Sie:
LEDs und NeoPixel kreativ steuern: Blinken, Dimmen, Farbwechsel und komplexe Animationen
Taster und Encoder zuverlässig auslesen und in Echtzeit in Ihre Projekte integrieren
Analoge Eingänge (ADC) nutzen und Signale digital steuern
Servos präzise ansteuern und Bewegungsabläufe automatisieren
SPI mit PIO umsetzen, um Displays, Sensoren und Module anzusteuern
Menüsysteme und Submenüs auf SPI-Displays realisieren, inklusive Navigation über mehrere Taster
PWM, Signalgenerierung und Frequenzsteuerung für akustische oder visuelle Effekte
Debugging-Strategien und Tipps, um Ihre PIO-Programme effizient zu entwickeln
Alle Beispiele sind praxisnah, sofort umsetzbar und zuverlässig. Mit klaren Anleitungen, Hintergrundwissen und fertigen Codebeispielen lernen Sie, die PIO-Fähigkeiten des Pico maximal zu nutzen – egal ob für Maker-Projekte, Prototypen oder professionelle Anwendungen.
Erleben Sie, wie Sie komplexe Hardwaresteuerung elegant mit dem Pico realisieren können – schneller, flexibler und leistungsfähiger als je zuvor.
Die Programmiersprache „Python“ hat in den letzten Jahren einen enormen Aufschwung erlebt. Nicht zuletzt haben verschiedene Einplatinensysteme wie der Raspberry Pi zu deren Bekanntheitsgrad beigetragen. Aber auch in anderen Gebieten, wie der Künstlichen Intelligenz oder dem Machine Learning, hat Python weite Verbreitung gefunden. Es ist daher naheliegend, Python bzw. die Variante „MicroPython“ auch für den Einsatz in SoCs (Systems on Chip) zu verwenden.
Leistungsfähige Controller wie der ESP32 der Firma Espressif Systems bieten eine hervorragende Performance sowie Wi-Fi- und Bluetooth-Funktionalität zu einem günstigen Preis. Mit diesen Eigenschaften wurde die Maker-Szene im Sturm erobert. Im Vergleich zu anderen Controllern weist der ESP32 einen deutlich größeren Flash und SRAM-Speicher, sowie eine wesentlich höhere CPU-Geschwindigkeit auf. Aufgrund dieser Leistungsmerkmale eignet sich der Chip nicht nur für klassische C-Anwendungen, sondern insbesondere auch für die Programmierung mit MicroPython.
Das vorliegende Buch führt in die Anwendung der modernen Ein-Chip-Systeme ein. Neben den technischen Hintergründen steht vor allem MicroPython selbst im Vordergrund. Nach der Einführung in die Sprache werden die erlernten Programmierkenntnisse umgehend in die Praxis umgesetzt. Die einzelnen Projekte sind sowohl für den Einsatz im Labor als auch für Alltagsanwendungen geeignet. Neben dem eigentlichen Lerneffekt steht also auch die Freude am Aufbau kompletter und nützlicher Geräte im Vordergrund. Durch die Verwendung von Laborsteckboards können Schaltungen aller Art mit geringem Aufwand realisiert werden, sodass das Austesten der selbstgebauten Geräte zum lehrreichen Vergnügen wird.
Durch die verschiedenen Anwendungen wie Wetterstationen, Digitalvoltmeter, Ultraschall-Entfernungsmesser, RFID-Kartenleser oder Funktionsgeneratoren sind die vorgestellten Projekte auch für Praktika oder Fach- und Studienarbeiten in den Naturwissenschaften bzw. im Natur- und Technikunterricht bestens geeignet.
Dit is een ideaal boek voor hobbyisten, studenten en ingenieurs die op een eenvoudige manier C en het gebruik van een mbed ARM microcontroller willen leren, rechtstreeks op internet zonder ingewikkelde software installatie.
ARM mbed microcontroller NXP LPC1768
De projecten in dit boek zijn bedoeld voor beginners op het gebied van ARM microcontrollers of de programmeertaal C. Dat wil niet zeggen dat de projecten allemaal eenvoudig zijn, maar wel dat ze gemakkelijk te begrijpen zijn. We maken bijvoorbeeld gebruik van USB communicatie, een onderwerp dat door de mbed zo eenvoudig wordt gemaakt dat het geschikt is voor een beginners boek.
Cloud technologie
De mbed NXP LPC1768 maakt gebruik van cloud technologie, een revolutionair concept voor software ontwikkeling. Dit houdt in dat u geen software hoeft te installeren om de mbed te kunnen programmeren! Het enige dat u nodig heeft is een internet browser zoals Microsoft Internet Explorer, en een USB poort op uw PC. U kunt vanaf elke willekeurige PC waar dan ook ter wereld toegang krijgen tot uw project en er aan verder werken. Wanneer u klaar bent kunt u met een paar eenvoudige klikjes met uw muis het programma overzetten naar uw mbed hardware. Uiteraard kunt u de projecten ook downloaden en op uw eigen PC opslaan wanneer u dat liever heeft.
Onderwerpen die aan de orde komen
Leer het programmeren van een ARM microcontroller via cloud technologie. Geen moeilijke software installatie op uw eigen PC.
Leer de programmeertaal C door leuke en interessante projecten uit te voeren. Geen ervaring of kennis noodzakelijk.
Voorbeelden van projecten in dit boek: knipperlicht, tijdschakelaar, donkerschakelaar, digitale thermometer, mensen detector, USB communicatie, pratende microcontroller, fout zoeken, geluidsschakelaar, en nog veel meer - totaal 35 projecten.
Voorbeelden van C onderwerpen in dit boek: variabelen, opdrachten, functies, programmaverloop, pointers (inleidend).