Andrey Kucherenko
Creator and curator of training platform for developers - https://startupemulator.com/. Math.random() community leader - https://t.me/mathrandomcommunity Engineer with more than 21 years of experience in IT.
Andrey Kucherenko
Интернет вещей (IoT)
Микроконтроллер: ATmega328
Рабочее напряжение: 5 В
Входное напряжение (рекомендуемое): 7-12 В
Входное напряжение (предельное): 6-20 В
Цифровые Входы/Выходы: 14
(6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы: 6
Постоянный ток через вход/выход: 40 мА
Постоянный ток для вывода 3.3 ВЖ 50 мА
Флеш-память: 32 Кб (ATmega328) из которых 0.5 Кб используются для загрузчика
ОЗУ: 2 Кб (ATmega328)
EEPROM: 1 Кб (ATmega328)
Тактовая частота: 16 МГц
var five = require("johnny-five");
var myBoard, myLed;
myBoard = new five.Board();
myBoard.on("ready", function() {
myLed = new five.Led(13);
myLed.strobe( 1000 );
// make myLED available as "led" in REPL
this.repl.inject({
led: myLed
});
/**
* try "on", "off", "toggle",
* "strobe", "stop" (stops strobing)
*/
});
JavaScript Robotics, By Your Command. Next generation robotics framework with support for 35 different platforms
var Cylon = require('cylon');
Cylon.robot({
connections: {
arduino: {
adaptor: 'firmata',
port: '/dev/ttyACM0'
}
},
devices: {
led: { driver: 'led', pin: 13 }
},
work: function(my) {
every((1).second(), my.led.toggle);
}
}).start();
var five = require("johnny-five");
var raspi = require('raspi-io');
var myBoard, myLed;
myBoard = new five.Board({io: new raspi()});
myBoard.on("ready", function() {
myLed = new five.Led(13);
myLed.strobe( 1000 );
// make myLED available as "led" in REPL
this.repl.inject({
led: myLed
});
/**
* try "on", "off", "toggle",
* "strobe", "stop" (stops strobing)
*/
});
var Cylon = require('cylon');
Cylon.robot({
connections: {
arduino: {
adaptor: 'raspi'
}
},
devices: {
led: { driver: 'led', pin: 13 }
},
work: function(my) {
every((1).second(), my.led.toggle);
}
}).start();
var Cylon = require('cylon');
Cylon.robot({
connections: {
edison: { adaptor: 'intel-iot' }
},
devices: {
led: { driver: 'led', pin: 13 }
},
work: function(my) {
every((1).second(), my.led.toggle);
}
}).start();
var Cylon = require('cylon');
Cylon.robot({
connections: {
edison: {adaptor: 'intel-iot'},
sphero: {adaptor: 'sphero', port: "/dev/rfcomm0"}
},
devices: {
sphero: {driver: 'sphero', connection: 'sphero'}
},
work: function (my) {
var color = process.argv[2] || 0xFF0000;
my.sphero.color(color);
}
});
Cylon.start();
var Cylon = require('cylon');
Cylon.robot({
connections: {
edison: { adaptor: 'intel-iot'},
sphero: { adaptor: 'sphero', port: '/dev/rfcomm0' }
},
devices: {
led: { driver: 'led', pin: 13, connection: 'edison' },
sphero: { driver: 'sphero', connection: 'sphero' }
},
work: function(my) {
my.sphero.stop();
my.sphero.detectCollisions();
my.sphero.on('collision', function() {
my.led.toggle();
});
}
}).start();
var Cylon = require('cylon');
Cylon.robot({
connections: {
sphero: { adaptor: 'sphero', port: '/dev/rfcomm0' }
},
devices: {
sphero: { driver: 'sphero' }
},
work: function(my) {
var flag = true;
var color = 0x00FF00,
bitFilter = 0xFFFF00;
console.log("Setting up Collision Detection...");
my.sphero.on("collision", function() {
console.log("Collision:");
color = color ^ bitFilter;
console.log("Color: " + (color.toString(16)) + " ");
my.sphero.color(color);
});
my.sphero.detectCollisions();
every((2).second(), function () {
my.sphero.roll(60, flag ? 190 : 10);
flag = !flag;
});
}
}).start();
var arDrone = require('ar-drone');
var client = arDrone.createClient();
client.takeoff();
client
.after(5000, function() {
this.clockwise(0.5);
})
.after(3000, function() {
this.stop();
this.land();
});
var arDrone = require('ar-drone');
var client = arDrone.createClient();
client.createRepl();
$ node repl.js
// Make the drone takeoff
drone> takeoff()
true
// Wait for the drone to takeoff
drone> clockwise(0.5)
0.5
// Let the drone spin for a while
drone> land()
true
// Wait for the drone to land
var bebop = require('node-bebop');
var drone = bebop.createClient();
drone.connect(function() {
drone.takeOff();
setTimeout(function() {
drone.land();
}, 5000);
});
By Andrey Kucherenko
Small speech about arduino, raspberry pi, drones and javascript language
Creator and curator of training platform for developers - https://startupemulator.com/. Math.random() community leader - https://t.me/mathrandomcommunity Engineer with more than 21 years of experience in IT.