2.5.4 • Published 6 years ago

mmm-usonic-fixed v2.5.4

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

mmm-usonic

A high performance, memory mapped, Node.js API for the HC-SR04 ultrasonic sensor connected to a Raspberry Pi. It's the updated version of clebert's r-pi-usonic API.

Getting Started

Installation

npm install mmm-usonic --save

Integration

var usonic = require('mmm-usonic');

API

usonic.init(callback)

Creates the memory mapping with a device-specific memory offset.

You must call this function only once and before any other function.

usonic.init(function (error) {
    if (error) {
        ...
    } else {
        ...
    }
});

usonic.createSensor(echoPin, triggerPin, timeout)

Creates a new ultrasonic sensor function and returns it. The measurement timeout has a default value of 750 µs.

var sensor = usonic.createSensor(24, 23, 450);

sensor()

Returns the distance in cm if no measurement timeout occurs, and -1 otherwise.

var distance = sensor();

Example

This example needs access to the physical memory, so it must run as root.

sudo node examples/surveyor.js

Example: hcsr04.png

Raspberry Pi GPIO Pin Layout

Raspberry Pi Model A/B (Rev 1.0)

AssignmentPinPinAssignment
3.3V125V
GPIO 0 (SDA0)345V
GPIO 1 (SCL0)56GROUND
GPIO 478GPIO 14 (TXD0)
GROUND910GPIO 15 (RXD0)
GPIO 171112GPIO 18
GPIO 211314GROUND
GPIO 221516GPIO 23
3.3V1718GPIO 24
GPIO 10 (SPI_MOSI)1920GROUND
GPIO 9 (SPI_MISO)2122GPIO 25
GPIO 11 (SPI_SCLK)2324GPIO 8 (SPI_CE0_N)
GROUND2526GPIO 7 (SPI_CE1_N)

Raspberry Pi Model A/B (Rev 2.0)

AssignmentPinPinAssignment
3.3V125V
GPIO 2 (SDA1)345V
GPIO 3 (SCL1)56GROUND
GPIO 478GPIO 14 (TXD0)
GROUND910GPIO 15 (RXD0)
GPIO 171112GPIO 18
GPIO 271314GROUND
GPIO 221516GPIO 23
3.3V1718GPIO 24
GPIO 10 (SPI_MOSI)1920GROUND
GPIO 9 (SPI_MISO)2122GPIO 25
GPIO 11 (SPI_SCLK)2324GPIO 8 (SPI_CE0_N)
GROUND2526GPIO 7 (SPI_CE1_N)

Raspberry Pi Model B+ / Raspberry Pi 2 Model B

AssignmentPinPinAssignment
3.3V125V
GPIO 2 (SDA1)345V
GPIO 3 (SCL1)56GROUND
GPIO 478GPIO 14 (TXD0)
GROUND910GPIO 15 (RXD0)
GPIO 171112GPIO 18
GPIO 271314GROUND
GPIO 221516GPIO 23
3.3V1718GPIO 24
GPIO 10 (SPI_MOSI)1920GROUND
GPIO 9 (SPI_MISO)2122GPIO 25
GPIO 11 (SPI_SCLK)2324GPIO 8 (SPI_CE0_N)
GROUND2526GPIO 7 (SPI_CE1_N)
ID_SD2728ID_SC
GPIO 52930GROUND
GPIO 63132GPIO 12
GPIO 133334GROUND
GPIO 193536GPIO 16
GPIO 263738GPIO 20
GROUND3940GPIO 21

Related Links

Running Tests

To run the test suite first install the development dependencies:

npm install

then run the tests:

npm test