JOY-IT ARD MEGA2560 KIT Instructions

MEGA2560
Mikrocontroller Lernset
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
ME
1. INHALTSVERZEICHNIS
2. Allgemeine Informationen
3. Sowareinstallation
4. Widerstände
5. Lektionen
1. Lektion : Hallo Welt
2. Lektion : Blinkende LED
3. Lektion : PWM Lichtkontrolle
4. Lektion : Ampellichter
5. Lektion : LED Jagd-Eekt
6. Lektion : Tastengesteuerte LED
7. Lektion : Responder Experiment
8. Lektion : Aktiver Summer
9. Lektion : Passiver Summer
10. Lektion : Analogwert auslesen
11. Lektion : Fotowiderstand
12. Lektion : Flammensensor
13. Lektion : Tilt-Sensor
14. Lektion : 1-Zier LED Segment Anzeige
15. Lektion : 4-Ziern LED Segment Anzeige
16. Lektion : LM35 Temperatursensor
17. Lektion : 74HC595 Schieberegister
18. Lektion : RGB LED
19. Lektion : Infrarot Fernbedienung
20. Lektion : 8x8 LED Matrix
6. Sonstige Informationen
7. Support
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
1. ALLGEMEINE INFORMATIONEN
Sehr geehrter Kunde,
vielen Dank, dass Sie sich für unser Produkt entschieden haben. Im Folgenden zeigen wir Ihnen, was bei der Inbetriebnahme und der Verwendung zu beachten ist.
Sollten Sie während der Verwendung unerwartet auf Probleme stoßen, so können Sie uns selbstverständlich gerne kontaktieren.
Technische Daten
Unser Board ist ein hochwertiger Nachbau und kompatibel mit dem Arduino Mega 2560. Es handelt sich aber ausdrücklich nicht um einen originalen Arduino. Das Mega 2560 ist das richtige Mikrocontrollerboard für die, die schnell und unkompliziert in die Programmierwelt einsteigen wollen. Dieses Set
führt Sie durch eine Vielzahl von Projekten. Sein ATMega2560-
Mikrocontroller bietet Ihnen genügend Leistung für Ihre Ideen und Projekte. Er ist 101,52 x 53,3 mm groß und besitzt mit 54 digitalen Ein- und Ausgängen und 16 analogen Eingängen, viele Verbindungsmög­lichkeiten.
Model ard_Mega2560R3
Mikrocontroller ATMega2560
Eingangsspannung 7 - 12 V
Maximale Eingangsspannung 6 - 20 V
Digitale IO 54 (14 mit PWM)
Analoge IO 16
DC Strom IO 40 mA
DC Strom 3,3 V 50 mA
Speicher 256 kB (8 kB für Bootloader)
SRAM 8 kB
EEPROM 4 kB
Clock Speed 16 MHz
Abmessungen 101,52 x 53,3 mm
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Anschlussbelegung
Spannungsregler
USB-B-Port
ICSP für USB
AREF
GND
PWM Schnittstelle
TXO
RXO
Kommunikations­schnittstelle
Digitale
I/O Pins
Analoge Eingänge
Energieversorgung
Reset
IOREF
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
3. SOFTWAREINSTALLATION
Damit man mit der Programmierung des Joy-IT ard_Mega2560R3 begin-
nen kann, muss vorab auf dem Computer, der für das Programmieren verwendet wird, eine Entwicklungsumgebung, sowie die Treiber für das zugehörige Betriebssystem, installiert werden.
Als Entwicklungsumgebung bietet sich die Arduino DIE an (welche Sie
hier zum Download finden), die von dem Arduino Hersteller als
OpenSource Soware unter der GPLv2 veröentlicht wurde, die sich vom Konzept und Aufbau an Einsteiger richtet. Diese ist vollständig kompatibel zum Joy-IT ard_Mega2560R3 und bein­haltet neben der Programmierumgebung auch die benötigten Treiber, um direkt loslegen zu können.
Nach der Installation der Soware, muss das entsprechende Mikrocon­trollerboard in der Programmierumgebung eingerichtet werden. Hierzu
befolgen Sie die folgenden zwei Schritte:
1. Unter
Werkzeuge → Board
muss
Arduino/Genuino Mega or Mega
2560
ausgewählt sein.
2. Unter
Werkzeuge → Port
wählen Sie dann den Port aus, der mit
Arduino/Genuino Mega or Mega 2560
gekennzeichnet ist.
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
4. WIDERSTÄNDE
In diesem Set befinden sich drei verschiedene Widerstände 220 Ω, 1 kΩ
und 10 kΩ. Auf Widerständen befindet sich eine Farbcodierung mit welcher man den Widerstand berechnen oder erkennen kann, wenn man diesen nicht mittels eines Multimeters nachmessen kann. In diesem Kapitel lernen Sie wie Sie dies Widerstände berechnen können um die folgenden Lektionen besser durchführen zu können, denn Sie müssen die verschiedenen Widerstände identifizieren können um die Auf­bauten korrekt nachzubauen.
Zunächst muss man die Anzahl der Ringe auf den Widerstand erfassen, denn Widerstände können vier oder fünf Ringe besitzen. In diesem Set besitzen die Widerstände 5 Ringe, wodurch der Widerstandswert genauer angegeben ist als bei 4 Ringen. Nun muss festgestellt werden, welcher Ring der erste ist. Dieser lässt sich dadurch erkennen, dass dieser weiter weg vom Körperende ist.
Man kann nun den Widerstandswert mittels einer Formel berechnen. Bei
5 Ringen dienen die ersten 3 Ringe als Widerstandszähler und der vierte als Multiplikator, was den gesamten Widerstandswert berechnet. Der füne Ring ist dabei der Toleranzring, welcher die Abweichung des Widerstandswerts angibt. Bei vier Ringen fällt der dritte Ring weg als Widerstandszähler und dient dann als Multiplikator. Der vierte Ring ist dann als folge der Toleranzring.
Die Ringe besitzen einen bestimmten Farbcode, wo jede Farbe einen bestimmten Wert besitzt. Im folgenden sehen Sie die Farbtabelle bei 5 Ringen:
1. Ring 2.Ring 3. Ring 4. Ring
(Multiplikator)
5. Ring
(Toleranz)
Ringfarbe
Schwarz 0 0 0 - -
Braun 1 1 1 x 10 1 %
Rot 2 2 2 x 100 2%
Orange 3 3 3 x 1.000 -
Gelb 4 4 4 x 10.000 -
Grün 5 5 5 x 100.000 0,5 %
Blau 6 6 6 x 1.000.000 0,25 %
Violett 7 7 7 x 10.000.000 0,1 %
Grau 8 8 8 - -
Weiß 9 9 9 - -
Gold - - - x 0,1 5 %
Silber - - - x 0,01 10 %
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Betrachten wir nun unsere Widerstände lassen sich diese schnell berechnen. Beginnen wir mit dem 220 Ω Widerstand.
1. Ring: Rot : 2
2. Ring: Rot : 2
3. Ring: Schwarz : 0
4. Ring (Multiplikator): Schwarz : -
5. Ring (Toleranz): Braun : 1 %
Durch die Widerstandszähler ergibt sich die Zahl 220. Dadurch das der Multiplikator keinen Wert besitzt, kann der Widerstand auf 220 Ω be­stimmt werden mit einer Toleranz von 1 %, welcher dieser Widerstand abweichen kann.
1. Ring:
Braun : 1
2. Ring: Schwarz : 0
3. Ring: Schwarz : 0
4. Ring (Multiplikator): Braun : x 10
5. Ring (Toleranz): Braun : 1 %
Die ersten drei Ringe ergeben den ersten Wert von 100, welcher mittels dem Multiplikator (x 10) auf den Widerstandswert von 1000 Ω berechnet wird. Dies kann auch in 1 kΩ umgerechnet werden. Also besitzt dieser Widerstand einen Widerstandswert von 1 kΩ mit einer Toleranz von 1 %.
1. Ring: Braun : 1
2. Ring: Schwarz : 0
3. Ring: Schwarz : 0
4. Ring (Multiplikator): Rot : x 100
5. Ring (Toleranz): Braun : 1 %
Die ersten drei Ringe ergeben wieder den ersten Wert von 100. Mittels dem Multiplikator von x 100 ergibt sich der Widerstandswert von 10.000 Ω, welcher sich in 10 kΩ umrechnen lässt. Auch dieser Widerstand hat wieder eine Toleranz von 1 %.
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
5. LEKTIONEN
Lektion 1 : Hallo Welt
Wir beginnen mit etwas simplem. Für dieses Projekt benötigt man nur die Platine und ein USB Kabel, um die Lektion zu starten. Dies ist ein Kommunikationstest für deinen Mega2560 und deinen PC, sowie ein grundlegendes Projekt für Ihren ersten Versuch in der Arduino Welt!
Nachdem die Installation der Treiber abgeschlossen ist, lass uns die Arduino Soware önen und einen Code verfassen, welcher es dem Mega2560 ermöglicht
Hallo Welt!
unter deiner Anweisung anzuzeigen. Natürlich kannst du auch einen Code verfassen, welcher den Mega2560 ohne Anweisung wiederholt
Hallo Welt!
ausgeben lässt. Ein simple if()-Anweisung wird dies übernehmen. Wir können die LED an Pin 13 anweisen, erst zu blinken und anschließend
Hallo Welt!
anzuzeigen,
nachdem der Arduino den Befehl dazu bekommt.
int val; // Definiert die variable Val int ledpin=13; // Definiert digitales Interface 13
void setup() {
Serial.begin(9600); // Setzt die Baudrate auf 9600 um der Konfiguration der Software zu
//entsprechen. Wenn es mit einem bestimmten Gerät verbunden ist,
//muss die Baudrate übereinstimmen.
pinMode(ledpin,OUTPUT);
// Bestimmt den Digital Pin 13 als Ausgang. Wenn I/O Ports an
// einem Arduino verwendet werden, wird diese Konfiguration immer // benötigt.
}
void loop() {
val=Serial.read(); // Liest die Anleitung oder Char-Symbole
// vom PC zum Arduino und ordne sie Valzu.
if(val=='R') {
// Bestimmt ob die Anweisung oder der erhaltene Buchstabe Rist.
// Falls es Rist,
digitalWrite(ledpin,HIGH); // Schaltet die LED am Digital Pin 13 ein.
delay(500);
digitalWrite(ledpin,LOW); // Schaltet die LED am Digital Pin 13 aus.
delay(500);
Serial.println("Hello World!"); // Zeigt Hallo Welt!an.
} }
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Klicken Sie auf den seriellen Monitor und füge R , dann wird die LED auf dem Board aufleuchten und Ihr PC wird die Information
Hallo Welt!
vom
Arduino erhalten.
Lektion 2: Blinkende LED
In dem Hallo Welt! Programm sind wir der LED bereits begegnet. Diesmal werden wir eine LED mit einem der digitalen Pins verbinden. Es werden die folgenden Teile benötigt:
Mega2560 Platine
1x
USB-Kabel
1x
Rote M5 LED
1x
220 Ω Widerstand
1x
Breadboard
1x
Überbrückungskabel
2x
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Wir folgen dem folgendem Schaltplan. Hier benutzen wir den digitalen Pin 10. Wir verbinden die LED mit einem 220 Ω Widerstand um
Beschädigungen durch zu hohem Strom zu vermeiden.
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
int ledPin = 10; // Definiert Digital Pin 10.
void setup() {
pinMode(ledPin, OUTPUT); // Definiert Pin mit verbundener LED als Ausgang.
}
void loop() {
digitalWrite(ledPin, HIGH); // Schaltet die LED ein.
delay(1000); // Wartet eine Sekunde.
digitalWrite(ledPin, LOW); // Schaltet die LED aus.
delay(1000); // Wartet eine Sekunde
}
Nachdem Hochladen des Programmes werden Sie die LED, welche mit Pin 10 verbunden ist, im 1-Sekundentakt aufleuchten sehen.
Lektion 3: PWM Lichtkontrolle
PWM (kurz für Pulse Width Modulation) ist eine Technik, welche benutzt wird um analoge Signalpegel in digitale zu kodieren. Ein Computer ist
nicht dazu in der Lage analoge Spannung auszugeben. Er kann nur
digitale Spannung mit den Werten wie 0 V oder 5 V ausgeben. Daher wird ein hochauflösender Zähler benutzt, um einen spezifischen analogen Signalpegel zu kodieren, indem man den Auslastungsgrad von PWM moduliert. Das PWM Signal ist ebenfalls digitalisiert, da zu jedem Zeitpunkt die Energieversorgung entweder 5 V (an) oder 0 V (aus) ist.
Die Spannung oder der Strom wird der analogen Last (das Gerät, dass die Energie verbraucht) durch wiederholte Impulsfolgen zugeführt, indem permanent zwischen dem ein- und ausgeschalteten Zu­stand gewechselt wird. Der Wertz der Ausgangsspannung wird anhand der An- und Aus-Zustände ermittelt.
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Es gibt viele Anwendungsfälle für PWM: Regulierung der Lampenhellig­keit, Regulierung der Motorengeschwindigkeit usw..
Das sind die drei Grundparameter von PWM:
Mega2560 Platine
1x
USB-Kabel
1x
Rote M5 LED
1x
220 Ω Widerstand
1x
Breadboard
1x
Überbrückungskabel
6x
1x
Potentiometer
1. Die Amplitude der Impulsbreite
(Minimum / Maximum)
2. Die Pulsperiode
(Die gegenseitige Pulsfrequenz in einer Sekunde)
3. Der Spannungspegel
(wie: 0 - 5 V)
Es gibt 6 PWM Schnittstellen auf dem Mega2560: digitaler Pin 3, 5, 6, 9, 10 und 11.
In vorherigen Experiment haben wir die tastenkontrollierte LED kennen gelernt, bei der wir ein digitales Signal verwendet haben, um einen digitalen Pin zu kontrollieren. Nun werden wir einen Potentiometer verwenden um die Helligkeit der LED kontrollieren zu können. Wir benötigen hierfür:
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Der Eingang des Potentiometers ist analog, also verbinden wir ihn mit dem analogen Port. Die LED verbinden wir mit dem PWM-Port. Ein
anderes PWM-Signal kann die Helligkeit der LED regulieren.
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
In diesem Experiment werden wir den Analogwert des Potentiometers lesen und den wert dem PWM-Port zuordnen, sodass eine entsprechende
Änderung der Helligkeit der LED beobachtet werden kann.
Außerdem werden wir den Analogwert auf dem Bildschirm anzeigen.
int potpin = 0; // Initialisiert analogen Pin 0 int ledpin = 11; // Initialisiert den digitalen Pin 11 (PWM Ausgang) int val = 0; // Speichert den Wert der Variable vom Sensor
void setup() {
pinMode(ledpin,OUTPUT); // Definiert digitalen Pin 11 als Ausgang
Serial.begin(9600); // Setzt Baudrate auf 9600
}
void loop() {
val = analogRead(potpin); // Liest den Analogwert vom Sensor und weist diesen Valzu
Serial.println(val); // Zeigt den Wert von Val analogWrite(ledpin,val/4);
// Schaltet die LED ein und stellt die Helligkeit ein (Maximalwert: 255)
delay(10); // Wartet 0,01 Sekunden
}
Nach der Übertragung des Programms und bei Bewegung des Potentiometers, können wir Veränderungen bei den angezeigten Werten beobachten. Außerdem können wir eine oensichtliche Änderung der LED-Helligkeit erkennen.
Lektion 4: Ampellichter
Im vorherigen Programm haben wir das blinkende LED Experiment mit nur einer LED durchgeführt. Jetzt wird es Zeit, ein etwas komplizierteres Experiment durchzuführen: Ampellichter. Eigentlich sind diese beiden Experimente sich sehr ähnlich. Während dieses Experiments werden wir 3 LEDs mit verschiedenen Farben nutzen, während im letzten nur eine LED zum Einsatz kam. Wir benötigen hierfür:
1x
Mega2560 Platine
1x
USB-Kabel
1x
Rote M5 LED
1x
Gelbe M5 LED
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
1x
Grüne M5 LED
3x
220 Ω Widerstand
1x
Breadboard
4x
Überbrückungskabel
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Da dies eine Situation von Ampellichtern ist, sollte die Leuchtzeit jeder einzelnen LED genau so lange, wie bei einer echten Ampel sein. In diesem
Programm werden wir die Arduino-Verzögerungsfunktion nutzen, um die
Verzögerungszeit zu kontrollieren.
int redled =10; // Initialisiert digitalen Pin 8 int yellowled =7; // Initialisiert digitalen Pin 7 int greenled =4; // Initialisiert digitalen Pin 4
void setup() {
pinMode(redled, OUTPUT); // Setzt den Pin mit der roten LED als Ausgang
pinMode(yellowled, OUTPUT);// Setzt den Pin mit der gelben LED als Ausgang pinMode(greenled, OUTPUT);// Setzt den Pin mit der grünen LED als Ausgang
}
void loop() {
digitalWrite(greenled, HIGH); // Schaltet die grüne LED ein
delay(5000); // Wartet 5 Sekunden digitalWrite(greenled, LOW); // Schaltet die grüne LED aus for(int i=0;i<3;i++) // Blinkt 3x {
delay(500); // Wartet 5 Sekunden
digitalWrite(yellowled, HIGH); // Schaltet die gelbe LED ein delay(500); // Wartet 5 Sekunden
digitalWrite(yellowled, LOW); // Schaltet die gelbe LED aus
}
delay(500); // Wartet 5 Sekunden
digitalWrite(redled, HIGH); // Schaltet die rote LED ein delay(5000); // Wartet 5 Sekunden digitalWrite(redled, LOW); // Schaltet die rote LED aus
}
Wenn die Datei hochgeladen wurde, sind die Ampellichter sichtbar. Das grüne Licht wird für 5 Sekunden leuchten und sich dann abschalten. Danach wird das gelbe Licht 3 Mal blinken und anschließend wird das
rote Licht für 5 Sekunden leuchten, sodass ein Kreislauf gebildet wird.
Lektion 5: LED Jagd-Eekt
Wir sehen o Reklametafeln, welche versehen sind mit bunten LEDs. Die­se ändern sich ständig um verschiedene Eekte zu formen. In diesem Ex­periment wird ein Programm erstellt, welches den LED Jagd-Eekt simu­liert. Dazu wird benötigt:
1x
Mega2560 Platine
1x
USB-Kabel
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
6x
M5 LED
6x
220 Ω Widerstand
1x
Breadboard
13x
Überbrückungskabel
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
int BASE = 2 ; // Der I/O Pin für die erste LED # int NUM = 6; // Anzahl der LEDs
void setup() {
for (int i = BASE; i < (BASE + NUM); i ++) { pinMode(i, OUTPUT); // Setzt I/O Pinne als Ausgang
}
}
void loop() {
for (int i = BASE; i < (BASE + NUM); i ++){ digitalWrite(i, LOW); // Setzt I/O Pinne auf niedrig
// schaltet die LEDs nacheinander ein delay(200); // Verzögerung }
for (int i = BASE; i < (BASE + NUM); i ++) { digitalWrite(i, HIGH); // Setzt I/O Pinne auf hoch“,
// schaltet die LEDs nacheinander ab delay(200); // Verzögerung }
}
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Lektion 6: Tastengesteuerte LED
I/O-Port ist eine Schnittstelle, welche als Eingang und als Ausgang
fungiert. Bis jetzt haben wir nur den Ausgang benutzt. In diesem
Experiment werden wir versuchen den Eingang zu benutzen, um den Ausgangswert des angeschlossenen Gerätes auslesen zu können. Wir werden eine Taste und eine LED als Eingang und als Ausgang verwenden, um ein besseres Verständnis über die I/O-Funktion zu bekommen. Tastenschalter, den vielen wahrscheinlich bekannt ist, haben einen Schaltwert (digitalen Wert). Wenn der Schalter gedrückt wird schließt sich der Schaltkreis und befindet sich in einem leitenden Status. Dazu benötigen wir:
1x
Mega2560 Platine
1x
USB-Kabel
1x
Rote M5 LED
1x
220 Ω Widerstand
1x
10 kΩ Widerstand
1x
Tastenschalter
1x
Breadboard
6x
Überbrückungskabel
Loading...
+ 43 hidden pages