johnny-five is very promising

This commit is contained in:
2024-03-03 15:22:51 +07:00
parent ca72e479f3
commit 71c4ec5072
20 changed files with 511 additions and 123 deletions

View File

@@ -1,17 +0,0 @@
import Firmata, { PIN_MODE, PIN_STATE } from 'firmata';
const board = new Firmata('/dev/ttyUSB2');
board.on('ready', async () => {
// board.analogWrite(0, 255);
// board.analogWrite(1, 255);
// board.analogWrite(2, 255);
board.analogRead(0, (val) => {
console.log(val);
})
while (true) {
await new Promise (resolve => setTimeout(resolve, 90));
}
})

View File

@@ -1,17 +0,0 @@
const Firmata = require('firmata');
const board = new Firmata('/dev/ttyUSB0');
board.on('ready', async () => {
const led = 12;
board.pinMode(led, board.MODES.OUTPUT);
while (true) {
board.digitalWrite(led, board.HIGH);
console.log("ON");
await new Promise(resolve => setTimeout(resolve, 300));
board.digitalWrite(led, board.LOW);
console.log("OFF");
await new Promise(resolve => setTimeout(resolve, 300));
}
});

13
test/serial/blink.ts Normal file
View File

@@ -0,0 +1,13 @@
import Firmata from 'firmata';
import { Board, Pin, PinMode } from "johnny-five";
const board = new Board({
port: '/dev/ttyUSB0',
repl: false
});
board.on('ready', () => {
board.pinMode(13, Pin.OUTPUT);
board.digitalWrite(13, 1);
})

11
test/serial/checkBoard.ts Normal file
View File

@@ -0,0 +1,11 @@
import { Board } from "johnny-five";
const board: Board = new Board({
port: '/dev/ttyUSB0',
debug: false,
repl: false
});
setInterval(() => {
console.log(board.isReady);
}, 400);

27
test/serial/events.ts Normal file
View File

@@ -0,0 +1,27 @@
import { Board } from "johnny-five";
const board: Board = new Board({
port: '/dev/ttyUSB1',
debug: false,
repl: false
});
board.on('ready', () => {
console.log("Board is ready");
})
board.on('close', () => {
console.log("Board is close");
})
board.on('connect', () => {
console.log("Board is connect");
})
board.on('exit', () => {
console.log("Board is exit");
})
board.on('fail', () => {
console.log("Board is fail");
})

View File

@@ -1,18 +0,0 @@
import Firmata from 'firmata';
const board = new Firmata('/dev/ttyUSB2');
board.on('ready', async () => {
board.analogRead(2, (val) => {
console.log(board.analogPins[2]);
const output = board.pins.map((p, i) => {
return `Pin ${i}: ${p.value}`
}).join(", ");
console.log(output);
})
while (true) {
await new Promise(resolve => setTimeout(resolve, 200));
}
})

View File

@@ -1,20 +0,0 @@
const Firmata = require('firmata');
const board = new Firmata('/dev/ttyUSB0');
board.on('ready', async () => {
const led = 12;
board.pinMode(led, board.MODES.OUTPUT);
let state = board.LOW;
board.digitalWrite(led, board.HIGH);
state = board.pins[led].value;
while (true) {
console.log(state);
await new Promise(resolve => setTimeout(resolve, 1000));
}
});

View File

@@ -1,11 +0,0 @@
import Firmata from 'firmata';
const board = new Firmata('/dev/ttyUSB1');
board.on('ready', () => {
board.pinMode(0, Firmata.PIN_MODE.INPUT);
board.analogRead(0, (val) => {
console.log(val);
})
})

25
test/serial/rgbLed.js Normal file
View File

@@ -0,0 +1,25 @@
const { Board, Led } = require("johnny-five");
const board = new Board({
port: '/dev/ttyUSB0',
repl: false,
debug: false
})
board.on('ready', () => {
const led = new Led.RGB([7, 6, 5]);
let ins = 252;
board.loop(10, () => {
led.color("#0000FF");
led.intensity(ins);
ins--;
if (ins < 1) {
ins = 255;
}
})
board.analogRead(0, (val) => {
console.log(val);
})
});

28
test/serial/rgbLed.ts Normal file
View File

@@ -0,0 +1,28 @@
import { Board, Led } from "johnny-five";
const board = new Board({
port: '/dev/ttyUSB0',
repl: false,
debug: false
})
board.on('ready', () => {
const led = new Led.RGB({
pins: {
red: 7,
green: 6,
blue: 5,
},
isAnode: true
})
let ins = 100;
board.loop(10, () => {
led.intensity(ins);
ins--;
if (ins < 1) {
ins = 100;
}
})
});

View File