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.
Het Elektor Arduino Nano MCCAB Training Board bevat alle componenten (incl. Arduino Nano) die nodig zijn voor de oefeningen, zoals LED’s, schakelaars, drukknoppen, buzzer enz. Ook externe sensoren, motoren of modules kunnen worden gecheckt of bestuurd met dit microcontroller-trainingssysteem.
Specificaties (Arduino Nano Training Board MCCAB)
Voeding
Via de USB-aansluiting van de aangesloten pc of een externe voeding (niet inbegrepen)
Spanning
+5 Vcc
Ingangsspanning
Alle ingangen
0 V tot +5 V
VX1 en VX2
+8 V tot +12 V (alleen bij gebruik van een externe voeding)
Hardware
LCD
2x16 karakters
Potentiometer P1 & P2
JP3: Selectie van de werkspanning van P1 & P2
Verdelers
SV4: Verdeler voor de werkspanningenSV5, SV6: Verdelers voor de in-/uitgangen van de microcontroller
Schakelaars en knoppen
RESET knop op de Arduino Nano module; 6x drukknop schakelaars K1 ... K6; 6x Schuifschakelaars S1 ... S6; JP2: Jumper van de schakelaars met de ingangen van de microcontroller
Buzzer
Piezo buzzer ‘Buzzer1’ met jumper op JP6
Indicator LED’s
11 x LED: Status indicator voor de ingangen/uitgangen LED L op de Arduino Nano module, aangesloten op GPIO D13 JP6; Aansluiting van LED's LD10 ... LD20 met GPIO's D2 ... D12
Seriële interfacesSPI & I²C
JP4: Selectie van het signaal op pin X van de SPI-connector SV12 SV9 naar SV12: SPI-interface (3,3 V/5 V) of I²C-interface
Uitgangen voor externe apparaten
SV1, SV7: Geschakelde uitgang (maximaal +24 V/160 mA, extern aangesloten) SV2: 2x13 pinnen voor aansluiting van externe modules
3x3 LED matrix(9 rode LED's)
SV3: Kolommen van de 3x3 LED matrix (uitgangen D6 ... D8) JP1: Verbinding van de rijen met de GPIO's D3 ... D5
Software
MCCABLib library
Controle van hardware componenten (schakelaars, knoppen, LED's, 3x3 LED matrix, buzzer) op het MCCAB Training Board
Werktemperatuur
Tot +40 °C
Afmetingen
100 x 100 x 20 mm
Specificaties (Arduino Nano)
Microcontroller
ATmega328P
Architectuur
AVR
Spanning
5 V
Flash memory
32 KB, waarvan 2 KB gebruikt door de bootloader
SRAM
2 KB
Kloksnelheid
16 MHz
Analoge IN Pinnen
8
EEPROM
1 KB
DC stroom per I/O-pin
40 mA op één I/O-pin, totaal maximaal 200 mA op alle pinnen samen
Ingangsspanning
7-12 V
Digitale I/O-pinnen
22 (waarvan 6 PWM)
PWM Uitgangen
6
Stroomverbruik
19 mA
Afmetingen
18 x 45 mm
Gewicht
7 g
Inbegrepen
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).