Lesson 96: Using noTone() Advanced I/O
Learn how noTone() stops active tone() output cleanly and when to use controlled sound shutdown in advanced I/O behavior.
Lesson Template
Explore debouncing, pull-ups, and stable input design.
This lesson introduces the core ideas behind Advanced I/O.
pinMode(buttonPin, INPUT_PULLUP);
int pressed = digitalRead(buttonPin) == LOW;Learn how noTone() stops active tone() output cleanly and when to use controlled sound shutdown in advanced I/O behavior.
Learn how tone() starts square-wave buzzer output with frequency and duration control in advanced I/O workflows.
Learn how pulseIn() measures signal pulse width with timeout control for distance sensors and digital timing analysis.
Learn how pulseInLong() handles longer pulse timing with timeout safeguards and compare it with pulseIn().
Learn how shiftIn() reads serial bit streams from shift registers with selectable bit order and stable clocking.
Learn how shiftOut() sends serial bit streams to shift registers with controlled latch/clock timing and bit order.