// Final weights after training float weights[] = 2.1, 0.3, 4.5; float bias = -2.8; void loop() float t = measureTapPattern(); if (neuron(t)) digitalWrite(LED, HIGH);
float neuron(float input1, float input2, float input3) float sum = input1 weights[0] + input2 weights[1] + input3*weights[2] + bias; if (sum > 0) return 1; // Tap pattern recognized else return 0; // Final weights after training float weights[] = 2
Think of a neural network not as magic, but as an adaptive filter or a smart lookup table . You can train one to recognize patterns from your circuits (sound, light, touch) and make decisions. float bias = -2.8
// One neuron with 3 inputs: // (time since last tap, peak height, tap count in last 500ms) float weights[] = 0.5, 0.2, 0.8; // starts random float bias = -1.0; void loop() float t = measureTapPattern()