Several methods of controlling a vacuum cleaner (10) using various types of sensors (94, 96, 97, 98) are provided. One method is based on a differential pressure between a suction airflow path and ambient air and includes: detecting the differential pressure, comparing the detected differential pressure to a predetermined threshold, and, when the detected differential pressure is less than the predetermined threshold, initiating a predetermined control procedure. A status indicator (164) is updated based on the detected differential pressure. Another method is based on a level of electrical current flowing through a brush motor (100). Still another method is based on a type or condition of the floor being traversed. Yet another method is based on a distance to a surface of a floor over which the vacuum cleaner is advancing. In another aspect of the invention, a vacuum cleaner is provided. In various combinations, the vacuum cleaner includes a vacuum source (36, 38), a brush motor (100), a drive motor (104), a controller processor (74), a sensor processor (90), an overcurrent sensor (98), a suction airflow sensor (94), a floor type sensor (97), and a floor distance sensor (96).