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
Retro Radio is een praktijkboek voor beginners en uitermate geschikt voor iedereen die wel eens een radio zou willen bouwen en meer wil weten over de radiotechniek. Na een inleiding in de beginselen van de techniek en de radio-ontvangst op de korte golf komen een aantal eenvoudige radio-ontwerpen aan bod. Het gaat om radio’s voor de middengolf en korte golf, waarbij de KG radio’s geschikt zijn voor de ontvangst van Single Side Band signalen.
Het “retro” karakter dankt het boek aan het feit dat de gepubliceerde schakelingen klassiekers zijn uit de analoge radiotechniek. Ze zijn geïnspireerd door schakelingen uit de jaren ’50 en de begintijd van de radiotechniek. De auteur grijpt terug op de radio in zijn meest elementaire vorm. Al het “overbodige” is uit de schakelingen weggelaten. Er wordt gewerkt met spoelen, afstemcondensatoren, keramische filters en spoelfilters. Alle schakelingen zijn gebouwd met gewone transistors en een veldeffecttransistor. Elektronische chips worden niet gebruikt. Overigens is aan de nieuwste ontwikkelingen niet helemaal voorbij gegaan. Er is ook een SDR ontwerp opgenomen.
Een greep uit de schema’s: een kristalradio, verschillende middengolf ontvangers (ook met een radiobuis), een “oer” schema geïnspireerd door de begintijd van de radio, twee korte golf ontvangers met SSB (2-12 MHz en 6-17 MHz) en een ontvanger voor de 80 meter band. Verder is in dit boek bijzonder veel aandacht besteed aan de praktische constructie van de radio’s en zijn er verschillende eenvoudige meetapparaten beschreven die dienst kunnen doen bij het ontwerpen en testen van radio’s (meetzender, absorptiemeter, transistortester e.d.).
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.
Maîtrise de la puce RP2040 avec plus de 60 projets à réaliser et à programmer
Les cartes Raspberry Pi Pico et Pico W sont animées par un microcontrôleur ARM Cortex M0+ RP2040 à double coeur, rapide, efficace et peu coûteux, qui fonctionne jusqu'à 133 MHz et dispose de 264 Ko de SRAM et de 2 Mo de mémoire Flash. Outre une vaste mémoire, le Pico et le Pico W disposent de nombreuses broches GPIO et d'interfaces telles que CA/N, SPI, I²C, UART, MLI, de fonctions de temporisation, d'une interface de débogage matériel et d'un capteur de température interne.
La carte Raspberry Pi Pico W comporte en plus une puce CYW43439 Bluetooth et Wi-Fi d'Infineon. Au moment de la rédaction de ce livre, le micrologiciel Bluetooth pour le Pico W n'était pas encore disponible. Le Wi-Fi à 2,4 GHz est toutefois entièrement pris en charge avec les protocoles 802.11b/g/n.
Ce livre est une introduction à l'utilisation du Raspberry Pi Pico W avec le langage de programmation MicroPython. Les quelque soixante projets testés et opérationnels sont présentés à l'aide de l'environnement de développement intégré (EDI) Thonny. Les sujets abordés sont nombreux :
Installation de MicroPython sur le Raspberry Pi Pico depuis un PC
Interruptions de l'horloge et interruptions externes
Convertisseur analogique-numérique (CA/N)
Capteurs de température interne et externe
Capteurs externes (pression, humidité, pouls, à ultrasons)
Enregistrement de données
MLI, UART, I²C et SPI
Bluetooth, Wi-Fi et applis sur smarphone
Convertisseur numérique-analogique (CN/A)
Tous les projets ont été testés et éprouvés. Ils peuvent être mis en oeuvre sur le Raspberry Pi Pico ainsi que sur le Raspberry Pi Pico W. Toutefois les projets avec une liaison Wi-Fi ne fonctionnent que sur le Pico W. Une petite expérience en programmation et en électronique est nécessaire pour suivre les projets. De brèves descriptions, des schémas fonctionnels, des schémas détaillés du câblage des montages et des listings MicroPython complets sont fournis pour tous les projets.
En moins de 100 lignes de code par projet avec les cartes Feather Sense et Clue Express d'Adafruit
Le langage de programmation Python est apprécié par les pédagogues parce que sa syntaxe le rend facile à comprendre. Il s'est également imposé chez les informaticiens expérimentés. La société Adafruit a développé une version spéciale de Python pour l'embarquer sur les microcontrôleurs à 32 bits : CircuitPython.
Ce livre permettra au lecteur de s'initier à la programmation en CircuitPython sur deux cartes : Feather BlueFruit Sense (également appelée Feather nRF52840 Sense) et CLUE nRF52840 Express. Chacune est animée par le SoC nRF52840 de NORDIC avec une architecture à 32 bits.
Pour ce voyage dans le monde de la programmation embarquée, l'auteur sort du chemin classique, à savoir un cours complet sur la programmation orientée objet appliquée à ce langage. Il préfère emmener le lecteur directement sur le terrain avec des projets qui mettent en oeuvre les cartes et différents périphériques. Plus d'une quarantaine d'exemples et de montages permettent de découvrir la richesse de CircuitPython. Toutefois l'auteur s'est imposé une limite pour ne pas décourager les novices : le code de chaque projet ne dépasse jamais la centaine de lignes. Pour ce qui est du matériel, là aussi la simplicité domine : aucun programmateur, un simple PC suffit ; aucun soudage grâce au câblage sur platine d'essai. Les cartes d'extension FeatherWing à enficher sur la Feather nRF52840 Sense permettent de démultiplier ses fonctions : matrice de LED, enregistreur de données, écran à encre électronique, écran OLED, écran TFT, commande de moteurs, audio, relais…
Toutes les étapes (assemblage des différents composants, installation des bibliothèques requises, programmation, tests…) sont expliquées en détail. Le code des différents exemples et projets est disponible sur Github. Le résultat de chaque projet est même présenté sur de courtes vidéos disponibles sur YouTube.
À la fin de sa lecture, le nouveau Pythonien pourra facilement approfondir les notions abordées et donner vie à ses propres projets grâce aux outils qu'il aura essayés.
Ce livre s'adresse aux lycéens et étudiants ainsi qu'à toute la communauté des makers.
Chaîne YouTube de l'auteur :
YouTube (Michaël Bottin)
Im vorliegenden Buch wird das weltweit verbreitete 0G-Netzwerk Sigfox zunächst detailliert vorgestellt. Danach wird auf der Basis eines leistungsfähigen Arduino-Sigfox-Boards eine universelle Sigfox-Test-, Mess- und Simulations-Plattform hardwaremäßig entwickelt und softwaremäßig betrieben. Diese Sigfox-Feldstation stellt dem Anwender eine Vielzahl von Möglichkeiten zur Verfügung: Sensoren, Aktoren und Displays inkl. GPS-Modul und Solargenerator.
Alle Schaltungsteile (inkl. den 3D-Plott-Vorlagen für ein passendes Stationsgehäuse) und sämtlichen Softwaremodule werden offen gelegt, so dass der Leser damit weitere Sigfox-Feldstationen nach seinen eigenen Vorstellungen und Bedürfnissen entwickeln und problemlos einsetzen kann.
Die Visualisierung, Auswertung und Speicherung der erfassten Felddaten wird anhand eines Freeware Dashboard Programms, mit Schnittstelle zu Google Maps, ausführlich beschrieben.
Themenauswahl:
Industrie 4.0, Internet of Things, 0G-Netzwerke
Das Sigfox-Netzwerk: Übertragungstechnik, Uplink/Downlink, das Monarch-Konzept, Geolokalisierung, Sigfox-Atlas-Konzept
Das Sigfox-Backend, die Callbacks und die REST-API
Aufbau der universellen Sigfox-Test-, Mess- und Simulations-Plattform auf der Basis des Arduino-Sigfox-Moduls MKR FOX1200
Die grundlegende Betriebssoftware für alle Komponenten
Die Arduino-Sigfox-Bibliothek und der Sigfox-Betrieb – Anmeldung bei der Sigfox-Cloud, Aussendung von Mess- und Zustandswerten
Die Sigfox-Callbacks – Der Datentransfer von der Sigfox-Cloud zum Anwender: E-Mails, Mess- und Zustandswerte, GeoLoc-Daten
Die individuelle Gestaltung von Anwender-Dashboards
Hardwareerweiterungen: HMI-Display, Thermoelementverstärker, Multichannel-Gassensor, Feinstaubsensor, GPS-Modul und vieles mehr
Kommerzielle Sigfox-Stationen
Der ESP8266 ist ein programmierbares WLAN-Funkmodul mit zahlreichen Schnittstellen wie UART, I²C und SPI. Das Board ist sehr preiswert und bereits für unter 3 Euro verfügbar. Die UART-Schnittstelle sorgt dabei für eine einfache Integration in Mikrocontrollerprojekte. Das ESP8266-Modul kann hervorragend mit dem Arduino zusammenarbeiten und ermöglicht ihm über die serielle Schnittstelle den Zugang zum Netzwerk und Internet. Es existiert eine Implementierung des ESP8266-Moduls in die Arduino-Entwicklungsumgebung. Aber auch als Standalone-Modul kann das ESP8266 eigenständig Programme abarbeiten und mit dem Internet kommunizieren, da es über einen eigenen Mikroprozessor und Speicher auf dem Board verfügt.Mittlerweile existiert auch das Entwickler-Board NodeMCU, auf dem der ESP8266-Chip mit einem USB/Seriell-Adapter versehen wurde. Mit den integrierten Sockelleisten ist ein direkter Einsatz auf üblichen Breadboards möglich. Über den USB-Anschluss wird das Board mit Strom versorgt und kann über eine Software direkt angesprochen werden. Auch das NodeMCU-Board ist sehr preiswert und bereits für unter 5 Euro zu haben.Der Bestseller-Autor Erik Bartmann hat sich ausführlich mit dem ESP8266 und dem NodeMCU beschäftigt. Heraus gekommen ist dabei Das ESP8266-Praxisbuch, in dem er die Leser Schritt für Schritt in die Arbeit mit diesen neuen, preiswerten Bauteilen einführt, mögliche technische Stolpersteine ausführlich behandelt und in zahlreichen Projekten die Praxistauglichkeit – angefangen bei einem selbst gebauten Webserver bis hin zu klugen Relay-Ansteuerung – belegt.
Auch heute noch klingen Röhrenverstärker zweifellos phantastisch, möglicherweise sogar noch faszinierender als in früheren Zeiten. Gegenwärtig verfügen wir über moderne Bauteile und Materialien, wie z. B. Ringkern-Ausgangsübertrager, ausgesprochen hochwertige Widerstände, Kondensatoren und allerlei, die Übertragungseigenschaften nicht beeinflussende Drahtsorten. Hinzu kommen hochqualitative Tonträger wie CD-Spieler und ebenso hochwertige Lautsprecher, die die überragenden klanglichen Eigenschaften von Röhrenverstärkern erst richtig zur Geltung kommen lassen.
Das vorliegende Buch behandelt zwar auch die Theorie, mehr jedoch richtet sich die Aufmerksamkeit auf die Entwurfsphase dieser Verstärker, innerhalb derer die projektierten Eigenschaften und gestellten Anforderungen formuliert werden müssen. In welchem Zusammenhang stehen subjektive und objektive Kriterien? Welche Schaltungsvarianten entwickeln überzeugende klangliche Eigenschaften und warum? Welche Probleme sind zu lösen, wenn man einen Röhrenverstärker entwickeln und diesen käuflich vertreiben möchte? Was genau sagen uns messtechnische Analysen eines Gerätes und wie sind die gewonnenen Ergebnisse zu interpretieren, welche Aussagekraft besitzen sie? Aufgrund der überwältigenden Rechengeschwindigkeit moderner Computer sind wir in der Lage, ausgesprochen präzise Messungen mit vergleichsweise geringem Aufwand innerhalb kürzester Zeit durchzuführen. Aber: Wie lassen sich diese Möglichkeiten sinnvoll auf Röhrenverstärker anwenden? Bislang war die messtechnische Erfassung des Frequenzganges, der Ausgangsleistung und des Klirrverhaltens eines Verstärkers ausreichend, um sich ein hinreichend aussagekräftiges Bild von dessen Übertragungseigenschaften zu verschaffen. Es muss aber die Frage gestellt werden, ob die Erfassung solcher Messwerte tatsächlich genügt zu ermitteln, wie unser Ohr die reproduzierten Klangereignisse wahrnimmt, oder ob wir nicht besser mit realen musikalischen, dynamischen Signalen anstelle von statischen Messfrequenzen arbeiten sollten. Der Autor entwirft in diesem Buch Kriterien für zukünftige Messverfahren, die die Eigenschaften unseres Gehörs mit berücksichtigen und die damit zu neuen Einsichten und Erkenntnissen führen.
Dieses Buch schildert die Zusammenhänge überwiegend praxisorientiert und vermittelt eine neue Perspektive, gewissermaßen einen von außen gerichteten Blick auf den Röhrenverstärker. Dabei wird bereits Bekanntes mit einbezogen und in anschaulicher Weise in neue Zusammenhänge integriert.
Der Autor zeigt in diesem Buch alle wichtigen Aspekte der Mikrocontroller-Programmierung, ohne den Leser mit unnötigen oder nebensächlichen Informationen zu überladen. Am Ende der Lektüre ist der Leser in der Lage, 8-Bit-Mikrocontroller zu verstehen und zu programmieren.
Die Einführung in die Mikrocontroller-Programmierung dekliniert der Autor an Mikrocontrollern aus der PIC-Familie durch. Der PIC mit seinem 8-Bit-Design ist nicht auf dem modernsten technischen Stand, aber dafür einfach zu verstehen. Er wird in einem DIP-Gehäuse angeboten, ist überall erhältlich und nicht besonders komplex. Das gesamte Datenblatt des PICs ist um Dekaden kürzer als die Architekturbeschreibung, die den Prozessor eines fortgeschrittenen Mikrocontrollers beschreibt. Die Einfachheit hat ihre Vorteile. Wer versteht, wie ein Mikrocontroller grundlegend funktioniert, kann sich später in fortgeschrittene Softcores einarbeiten.
Steht im ersten Teil des Buches Assembler als ausführende Programmiersprache im Vordergrund, so geht der Autor im zweiten Teil seines Buches vertiefend auf C ein. Quasi nebenbei entführt das Buch den Leser in die Tiefen der praktischen Arbeit mit Mikrocontrollern, erklärt interessante Messtechnik und zeigt Möglichkeiten zur Arbeitserleichterung und Fehlersuche.
De schrijver laat niet alleen beginners maar ook gevorderden op professionele wijze en met verstand van zaken kennismaken met dit uiterst interessant onderwerp. Ook hobbyisten of professionals die hun kennis willen verdiepen of uitbreiden, krijgen daartoe in dit boek volop mogelijkheid. De moderne state-of-the-art AVR-processoren van Atmel vormen in combinatie met programmering in C een platform dat gedurende lange tijd actueel zal blijven.
Na een inleiding en een kennismaking met de vereiste ontwikkelomgeving komen projecten aan bod die stap voor stap naar het gewenste doel leiden. Voor de meeste projecten wordt het Mini-Megaboard gebruikt – een experimenteerprint die oorspronkelijk in het maandblad Elektor is beschreven. Dit garandeert dat de beschreven projecten probleemloos kunnen worden nagebouwd. Maar natuurlijk kunnen ook eigen experimenteerprinten worden gebruikt – een van de doelstellingen van dit boek is immers dat de lezer uiteindelijk zelfstandig eigen schakelingen kan ontwerpen en bouwen.
Een greep uit de inhoud:
De juiste microcontroller
De ontwikkelomgeving
De eerste experimenten met de ?C
Het Mini-Mega-board
Beginselen van I/O
Vloeibaar-kristal-displays
Seriële data-overdracht
Analoge in- en uitvoer
Programmasturing met interrupts
Timers en counters
Geheugenoperaties
De seriële I²C-bus en SPI
Voorbeeldprojecten
Hochleistungsfähiges LoRa-Kommunikationsgerät
Das Elecrow ThinkNode M5 ist ein kompaktes, tragbares LoRa-Kommunikationsgerät, das für netzunabhängige Nachrichtenübermittlung, Standortfreigabe und den Außeneinsatz konzipiert wurde. Ausgestattet mit einem ESP32-S3-Prozessor und einem SX1262-LoRa-Chip, wird es mit vorinstallierter Meshtastic-Firmware geliefert und lässt sich bequem per Bluetooth über die offizielle Meshtastic-App konfigurieren.
Das integrierte Multi-GNSS-Modul unterstützt GPS, GLONASS, BeiDou und QZSS für eine zuverlässige Positionsbestimmung und Standortfreigabe. Nachrichten und Geräteinformationen werden auf dem energieeffizienten 1,54-Zoll-E-Paper-Display angezeigt, während der integrierte 1.200-mAh-Akku einen langen mobilen Betrieb ermöglicht.
Dank der integrierten LoRa-Antenne, des kompakten Gehäuses, der Echtzeituhr (RTC) und der Unterstützung für Meshtastic- sowie MeshCore-Firmware ist das ThinkNode M5 eine praktische Kommunikationslösung für Wandern, Camping, abgelegene Gebiete und Notfallsituationen, in denen keine herkömmlichen Mobilfunknetze verfügbar sind.
Features
LoRa-Kommunikation
Multi-GNSS-Positionsbestimmung
1.200-mAh-Akku
1,54" E-Paper-Display
Integrierte RTC
Kompatibel mit MeshCore
Kompatibel mit Meshtastic
Technische Daten
Hauptprozessor (ESP32-S3)
CPU/SoC
Xtensa 32-Bit-LX7-Dual-Core-Prozessor, getaktet mit bis zu 240 MHz
Systemspeicher
512 KB SRAM, 8 MB PSRAM
Speicher
4 MB Flash, 384 KB ROM
Firmware
Meshtastic-Firmware ist voll kompatibel; Signalübertragung im LoRa-Modus
EPD (Electronic Paper Display)
Displaygröße
1,54-Zoll-EPD (monochromer E-Ink-Bildschirm)
Displaymaterial
E-Ink (Electronic Ink)
Auflösung
200 x 200
Treiber-Chip
SSD1681 (über SPI- oder I²C-Schnittstelle)
Zeit für vollständige Aktualisierung
2 s
Drahtlose Kommunikation
Bluetooth
Bluetooth Low Energy und Bluetooth 5.0 (Konfiguration per Smartphone)
LoRa
SX1262 LoRa-Modul, EU 868 MHz (externe Antenne)
Hardware
Schnittstellen
USB-C, RP-SMA
Funktionen
GPS-Ortung (GPS, GLONASS, BeiDou, QZSS), EPD-Display, RTC, USB 2.0, PMU-Energiemanagement (integrierter 1200-mAh-Lithium-Akku), Summer usw.
Tasten
Drehschalter, Funktionstaste, Blättertaste, GPS-Schalter, Reset-Taste
LED-Anzeige
Stromversorgung, GPS/LoRa-Anzeige
Sonstiges
Spannungsversorgung
5 V/1 A; unterstützt Stromversorgung über USB oder Lithium-Akku
Stromverbrauch
Maximaler Betriebsstrom ca. 340 mA (CPU + LoRa-Modul); Stromverbrauch im Energiesparmodus ca. 34 µA
Betriebstemperatur
-10 bis 50°C
Lagertemperatur
-20 bis 60°C
Relative Luftfeuchtigkeit
10–95% bei 40°C (nicht kondensierend)
Gehäuse
ABS-Kunststoff
Abmessungen
82 x 51,6 x 26,3 mm
Gewicht
81 g
Lieferumfang
1x Elecrow ThinkNode M5
1x LoRa-Antenne
1x USB-C Kabel
1x Manual
Downloads
Manual
Autor Robert Lacoste, ein hochrangiger Elektronikingenieur, hat für professionelle Elektronik-Zeitschriften eine Serie von Grundlagenartikeln geschrieben, die hier in einem Buch zusammengefasst sind. Wichtige Themen wie Taktgeber, Filter, analoge Signalverarbeitung, digitale Kommunikation und viele weitere werden verständlich erklärt. Der Autor zeigt Ihnen dabei, wie Sie die Thematik besser verstehen und Ihr Wissen erweitern können, ohne mathematischen Ballast. Mit einfachen Worten erklärt der Autor, wie es funktioniert, und warum es manchmal nicht so funktioniert, wie man es will. Damit stoßen Sie nicht nur an Ihre eigenen Grenzen, sondern wissen auch, wo die Grenzen der von Ihnen verwendeten Geräte liegen. So wird es Ihnen ermöglicht, den tatsächlichen technischen Fortschritt von rein kommerziellen Aussagen zu trennen. Woher kommt die Empfindlichkeit eines Funkwellenempfängers? Warum läuft das Herunterladen eines Videos auf ein Handy auf dem Land viel langsamer ab als in der Innenstadt? Wenn für Sie die technischen Antworten auf Fragen wie diese nicht offensichtlich sind, wird Ihnen dieses Buch helfen, die Dinge klarer zu sehen.