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

Nächste Projektschritt