|
|
(30 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| [[Datei:Projekt2.jpg|thumb|rigth|300px|Abb. 1: Servo-Motor mit einem Potentiometer steuern]]
| |
|
| |
|
| == '''Aufgabenstellung''' ==
| |
| In diesem Projekt soll ein Servo-Motor mithilfe eines Arduinos und einem Potentiometer steuerbar sein.
| |
|
| |
| == '''Vorab wichtig zu Wissen!''' ==
| |
| '''Arduino'''
| |
| * Der Arduino besitzt unterschiedliche [[Arduino_UNO:_Board_Anatomie | Schnittstellen]], weil der Arduino ein digitaler Mikrocontroller ist, kann er nur 5 Volt ausgeben oder annehmen.
| |
| * Darum wird für das Projekt 2 eine PWM Schnittstelle benötigt.
| |
| * Die [[https://de.wikipedia.org/wiki/Pulsdauermodulation PWM]] Schnittstellen sind ganz einfach zu erkennen an diesem Zeichen (~)
| |
| '''Servo-Motor'''
| |
| * Schwarz oder Braun = Masse (GND)
| |
| * Rot = +5V
| |
| * Orange, Gelb oder Weiß = PWM-Signal
| |
| '''Potentiometer'''
| |
| * Das Potentiometer greift eine Eingangsspannung auf und gibt verschieden große Mengen davon an einen Schaltkreis weiter.
| |
| * So kann später der Servo-Motor ein und ausgeschaltet werden, mit dem Potentiometer.
| |
| '''Steckbrett'''
| |
| * Erklärung zum arbeiten mit einem Steckbrett [[Steckbrett | klicken!]]
| |
|
| |
| == '''Benötigte Materiallien''' ==
| |
|
| |
| {| class="wikitable"
| |
| |+ style = "text-align: left"|
| |
| |-
| |
| ! Nr. !! Anz. !! Beschreibung !! Link !! !! Pos. !! Anz. !! Beschreibung !!Link!!
| |
| |-
| |
| |<big><big>①</big></big> || 1 || [[Arduino|Funduino Arduino UNO R3]] ||[https://funduinoshop.com/elektronische-module/sonstige/mikrocontroller/funduino-uno-r3-mikrocontroller-arduino-kompatibel kaufen] ||[[Datei:Arduino Uno R3.jpg|ohne|100px|]]
| |
| |<big><big>②</big></big> || 10 || Jumper Kabel, männlich/männlich||[https://funduinoshop.com/bauelemente/kabelsysteme/jumper-kabel/40-stueck-breadboardkabel-maennlich/maennlich-20cm kaufen]||[[Datei:R19-F-2-2.jpg|ohne|100px|]]
| |
| |-
| |
| |-
| |
| |<big><big>③</big></big> || 1 || [[Steckbrett]] || [https://funduinoshop.com/bauelemente/steckbretter-und-platinen/steckbretter/breadboard-steckbrett-mit-830-kontakten kaufen]||[[Datei:R12-A-9-1.jpg|ohne|100px|]]
| |
| |<big><big>④</big></big> || 1 || [[Potentiometer_B_50K| Potentiometer 10k]]|| [https://de.rs-online.com/web/p/mechanische-drehgeber/7899649?cm_mmc=DE-PLA-DS3A-_-google-_-CSS_DE_DE_Passive_Bauelemente_Whoop-_-(DE:Whoop!)+Mechanische+Drehgeber-_-7899649&matchtype=&pla-341386177139&gclid=EAIaIQobChMIk9DDs8_R_wIVwwGLCh16eAFKEAQYASABEgKiNPD_BwE&gclsrc=aw.ds kaufen]||[[Datei:Potentiometer 10K.png|ohne|100px|]]
| |
| |-
| |
| |-
| |
| |<big><big>⑤</big></big> || 1 || [[Servomotor SG90|TowerPro SG90 Servomotor]]||[https://funduinoshop.com/elektronische-module/elektromotoren-und-zubehoer/servomotoren/towerpro-sg90-servomotor kaufen]||[[Datei:R19-F-2-1.jpg|ohne|100px|]]
| |
| |-
| |
| |}
| |
|
| |
| [[Datei:Projekt2_Schlatung.png|300px|thumb|right|Abb.3 Schaltung]]
| |
|
| |
| == '''Aufbau Schaltung''' ==
| |
|
| |
| * Auf dem Bild (Abb.3 Schaltung) wird dargestellt, wie die Schaltung für das Projekt "Servo-Motor mit einem Pogtentiometer steuern" aufgebaut werden kann.
| |
|
| |
| == '''Programmierung''' ==
| |
|
| |
| '''Schritt 1'''
| |
| * Erstellen der ersten '''Arduino Datei''' ([https://wiki.hshl.de/wiki/index.php/Erste_Schritte_mit_der_Arduino_IDE Link zum Tutorial]).
| |
|
| |
| '''Schritt 2'''
| |
| * Grundkenntnisse vom Projekt '''"Pulsierende LED"''' verstanden haben. ([[Grundkenntnisse Programmierung (Pulsierende LED) |Link]]).
| |
| * Grundkenntnisse für das Projekt '''"Servo-Motor mit einem Potentiometer steuern"''' verstehen([[Grundkenntnisse Programmierung (Servo-Motor mit einem Potentiometer steuern) |Link zu den Grundkenntnissen]]).
| |
|
| |
| '''Schritt 3'''
| |
| * Nachdem die Schritte 1 und 2 abgeschlossen sind, kann mit der Programmierung des Projektes gestartet werden.
| |
|
| |
| '''1)''' <br>
| |
|
| |
|
| |
| '''Schritt 4'''
| |
| * Nach dem beenden von Schritt 3, kann nun das Ergebnis mit der Munsterlösung verglichen werden.
| |
|
| |
| == '''Musterlösung''' ==
| |
| Quelle: https://funduino.de/wp-content/uploads/2021/01/Servomotor.pdf
| |
|
| |
| {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| |
| | <strong>Müsterlösung  </strong>
| |
| |-
| |
| |
| |
| <syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:14px">
| |
|
| |
| // eingebaute Bibliothek einbinden
| |
| # include <Servo.h>
| |
| // Bezeichnung des Motors
| |
| Servo Motor;
| |
| // speichert den analogen Wert des Drehpotentiometers
| |
| int ReglerWert;
| |
| // Position des Motors
| |
| int Position;
| |
|
| |
| void setup()
| |
| {
| |
| // Motor an Pin 9 angeschlossen (attach)
| |
| Motor.attach(9);
| |
| }
| |
| void loop()
| |
| {
| |
| int ReglerWert = analogRead(A0);
| |
| /*
| |
| map -> Umwandlung des gelesenen Wertes
| |
| von 0 bis 1023 (analoger Sensorwert)
| |
| auf 0 bis 180 (Drehung des Motors)
| |
| */
| |
| Position = map(ReglerWert, 0, 1023, 0, 180);
| |
| // Motor zur Position bewegen
| |
| Motor.write(Position);
| |
| }
| |
|
| |
| </syntaxhighlight>
| |
| |}
| |
| ----
| |
|
| |
| == '''Video''' ==
| |
|
| |
| [[Datei:20230621 145037.mp4|800px]]
| |
|
| |
| <br>
| |
|
| |
|
| |
|
| |
|
| |
|
| |
| → zurück zum Hauptartikel: [[Konzipierung_und_Evaluierung_von_Arduino-Projekten_verschiedener_Schwierigkeitsgrade_für_die_Lehre | Klicken!]]
| |