In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
E_CHART ist ein Physisches Balkendiagramm, das aktuelle Elektrizitätsproduktionen und deren Ursprung einfach und klar darstellt. Damit kann sofort beurteilt werden, wie „grün“ der derzeitige Strom ist, um möglichst optimal zu bestimmen, wann energieintensive Geräte eingesetzt werden sollen.
Ziel war es, eine Anwendung für jede Altersgruppe zu schaffen. Die produzierte Energie sollte leicht und schnell ablesbar sein. Um dies zu ermöglichen, habe ich ein statisches Balkendiagramm entworfen, das mit beweglichen Säulen die aktuelle Energie anzeigt.
- Energieverbrauch im vergleich zu CO2 Emissionen.
- Verkaufspreise für lebende oder frisch geschlachtete Fische in Deutschland in Abhängigkeit von der Fangmänge.
Tourismus in Deutschland.
- https://gis-hsl.hessen.de/portal/apps/webappviewer/index.html?id=621b2739ff8f43e895a759cc0dcc2c70
Tourismus Regionen, Einnahmen durch den Tourismus / Gewichtung.
Nationsabhängige Einnahmen?
- https://www.deutschertourismusverband.de/service/touristische-studien.html
- Überlegung wie die Umsetzung durchgeführt werden soll
Als Durchführung habe ich mir einen Physischen Graphen vorgestellt. Dieser besteht aus Pins, die mit einem elastischen Stoff überzogen sind. Durch das auf und ab bewegen der Pins verändert sich der Graph.
Der Graph stellt die gesamte erzeugte Energie Deutschlands an, während mithilfe von Projektoren die einzelnen Produktionsarten Dargestellt werden können. Diese Darstellung lässt sich aber auch in Grün/Nicht-grün umstellen.
Siehe Zeichnung und Beispiel unten.
Live Daten: Energie Erzeugnissen
- https://www.energy-charts.info/charts/power/chart.htm?c=DE&year=2024&source=public
Materialien:
- Jersey stoff
- Lycra (Badeanzug Stoff)
Umsetzungen Für Prototyp:
- Lego Spike (Zahnräder ansteuern)
- Wasserpumpen
Erster Prototyp mit Lego Spike.
Funktionalität durch Hebelwirkung.
Für weiteres arbeiten nicht geeignet da ungenau und Pro Säule immer ein motor verwendet werden muss.
Ausstellungssituation in Stadtwerken, Messen.
Erster Prototyp für servo Ansteuerung mit Wokwi
Infos: Maximale Erzeugte Energie pro einergieart = 45 000 MW
45 000 MW / 125 = 360
Bedeutet dass die Kennzahlen durch 125 geteilt werden müssen, um den die Daten für den servo verwenden zu können.
Coden der software für die servos in C++
Code liest CSV Datei aus. Im moment werden die werte als Konsolen output gezeigt da noch keine servos vorhanden.
Über den Zeitraum der nächsten Wochen verbesserte ich die 3D-Modelle und druckte diese.
Den Code passte ich auch noch einmal an und probierte ihn auf Wokwi aus.
Im letzten Schritt baute ich die Box aus Holzplatten, die ich mit dem Lasercutter zuschneiden ließ. Ich besprühte diese mit weißem Sprühlack und lackierte auch die Säulen in den passenden Farben.
Servo motor1;
Servo motor2;
Servo motor3;
Servo motor4;
Servo motor5;
Servo motor6;
Servo motor7;
Servo motor8;
const char * f_name = „/energie.csv“;
const int chipSelect = 10;
File file;
char feedRowParser(){
return file.read();
}
bool rowParserFinished() {
return ((file.available()>0)?false:true);
}
void setup() {
Serial.begin(115299);
delay (5000);
if (!SD.begin(chipSelect)) {
Serial.println(„Error: Card failed, or not present“);
while(1);
}
Serial.println(„Card initialized.“);
if (!SD.exists(f_name)) {
Serial.println(„Error: File \ + String(f_name) + “\„ does not exist.“);
while (1);
}
file = SD.open(f_name, FILE_READ);
if (!file) {
Serial.println(„ERROR: File open failed“);
while (1);
}
CSV_Parser cp(/*format*/ „ssLLLLLLLL“, false, ',');
int row_index = 0;
char **datum_von = (char**)cp[0]
char **datum_bis = (char**)cp[1]
int16_t *biomasse = (int16_t*)cp[2]
int16_t *wind_offshore = (int16_t*)cp[3]
int16_t *wind_onshore = (int16_t*)cp[4]
int16_t *photovoltaik = (int16_t*)cp[5]
int16_t *braunkole = (int16_t*)cp[6]
int16_t *steinkole = (int16_t*)cp[7]
int16_t *erdgas = (int16_t*)cp[8]
int16_t *pumpspeicher = (int16_t*)cp[9]
while (cp.parseRow()) {
char *Datum_von = datum_von[0]
char *Datum_bis = datum_bis[0]
int16_t Biomasse = biomasse[0]
int16_t Wind_offshore = wind_offshore[0]
int16_t Wind_onshore = wind_onshore[0]
int16_t Photovoltaik = photovoltaik[0]
int16_t Braunkole = braunkole[0]
int16_t Steinkole = steinkole[0]
int16_t Erdgas = erdgas[0]
int16_t Pumpspeicher = pumpspeicher[0]
Serial.print(„, Biomasse: “);
Serial.print(Biomasse); //(Biomasse, DEC)
Serial.print(„, Wind Offshore: “);
Serial.print(Wind_offshore);
Serial.print(„, Wind onshore: “);
Serial.print(Wind_onshore);
Serial.print(„, Photovoltaik: “);
Serial.print(Photovoltaik);
Serial.print(„, Braunkole: “);
Serial.print(Braunkole);
Serial.print(„, Steinkole: “);
Serial.print(Steinkole);
Serial.print(„, Erdgas: “);
Serial.print(Erdgas);
Serial.print(„, Pumpspeicher: “);
Serial.print(Pumpspeicher);
row_index++;
motor1.attach(2);
motor1.write(Photovoltaik/58.33);
delay(300);
motor2.attach(3);
motor2.write(Wind_offshore/58.33);
delay(300);
motor3.attach(4);
motor3.write(Wind_onshore/58.33);
delay(300);
motor4.attach(5);
motor4.write(Pumpspeicher/58.33);
delay(300);
motor5.attach(6);
motor5.write(Biomasse/58.33);
delay(300);
motor6.attach(7);
motor6.write(Erdgas/58.33);
delay(300);
motor7.attach(8);
motor7.write(Braunkole/58.33);
delay(300);
motor8.attach(9);
motor8.write(Steinkole/58.33);
delay(300);
delay(897600);
}
// Serial.println();
// cp.print();
}
void loop() {
}