Schritt 2, eine einfache Lösung
… ergebnis des vorangegangenen schrittes wiederholen / erläutern … bedeutuing motivation dieser schritt
Teilaufgabe für diesen Projektschritt
… erste funktionierende Lösung erstellen … initial operational capability
Vorbereitung
… neues Klassendiagramm… oder KD kopieren??
Lösungsidee
… einfache signalauswertung durch vergleich referenzwert vom Poti… anzeige durch simple LED
Realisierung
SearchCoil::pulse(uint16_t us)
this->on(); waitUs(us); this->off();
Controller::onWork()
// continuous event from the Mainloop waitMs(1); // 1-2 ms Pause searchCoil.pulse(100); // 100 µs impuls waitUs(18); // 10-20 µs sample delay uint16_t signalValue=0,refValue=0; signalValue = signal.getValue(); refValue = potentiometer.getValue(); if (signalValue > refValue) // check for metal { stateLED.on(); } else // no metal { stateLED.off(); }
Test
…
Erweiterung
… einen simplen Speaker hinzufügen
Controller::onWork()
// continuous event from the Mainloop waitMs(1); // 1-2 ms Pause searchCoil.pulse(100); // 100 µs impuls waitUs(18); // 10-20 µs sample delay uint16_t signalValue=0,refValue=0; signalValue = signal.getValue(); refValue = potentiometer.getValue(); if (signalValue > refValue) // check for metal { stateLED.on(); // das ist NEU !!!!!!!!!! speaker.toggle(); } else // no metal { stateLED.off(); }
Videozusammenfassung
…