Arduino Full Stack
  • Preface
  • Part 1 - Introduction
  • Chapter 1. Getting Started with Arduino
    • 1.1 Arduino UNO R3
    • 1.2 LVR Arduino Exntesion Board
    • 1.3 Sensor Kits for Arduino
    • 1.4 Race Car Chassis Model
    • 1.5 Arduino Online Resource
    • 1.6 Arduino IDE for Prototyping
    • 1.7 FIRST Arduino Project - Hello World
  • Chapter 2. Programming Grammar
    • 2.1 AVR C
    • 2.2 Digital IO
    • 2.3 Analog IO
    • 2.4 More About IO
    • 2.5 Time Functions
    • 2.6 Interrupt Functions
    • 2.7 Communication Classes
    • 2.8 Arduino Libraries
  • Part 2 - Sensors
  • Chapter 3. LED Sensors
    • 3.1 LED Blinking
    • 3.2 LED SMD RGB
    • 3.3 Mini LED Red Green GND-Shared
    • 3.4 LED RGB GND-Shared
    • 3.5 Photoresistor
    • 3.6 LED Light Cup
    • 3.7 LED Red Green GND-Shared
    • 3.8 LED 7 Colors
  • Chapter 4. Infrared Sensors
    • 4.1 Infrared Emitter and Receiver
    • 4.2 Laser Emitter
    • 4.3 Infrared Remote Control
    • 4.4 IR Obstacle Avoidance
    • 4.5 IR Line Tracking
  • Chapter 5. Audio Sensors
    • 5.1 Passive Buzzer
    • 5.2 Active Buzzer
    • 5.3 Microphone Big Sound
    • 5.4 Microphone
  • Chapter 6. Magnetic Sensors
    • 6.1 Hall Magnetic Sensor
    • 6.2 Mini Reed
    • 6.3 Linear Hall Magnetic Sensor
    • 6.4 Reed
    • 6.5 Analog Hall
  • Chapter 7. Touch Sensors
    • 7.1 Tap Sensor
    • 7.2 Shock Sensor
    • 7.3 Touch Sensor
  • Chapter 8. Thermist Sensors
    • 8.1 Temperature Sensor - DS18B20
    • 8.2 Analog Thermister
    • 8.3 Digital Temperature
    • 8.4 Temperature and Humidity Sensor
  • Chapter 9. Switches
    • 9.1 Button
    • 9.2 Switch -Mercury Tilt
    • 9.3 Switch - Ball
    • 9.4 Relay
  • Chapter 10. Other Sensors
    • 10.1 Joystick
    • 10.2 Flame
    • 10.3 Pulse Monitor
    • 10.4 Rotary Encoders
  • Chapter 11. More Discussions on Sensors
    • 11.1 Arducam
    • 11.2 IMU - BNO055
  • Part 3 - Motors
  • Chapter 12. Motors
    • 12.1 DC Motor
    • 12.2 AC Motor
    • 12.3 Stepper Motor
    • 12.4 Servo Motor
  • Part 4 - Display
  • Chapter 13. Display
    • 13.1 Nixie Light LG5011B
    • 13.2 Crystal Display 1602A
    • 13.3 Crystal Display 12864
  • Part 5 - Communication
  • Chapter 14. Communication
    • 14.1 Serial
    • 14.2 Wifi - ESP8266
    • 14.3 Bluetooth
    • 14.4 Integrate Wifi & Bluetooth - ESP32
  • Part 6 - Arduino Based Mini Automated Vehicle
  • Chapter 15. Assemble a Mini Automated Vehicle
    • 15.1 4-Wheel DC-Motor Driven
    • 15.2 Arduino UNO and LVR Arduino Extension Board
    • 15.3 Speed Sensors
    • 15.4 Servo Motor for Pan Tilt Control
    • 15.5 Tracking Sensor
  • Chapter 16. Remote Control
    • 16.1 IR Remote Control
    • 16.2 Bluetooth Remote Control
    • 16.3 Wifi Remote Control
    • 16.4 Automatic Control
Powered by GitBook
On this page
  • 2.4.1 void tone(pin, frequency, duration);
  • 2.4.2 void noTone(pin);
  • 2.4.3 void shiftOut(dataPin, clockPin, bitOrder, value);
  • 2.4.4 byte shiftIn(dataPin, clockPin, bitOrder);
  • 2.4.5 unsigned long PulseIn(pin, value, timeout);
  1. Chapter 2. Programming Grammar

2.4 More About IO

2.4.1 void tone(pin, frequency, duration);

  • brief: generates a square wave of the particular frequency on a pin (at a 50% duty cycle).

  • param:

    • pin: analog IO pin index, must be a value between 0 and 5, corresponding to analog pin A0 ~ A5.

    • frequency: HIGH or LOW. HIGH refers to a high level pulse, entering and leaving at a high level voltage; LOW refers to a low level pulse, entering and leaving at a low level voltage.

    • duration (optional): ms to wait for the pulse to be completed.

  • return: void.

2.4.2 void noTone(pin);

  • brief: stop generating a generated square wave triggered by tone(). Has no effect at all if no tone has been generated..

  • param:

    • pin: analog IO pin index, must be a value between 0 and 5, corresponding to analog pin A0 ~ A5.

  • return: void.

2.4.3 void shiftOut(dataPin, clockPin, bitOrder, value);

  • brief: shift out a byte bit by bit.

  • param:

    • dataPin: digital IO pin index, must be a value between 0 and 19, but 2 ~ 13 is preferred. Normally, pin number should be 0 ~ 13. Analog pins A0 ~ A5 can also be adopted, which is according to number 14 ~ 19. dataPin is the pin each bit is output to.

    • clockPin: after the dataPin has been set to the correct value, this clockPin is to be toggle once.

    • bitOrder: either MSBFIRST or LSBFIRST, corresponding to Most Significant Bit First or, Least Significant Bit First.

    • value: the data to shift out a byte.

  • return: void.

2.4.4 byte shiftIn(dataPin, clockPin, bitOrder);

  • brief: read pulse length in ms.

  • param:

    • dataPin: digital IO pin index, must be a value between 0 and 19, but 2 ~ 13 is preferred. Normally, pin number should be 0 ~ 13. Analog pins A0 ~ A5 can also be adopted, which is according to number 14 ~ 19. dataPin is the pin each bit is input from.

    • clockPin: before starting reading dataPin, this clockPin is to be toggle once.

    • bitOrder: either MSBFIRST or LSBFIRST, corresponding to Most Significant Bit First or, Least Significant Bit First.

  • return: byte.

2.4.5 unsigned long PulseIn(pin, value, timeout);

  • brief: read pulse length in ms.

  • param:

    • pin: analog IO pin index, must be a value between 0 and 5, corresponding to analog pin A0 ~ A5.

    • value: HIGH or LOW. HIGH refers to a high level pulse, entering and leaving at a high level voltage; LOW refers to a low level pulse, entering and leaving at a low level voltage.

    • timeout (optional): ms to wait for the pulse to be completed.

  • return: unsigned long.

Previous2.3 Analog IONext2.5 Time Functions

Last updated 7 years ago