Skip to content
/ huskylens Public

Johnny-Five plug in for the HuskyLens AI Vision Center

License

Notifications You must be signed in to change notification settings

dtex/huskylens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HuskyLens

A Johnny-Five plug-in for the HuskyLens AI Vision Sensor. Learn more about the HuskyLens at DFRobot.

AI on robots doesn't get any easier than this.

HuskyLens Image courtesy DFRobot

To purchase the HuskyLens, go to dfrobot.com

This repo is not affiliated with DFRobot. Their HuskyLens stuff is here.

Example

const five = require("johnny-five");
const HuskyLens = require("../index.js")(five);

const board = new five.Board();

board.on("ready", () => {

  const lens = new HuskyLens({
    pins: { rx:11, tx:10 },
    mode: "OBJECT_RECOGNITION"
  });

  lens.on("ready", () => {
    console.log("The HuskyLens is connected and ready");
  });

  lens.on("block", block => {
    console.log(block);
  });

  lens.on("arrow", arrow => {
    console.log(arrow);
  });

});

See the examples folder for more, uh, examples.

Instantiation

const lens = new HuskyLens(opts);

The opts parameter can be an array of pins in [rx, tx] order or a complete options object.

If an object:

opts.pins - An array of pins in [rx, tx] order or a pins object { rx: 11, tx: 10 }.

opts.mode - A string selecting which mode to put the HuskyLens in at start (default: "FACE_RECOGNITION"). Recognized values are:

  • "FACE_RECOGNITION"
  • "OBJECT_TRACKING"
  • "OBJECT_RECOGNITION"
  • "LINE_TRACKING"
  • "COLOR_RECOGNITION"
  • "TAG_RECOGNITION"
  • "OBJECT_CLASSIFICATION"

opts.baud - The speed of serial communications between your device and the HuskyLens (default: 9600)

opts.freq - The frequency of data updates requested from the HuskyLens (default: 10hz)

Methods

lens.mode(<string> mode);

Change modes at run time. mode can be any of the values described in the "Instantiation" section. If no value is passed for mode, this method will return the current mode as a string.

lens.freq(<number> frequency);

Set the frequency (in hz) of data updates from the HuskyLens. If no value is passed for frequency, this method will return th current frequency.

lens.stop();

Stop requesting updates from the HuskyLens.

lens.start();

Resume requesting updates from the HuskyLens.

Events

The lens instance is an event emitter so you can simply set up listeners to take action when new information is reported.

// When any block is received
lens.on("block", data => {
  console.log(data);
});

// When block id:3 is received
lens.on("block-3", data => {
  console.log(data);
});

// When an arrow is received
lens.on("arrow", data => {
  console.log(data);
});

// When an arrow id:2 is received
lens.on("arrow-2", data => {
  console.log(data);
});

About

Johnny-Five plug in for the HuskyLens AI Vision Center

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published