aufgaben weil vergesen zu commiten

This commit is contained in:
danielvici123
2025-04-02 11:33:52 +02:00
parent 6ee3cb1211
commit 51468e220a
52 changed files with 1269 additions and 622 deletions

View File

@@ -0,0 +1,54 @@
/* KA3 2025-03-28 Vorlage Aufgabe 1, Teil 2 bis 3
* I2C-Bus, Temperaturmessung und LED-Ansteuerung */
#include <Wire.h>
// LED0 LED1 LED2 LED3
byte Muster[ ] = {0b0000001, 0b0000011, 0b0000110, 0b0001100, 0b00011000, 0b00110000, 0b01100000, 0b10000000, 0b110000000};
byte LowByte, HighByte;
uint16_t Messwert;
float fTemperatur;
#define lm75_addr 0b1001010
void setup() {
Serial.begin ( 115200 );
Serial.println("DANIEL CWIKLA"); // bitte ändern!
Messwert = 0;
fTemperatur = 0.0;
Wire.begin();
}
void loop() {
// hier kann mit delay gearbeitet werden
Wire.requestFrom(lm75_addr, 2 );
if( Wire.available( ) >= 2 ) {
//Messwert = Wire.read();
HighByte = Wire.read();
LowByte = Wire.read();
//Serial.print("Messwert: ");
//Serial.println(Messwert);
Serial.print("HL Byte:");
fTemperatur = HighByte << LowByte;
Serial.println(fTemperatur);
}
delay(100);
matrix();
}
void matrix(){
Wire.beginTransmission(0b0111011);
// ----------------------------------
// | LEDS low aktiv 0 -> 1 , 1 -> 0 |
// ----------------------------------
Wire.write(0b1111110);
Wire.write(0b1111100);
Wire.write(0b1111001);
Wire.write(0b1110011);
Wire.write(0b11100111);
Wire.write(0b11001111);
Wire.write(0b10011111);
Wire.write(0b10111111);
Wire.write(0b00111111);
Wire.endTransmission();
}

View File

@@ -0,0 +1,28 @@
/* KA3 2025-03-28 Vorlage Aufgabe 2
* AD-Wandler, Kennlinie mit map */
int16_t DigitalWert, Sollwert1, Sollwert2;
uint32_t NextTime = 0, CurrentTime;
void setup() {
Serial.begin(115200);
}
void loop() {
// 2.1) 2x pro Sekunde Analog-Eingang 0 einlesen und ausgeben
CurrentTime = millis();
if (CurrentTime - NextTime >= 1000) {
DigitalWert = analogRead(A0);
Serial.print("Digitalwert: ");
Serial.println(DigitalWert);
NextTime = CurrentTime;
// 2.3) mit map-Funktion in Sollwert1 umrechnen und ausgeben
Sollwert1 = map(DigitalWert, 0, 4095, 285, 3694);
Serial.print("Sollwert1: ");
Serial.println(Sollwert1);
// 2.4) Sollwert2 begrenzen auf 0 bis 1000 und Sollwert1, Sollwert2 ausgeben
Sollwert2 = map(Sollwert1, 285, 3694, 0, 1000);
Serial.print("Sollwert2: ");
Serial.println(Sollwert2);
}
}