Das bistabile Relais HFD02/005-S-L2 wird vom Arduino angesteuert. Dazu werden zwei N-Kanal MOSFETs in der Schaltung eingesetzt und das Arduino Programm wird erklärt.
Das Bistabile Relais ist im vorherigen Video vorgestellt worden: Weiterlesen
Das bistabile Relais HFD02/005-S-L2 wird vom Arduino angesteuert. Dazu werden zwei N-Kanal MOSFETs in der Schaltung eingesetzt und das Arduino Programm wird erklärt.
Das Bistabile Relais ist im vorherigen Video vorgestellt worden: Weiterlesen
Das LED Lauflicht soll jetzt hin und her laufen, also ändern wir die Programmierung der vorherigen Lauflicht Version.
// C++ code // int l=0; bool up=1; void setup() { for( int i=8; i<=12; i++) { pinMode(i, OUTPUT); } } void loop() { delay(300); if(up) l++; // l=l+1 else l--; if(l>=6) { l=4; up=0; } if(l<=0) { l=2; up=1; } switchled(l); } void switchled(int n) { for( int i=8; i<=12; i++) { digitalWrite(i,0); } if(n==1) digitalWrite(12,1); if(n==2) digitalWrite(11,1); if(n==3) digitalWrite(10,1); if(n==4) digitalWrite(9,1); if(n==5) digitalWrite(8,1); }
von Matthias Busse
Ein LED Lauflicht wird aufgebaut und programmiert.
Und hier das fertige Programm:
// C++ code // int l=0; void setup() { for( int i=8; i<=12; i++) { pinMode(i, OUTPUT); } } void loop() { delay(300); l++; // l=l+1 if(l>=6) l=1; switchled(l); } void switchled(int n) { for( int i=8; i<=12; i++) { digitalWrite(i,0); } if(n==1) digitalWrite(12,1); if(n==2) digitalWrite(11,1); if(n==3) digitalWrite(10,1); if(n==4) digitalWrite(9,1); if(n==5) digitalWrite(8,1); }
von Matthias Busse
So wird eine eigene LED an den Arduino geschaltet und im Programm angesprochen.
Und hier das Programm dazu:
// C++ code // bool b=0; void setup() { pinMode(12, OUTPUT); } void loop() { digitalWrite(12, b); delay(1000); // Wait for 1000 millisecond(s) b=!b; }
In Tinkercad zeige ich Euch an einem ersten Beispiel die Verwendung und das Blink Programm auf dem Arduino.
Nachdem ich nun das STM32 Board von der Arduino Software mit einem FTDI USB Adapter programmieren kann (Beschreibung hier) , will ich einmal das letzte Programm für das TTP-229 Touch Pad hier laufen lassen.
Geändert wurden die Anschlüsse:
Das TTP229 Touchpad wir jetzt mt 3,3V betrieben, dann nimmt es auch die Daten mit 3,3V und gibt sie entsprechend aus. Deshalb wird es an den 3.3V Pin und Masse angeschlossen.
SCL >> Pin B13
SDO >> Pin B12
Beeper+ >> Pin B15 Weiterlesen
Mit dem 16er Touch Pad wird eine Zahl eingelesen mit mehreren Ziffern und bei Enter wird diese Zahl ausgegeben. Als ENTER Taste wird die Taste 16 verwendet.
Der Aufbau ist identisch wie in diesem Beitrag. Weiterlesen
Das 16er Touch Tasten Feld mit dem TTP229 Chip wird vom Arduino Uno seriell ausgelesen.
Dazu muss eine Brücke (siehe Bild) auf der fertigen Platine HW-136 gesteckt werden um alle 16 Tasten einzeln seriell auszulesen.
5V und GND werden am Arduino angeschlossen.
SCL und SDO werden auf beliebige digitale Pins des Arduino gelegt. Ich habe hier Pin 2 und 3 verwendet.
Hier der Aufbau:
Ein Potentiometer wird eingelesen mit dem AD Wandler, der Wert wird gemappt auf dem PWM Wertebereich und mit analogWrite ausgegeben zur LED.
Und hier das Programm
// Mit Poti die LED dimmen // Poti - AD-Wandler - map - pwm - analogWrite // Poti ist angeschlossen an Pins : 5V - A0 - GND int analogPin = A0, LedPin = 13, adwert, pwm; void setup() { Serial.begin(38400); pinMode(LedPin,OUTPUT); } void loop() { adwert = analogRead(analogPin); // AD Wandler auslesen pwm = map(adwert, 0, 1023, 0, 255); analogWrite(LedPin, pwm); // LED mit PWM ansteuern und dimmen Serial.println(pwm); // Wert ausgeben delay(100); }
Mit der map() Funktion werden Wertebereiche skaliert und in andere Wertebereiche übertragen.
und hier das Programm zum ausprobieren
// Mit Poti - AD-Wandler - map - pwm die LED Dimmen // Poti ist angeschlossen an Pins : 5V - A0 - GND int analogPin = A0, LedPin = 13, adwert, pwm; void setup() { Serial.begin(38400); pinMode(13,OUTPUT); } void loop() { adwert = analogRead(analogPin); // AD Wandler auslesen pwm = map(adwert, 0, 1023, 0, 255); analogWrite(LedPin, pwm); // LED mit PWM ansteuern und dimmen Serial.println(pwm); // Wert ausgeben delay(100); }