SmartJar
SmartJar
Elektronik
Den Kern der Elektronik bildet ein Arduino Nano, betrieben mit einer 6 V Batterie. Die Sensorik besteht aus einem elektronischen Druckluftsensor, die Anzeige bilden zwei RGB Led's mit entsprechenden Vorwiederständen. Im Konzept ist ein Wasserstoff- und Alkoholsensor miteingeplant, diesen mussten wir, wegen langen Lieferfristen, im Prototypen jedoch weglassen. Zum Ein und Ausschalten dient ein einfacher Schalter zwischen dem Arduino und der Batterie.
Aufbau/Prototyp
Als erstes bauten wir eine Abdeckung aus Kupferblech. Dazu haben wir ein Kupferstreifen im entsprechenden Radius gebogen und die beiden Enden miteinder verlötet. Den Ablschluss bildete eine Kupferplatte, welche nach dem Hartlöten abgefeilt wurde. Geschliffen und poliert haben wir die Oberfläche des Deckels noch sandgestrahlt und mit einem Klarlack geschützt.
Der Luftdrucksensor wurde im Blechdeckel des Einmachglases versenkt und mit Heissleim luftdicht angebracht. Genauso sind wir mit den beiden Led's verfahren, welche für die Statusanzeige des SmartJars vorgesehen sind. Damit Sensor und Leds nicht von Nahrungsmitteln verschmutzt werden, werden sie durch eine dünne, flexible Membran geschützt (im Prototyp: Ballon).
Die Elektronik findet an der Ausenseite des Deckels Platz und wird schliesslich, elektrisch isoliert durch einen Ballon unter dem Kupferzylinder versteckt.
Fazit
Das Arbeiten im Team hat hervorragend funktioniert und wir konnten einen Prototypen herstellen, welcher die Idee und das Konzept klar aufzeigte. Die grösste Schwierigkeit hatten wir wohl mit dem Abdichten des Sensors und den Led's.
Prototyp Code
#define IPIN A2
#define RLED 6
#define GLED 5
#define BLED 3
int kPa;
int outerkPa;
long stablevakuum = 10000; // Zeit bis zu stabilem Vakuum
long foulcontent = 60000; // Zeit bis Inhalt verdirbt.
long vakuumtime = 0;
long actualtime = 0;
boolean kPaset = false;
boolean ledloop = false;
boolean hasvakuum = false;
boolean vakuumset = false;
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
Serial.println("Initialize...");
pinMode(RLED, OUTPUT);
pinMode(GLED, OUTPUT);
pinMode(BLED, OUTPUT);
}
void loop() {
//LUFTDRUCKSENSOR
int sensorValue = analogRead(A2);
kPa = map(sensorValue, 0, 1023, 20, 105);
//Serial.print("Luftdruck: ");
//Serial.print(kPa);
//Serial.println(" kPa");
delay(10);
//LED Schaltung
if(hasvakuum==true && vakuumset==false){
LEDcolor(0,0,255);
vakuumtime = millis();
hasvakuum = false;
vakuumset = true;
Serial.print("Vacuum established. Air Pressure: ");
Serial.print(kPa);
Serial.println(" kPa");
}
if(vakuumtime+stablevakuummillis()&&vakuumtime != 0){
LEDcolor(0,255,0);
Serial.println("Vacuum is stable.");
}
if(vakuumtime+foulcontent3000 && kPaset==false){
kPaset = true;
outerkPa = kPa;
Serial.print("Environment Air Pressure: ");
Serial.print(outerkPa);
Serial.println(" kPa");
}
if (outerkPa-1 > kPa && vakuumset == false){
hasvakuum = true;
}
}