Home » Arduino (Page 2)

Category Archives: Arduino

Themen

S1 :: 4.2 RGB-LED

  1. Baue die Schaltung von unten nach. Stülpe einen Tischtennisball über die RGB-LED, um die Farben besser erkennen zu können. Lass die RGB-LED nacheinander in den Grundfarben rot, grün und blau leuchten.
    Hinweis: Im setup-Teil benötigst du für jeden der drei LED-Anschlüsse ein pinMode(…,OUTPUT)
  2. Mit der RGB-LED lassen sich auch andere Farbeindrücke erzeugen. Lasse die RGB-LED gelb leuchten und notiere alle Farbeindrücke, die auch noch möglich sind. Tipp: Additive Farbmischung (der Farbkreis unten rechts hilft dir weiter).
  3. Stell dir vor, du hättest eine LED mit vier verschiedenen Farben. Wie viele verschiedene Farbeindrücke sind hier möglich? Kann man das auch schnell berechnen?
// arduino kurs 2022
// https://arduino.langheiter.at/5-1
// 5.1.1

void setup() {
  pinMode(D9, OUTPUT);
  pinMode(D10, OUTPUT);
  pinMode(D11, OUTPUT);

}
void loop() {
  digitalWrite(D9, HIGH);
  delay(900);
  digitalWrite(D9, LOW);
  digitalWrite(D10, HIGH);
  delay(900);
  digitalWrite(D10, LOW);
  digitalWrite(D11, HIGH);
  delay(900);
  digitalWrite(D11, LOW);
}
// arduino kurs 2022
// https://arduino.langheiter.at/5-1
// 5.1.2

void setup() {
  pinMode(D9, OUTPUT);    // rot
  pinMode(D10, OUTPUT);   // grün
  pinMode(D11, OUTPUT);   // blau
}

void loop() {
  // gelb 
  digitalWrite(D9, HIGH);
  digitalWrite(D10, HIGH);
  digitalWrite(D11, LOW);
  delay(1900);

  // lila
  digitalWrite(D9, HIGH);
  digitalWrite(D10, LOW);
  digitalWrite(D11, HIGH);
  delay(1900);
}
[arduino]

S1 :: 5.1. fotowiderstand

methoden

schaltung

code1

code2

S1 :: 6.1. serieller monitor

In verschiedenen Situationen kann es sinnvoll sein, dass der Mikrocontroller eine Rückmeldung auf einen Ausgabebildschirm gibt (Beispiele: bei der Ampel: „Stopp“ und „Gehen“; beim Lautsprecher: Liedtitel angeben; bei Sensoren: Messwerte anzeigen). Oft wird ein Ausgabebildschirm auch für die Fehlersuche in Programmen eingesetzt: Wenn an bestimmten Stellen im Programm eine Rückmeldung einprogrammiert war, wusste man bei Erscheinen des Textes, dass das Programm bis zu dieser Stelle fehlerfrei durchgelaufen war.
Der Arduino kann über den seriellen Monitor Daten, die vom Arduino gesammelt oder produziert werden, anzeigen. Schließe dazu an Port D11 eine LED mit Vorwiderstand an und übernehme folgendes Programm:

// arduino kurs 2022
// https://arduino.langheiter.at/9-1
// 9.1 :: serieller monitor

int i = 0; // Definiert eine Variable i als „integer“, d.h. als ganze Zahl, mit dem (momentanen) Wert 0.

void setup() {
  Serial.begin(9600); // Legt die Übertragungsrate für den Ausgabe-bildschirm fest. Bei uns immer 9600 (Bit pro Sekunde).
  pinMode(D11, OUTPUT);
}
void loop() {
  i = i + 1;                // Der Wert von i wird pro Durchgang um jeweils 1 erhöht und fungiert ist hier als Zählvariable.
  digitalWrite(D11, HIGH);
  Serial.print("Anzahl:");  // Der Text zwischen den Anführungszeichen wird auf dem Ausgabebildschirm angegeben.
  Serial.println(i);        // Der Wert der Variablen i wird auf dem Aus- gabebildschirm angegeben.
  delay(500);
  digitalWrite(D11, LOW);
  delay(500);
}

S1 :: 6.2 :: gesicht

Schreibe ein Programm, das ein „Gesicht“ auf dem Ausgabebildschirm erzeugt:

Kannst du das Gesicht nur einmal anzeigen?

 

// arduino kurs 2022
// https://arduino.langheiter.at/9-2
// 9.2 :: gesicht

void setup() {
Serial.begin(9600); // Legt die Übertragungsrate für den Ausgabe-bildschirm fest. Bei uns immer 9600 (Bit pro Sekunde).

Serial.println("_~~~_"); // Der Text zwischen den Anführungszeichen wird auf dem Ausgabebildschirm angegeben.
Serial.println("x x");
Serial.println(" o ");
Serial.println("l___l");
}

void loop() {
// wir wollen diesmal nichts wiederholen
}

S1 :: 7.1. ton

// arduino kurs 2022
// https://arduino.langheiter.at/8-1
// 8.1 :: 1 ton

void setup() {
  
}

void loop() {
  tone(D11, 140, 1000);
  noTone(D11);
  delay(1000);
}

S1 :: 99.1. :: befehle

hier die ersten 10 gelernten befehle.
schreib für jeden eine vollständige ausgabe
zb: wert = analogRead(D11);
hier findest du alle möglichen befehle: https://www.arduino.cc/reference/de/

setup(...
loop(...
pinMode
digitalWrite
delay(...
tone
noTone()
Serial.begin
Serial.print
Serial.println(...
void unterProgramm1(){
    digitalWrite(D11, LOW);
    digitalWrite(D12, LOW);
    digitalWrite(D13, LOW);
}

————. TABs

methoden

schaltung

code1

code2

S2 :: 1.1

semester 2 dummy

S2 :: 1.2. Potentiometer01

folgende anweisungen/befehle werden verwendet:

// deklaration der variablen
int potPin = A2;    // input pin auf A2
int ledPin = 6;   // eine LED
int val = 0;       // zwischenspeicher für die werte

// vorbereiten 
void setup() {
  Serial.begin(115200);
  pinMode(ledPin, OUTPUT);  // ledPin als OUTPUT
}

// jetzt beginnts
void loop() {



}

S2 :: 1.3. Potentiometer03