19,99 €
Vielen ist mit Arduino der Einstieg in die Mikrocontrollertechnik gelungen - dieses Buch richtet sich an alle, die "Hello World" hinter sich haben und in die Mikrocontroller-Programmierung mit C einsteigen möchten. Aber auch wer schon mit einem AVR gearbeitet hat, findet hier viele interessante Anregungen - die Programme sind universell geschrieben und laufen z.B. auch auf einem ATmega8. Neue Probleme lösen Powerprojekte bestehen in der Regel aus kleinen Komponenten. Daher werden viele kleine Problemlösungen definiert, erläutert und vollständig in C gelöst. Diese Komponenten kann der Anwender später in eigene Programme einbauen und anpassen. Schluss mit dem frustrierenden Ausprobieren von Code-Schnipseln! Endlich ist systematisches Programmieren möglich. Hardware für jeden Fall und spannende Projekte Die im Buch vorgestellte Hardware wurde so ausgewählt und entworfen, dass der Arbeitsaufwand bei einem Nachbau minimal ist. Zu allen Bauelementen und Komponenten finden sich auch die Bezugsquellen. Mit Hilfe der in diesem Buch beschriebenen Beispiele lassen sich auch innovative Lösungen für eigene Projekte entwickeln. Aus dem Buch "Powerprojekte mit Arduino und C" Inhalt: *C-Perfektionskurs *Timer im Normal-, CTC- und PWM-Modus *Endlicher Automat *Serielle Schnittstelle mit printf und scanf im Atmel-Studio *Entprellen von Kontakten mit einem Interruptprogramm *Flankenauswertung *Siebensegmentanzeige im Multiplexbetrieb *Siebensegmentanzeige über Schieberegister ansteuern *12 LEDs mit nur 4 Leitungen ansteuern: Tetraederschaltung *12 Tasten mit 4 Portleitungen einlesen *Matrixfeld mit 4x4 Tasten einlesen *Einlesen eines Drehgebers *Sourcecode eines Terminalprogramms in C# und LabVIEW *Schrittmotorsteuerung - auch mit Mikroschritt *Distanzmessung mit einem Ultraschallsensor *Schwebende Kugel
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Standardisierte Hardware hat dem PC zu seinem Erfolg verholfen. In der Mikrocontrollertechnik ist dem Arduino ein vergleichbarer Erfolg gelungen. Mit aufsteckbarer Hardware, die als Shield bezeichnet wird, stehen Schaltungen wie Motorbrücken oder EKG, Ethernet oder XBEE-Karten und vieles mehr zur Verfügung. Da ist es naheliegend, diese Hardware auch in C zu programmieren. Aus diesem Blickwinkel ist dieses Buch geschrieben. Es wendet sich an Mikroelektroniker, die bereits »Hello world« hinter sich haben und auch mit einem Steckbrett umgehen können. Es wird gezeigt, dass nicht nur der Arduino infrage kommt, sondern auch mit älteren Prozessoren wie dem ATmega8 und mit verschiedensten Programmiergeräten gearbeitet werden kann. Geordnet nach Preisklassen, wird die Hardware vorgestellt.
Wer Mikrocontroller in C programmieren will, findet in diesem Buch einen entsprechenden Kurs, bei dem zumindest einfache C-Kenntnisse vorausgesetzt werden. Inhalt ist die Grundlage für die Programmierung von Mikroprozessoren.
Auch die serielle Schnittstelle wird besprochen. Die Programme sind so geschrieben, dass sie für den ATmega8 und ATmega328P verwendet werden können. In Kapitel 6.3 wird die Standardein- und -ausgabe, wie scanf und printf, festgelegt. Die Methoden, um die serielle Schnittstelle mit dem Atmel Studio anzusprechen, werden in den Projekten angewandt.
Programmentwicklung mit Zustandsdiagrammen und Automatentabellen wird ebenfalls behandelt. Die damit gelösten Probleme sind vollständig in C-Programme umgesetzt. Lesern, die Zustandsdiagramme noch nicht in der Praxis eingesetzt haben, sei dieser Abschnitt besonders ans Herz gelegt.
Zur Behandlung abgeschlossener und vollständig gelöster Probleme werden Physik, Elektronik, Regelungstechnik und Programmierung besprochen. Die Projektbeschreibungen beschränken sich nicht auf eine Anleitung, um die Projekte nachbauen zu können, sondern behandeln auch die wesentlichen theoretischen Grundlagen zur Problemlösung. Nach der Lektüre dieses Buchs wird der Leser dank der diskutierten Grundlagen neue Probleme lösen können.
Weitere Informationen zu diesem Buch finden Sie im Internet unter www.avr-ploetzeneder.com.
1Zahlendarstellung
1.1Zehner- oder Dezimalsystem
1.2Binärsystem
1.2.1Positive Binärzahlen
1.2.2Positive und negative Zahlen im Binärsystem
1.2.3Rechnen im Binärsystem
1.3Oktalsystem
1.4Hexadezimalsystem
2Hardware
2.1Richtlinien zur Auswahl der Hardware
2.2Hardware-Auswahl bei einer Investition von 100 Euro
2.2.1STK500
2.2.2Dragon mit Arduino
2.3Hardware-Auswahl bei einer Investition von 50 Euro
2.3.1STK500-kompatibler Programmieradapter mit Arduino
2.4Hardware-Auswahl bei einer Investition von deutlich unter 50 Euro
2.4.1Arduino mit Bootloader
2.5Alternative Entwicklungs-Boards
2.6Alternative Programmiergeräte
2.7Empfehlung
3Softwaretools zur Programmierung
3.1Entwicklungsumgebung
3.2Blinklicht mit dem Atmel Studio 6
3.3Blinklicht mit CodeVisionAVR
4Perfektionskurs in C
4.1Variablen und Konstanten
4.1.1Character
4.1.2Integer
4.1.3Long
4.1.4Float und Double
4.2Entscheidungsstrukturen
4.2.1If
4.2.2If-else
4.2.3If-else-Kette
4.2.4Kurzform für die Kontrollstruktur mit ternärem Operator
4.2.5Switch
4.3Modulooperator
4.3.1Zerlegen einer Zahl in Einer- und Zehnerstelle
4.3.2Umwandlung einer dreistelligen Zahl in einen String
4.3.3Modulo in einer Schleife mit dem Schleifenindex
4.4Bitweiser Zugriff auf ein Byte
4.4.1Setzen von Bits mit dem Oder-Operator
4.4.2Löschen von Bits mit dem Und-Operator
4.4.3Toggeln von Bits mit dem Exklusiv-Oder-Operator
4.5Unterprogramme
4.5.1Definition, Deklaration und externe Vereinbarung
4.6Zeiger
4.6.1Zeiger auf Integer
4.7Schleifen
4.7.1For-Schleife
4.7.2While-Schleife
4.7.3Do-while-Schleife
4.7.4Schleifen aussetzen
4.8String
4.8.1Aufbau von Strings
4.8.2String-Funktionen mit Format-String
4.9Ausgabe mit Formatangabe
4.10Eingabe mit Formatangabe
4.11Arrays und Zeiger
4.11.1Zeiger und Adressen
4.11.2Funktion String-Länge mit Zeiger
4.11.3Funktion strlen() mit Zeigerarithmetik
4.11.4Zeichenketten und Character-Zeiger
4.11.5Array von Zeigern
5Die serielle Schnittstelle
5.1Die serielle Schnittstelle am PC
5.2Elektrisches Signal der seriellen Schnittstelle
5.3Verdrahtung der RS-232-Schnittstelle
5.4Verfügbares Terminal-Programm
5.4.1Hyperterminal
5.4.2HTerm
5.4.3Terminal der Entwicklungsumgebung CodeVisionAVR
5.5Terminal-Programme im Sourcecode
5.5.1Terminal-Programm mit LabVIEW
5.5.2Terminal-Programm mit C#
5.6Terminal-Programm testen
6Programmierung der seriellen Schnittstelle des AVR
6.1Programmierung mit CodeVisionAVR
6.2Programmierung im Atmel Studio
6.3Programmierung der seriellen Schnittstelle mit formatierter Ein- und Ausgabe
6.4Interruptgesteuerte Programmierung mit verfügbarer Bibliothek
7Grundfunktionen der Timer
7.1Timerinterrupt mit CodeVisionAVR
7.2Timerinterrupt mit Atmel Studio
7.3CTC-Modus des Timers ohne Interrupt
7.4CTC-Modus des Timers mit Interrupt
7.5Pulsweitenmodulation (PWM) mit Timer 1
7.5.1Ein PWM-Signal mit Timer 1 erzeugen
7.5.2PWM-Signal erzeugen und Interrupt auflösen
7.5.3Gleichzeitig zwei PWM-Signale mit dem Timer 1 erzeugen
8Digitale Ein- und Ausgabe ohne externe integrierte Schaltkreise (ICs)
8.1Einlesen von digitalen Signalen
8.1.1Direktes Einlesen eines einzelnen digitalen Signals
8.1.2Einlesen eines Tasters
8.1.3Taster einlesen und entprellen mit nachfolgender Auswertung einer Flanke
8.1.4Einlesen einer 4x4-Tastatur
8.1.5Einlesen einer 3x4-Tastatur mit Diodenlogik
8.2Ausgabe digitaler Signale
8.2.1Ansteuerung einer einzelnen Siebensegmentanzeige
8.2.2Ansteuerung von zwei Siebensegmentanzeigen nach dem Multiplexprinzip
8.2.3Ansteuerung eines Siebensegmentdisplays mit 2½ Stellen nach dem Multiplexprinzip
8.2.4Ansteuerung von Leuchtdiode mit möglichst wenigen Leitungen
9Ein- und Ausgabe mit ICs zur Verminderung der Port-Leitungen
9.1Tastatur mit Demultiplexer und Prioritätsencoder
9.2Siebensegmentanzeige mit Schieberegister
10Endlicher Automat
10.1Allgemeine Einführung
10.2Vor-Rück-Zähler mit endlichen Automaten und Zustandsdiagramm
10.3Codeschloss
10.4Entprellen von Kontakten
10.5Auswertung von Schaltflanken
10.6Auswertung eines Inkrementalgebers (Drehgeber)
11Schrittmotor
11.1Allgemeine Informationen
11.2Prinzipielle Arbeitsweise
11.3Aufbau und Ansteuerung von Elektromagneten
11.4Endstufe für bipolare und unipolare Schrittmotoren
11.5Wicklungsarten
11.6Programme zur Ansteuerung
11.6.1Einfaches Programm
11.6.2Schrittmotoransteuerung im Interrupt
11.6.3Schrittmotoransteuerung über die RS-232-Schnittstelle
11.7Mikroschrittansteuerung
12Distanzmessungen mit Ultraschallsensoren
12.1Funktionsweise
12.2Ultraschallsensor SRF02
12.3Ultraschall-Eigenbausensor
13Transistorkennlinie aufnehmen und grafisch darstellen
13.1Arbeitsweise des Kennlinienschreibers
13.2Darstellung der Daten in Excel
13.3Darstellung der Daten mit einem grafischen LCD
14Schwebende Kugel
14.1Prinzip und Versuchsaufbau
14.2Regelungstechnisches Modell
14.3Schaltplan
14.4Programm für die schwebende Kugel
14.5Aufbau und Inbetriebnahme
15EKG
15.1Grundlegendes zum Elektrokardiogramm
15.2Sicherheitshinweis
15.3Einfache EKG-Schaltung
15.4EKG-Shield von Olimex
15.5Darstellung der Daten in Excel
15.6Darstellung der Daten in einem grafischen LC-Display
Anhang
Stichwortverzeichnis
Beim Auswählen einer optimalen Hardware sind der finanzielle Rahmen und das Ziel der Anwendung zu berücksichtigen. Nachfolgend wird davon ausgegangen, dass ein Anfänger mit AVRs selbstständig kleine Projekte realisieren will. Die folgenden Vorschläge sind nach dem Investitionsaufwand geordnet. Die Einteilung nach Investitionskosten sollte nicht mit dem Nutzen gleichgesetzt werden.
Dieses Board ist von Atmel. Auf der PC-Seite gibt es dazu eine gute Software-Unterstützung. Alle Funktionen des STK500 können mit dem Atmel Studio angesprochen werden. Auch in CodeVison werden die Funktionen des STK500 gut unterstützt.
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!