成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

nodejs和樹(shù)莓派開(kāi)發(fā)以及點(diǎn)亮RGB的LED燈代碼

liuchengxu / 1551人閱讀

摘要:前段時(shí)間集團(tuán)舉行前端比賽,借此機(jī)會(huì)熟悉了樹(shù)莓派相關(guān)的東西,特此記錄一些相關(guān)的文檔和開(kāi)發(fā)指南。一個(gè)鏈接控制硬件的基礎(chǔ)庫(kù),比如控制串口,和鏈接串口的設(shè)備進(jìn)行通信等,他有很多版本,樹(shù)莓派的版本見(jiàn)這里安裝有點(diǎn),麻煩。

前段時(shí)間集團(tuán)舉行前端IOT比賽,借此機(jī)會(huì)熟悉了樹(shù)莓派相關(guān)的東西,特此記錄一些相關(guān)的文檔和開(kāi)發(fā)指南。

先介紹一些樹(shù)莓派的入門(mén)教程

阮一峰的樹(shù)莓派入門(mén)

微雪電子-樹(shù)莓派硬件中文官網(wǎng)

ssh鏈接樹(shù)莓派

ssh [email protected](ip)
密碼:raspberry

設(shè)置顯示設(shè)備

推薦選購(gòu)3.5吋或者5吋的HDMI顯示設(shè)備,我第一次買(mǎi)的3.2吋的串口顯示器,占用了我20個(gè)串口的針腳。

設(shè)備鏈接見(jiàn)這里

使用3.5吋顯示器

cd /boot/LCD-show/
./LCD35-show
使用HDMI輸出

cd /boot/LCD-show/
./LCD-hdmi
設(shè)置旋轉(zhuǎn)屏幕

設(shè)置顯示方向
安裝完觸摸驅(qū)動(dòng)后,可以通過(guò)運(yùn)行以下命令修改屏幕旋轉(zhuǎn)方向。

旋轉(zhuǎn)0度:

cd /boot/LCD-show/
./LCD35-show 0
旋轉(zhuǎn)90度:

cd /boot/LCD-show/
./LCD35-show 90
旋轉(zhuǎn)180度:

cd /boot/LCD-show/
./LCD35-show 180
旋轉(zhuǎn)270度:

cd /boot/LCD-show/
./LCD35-show 270
聲音設(shè)置為非HDMI輸出

Bash
sudo amixer cset numid=3 1
需要注意的是如果你是瀏覽器播放聲音。。拔掉顯示器后貌似瀏覽器就進(jìn)入后臺(tái)模式不播放聲音了。

介紹一些相關(guān)的nodejs的庫(kù)

https://github.com/rwaldron/j...

一個(gè)適配各種板子的串口的基礎(chǔ)庫(kù),當(dāng)你需要點(diǎn)亮LED小燈泡的時(shí)候需要用到它

Raspi-io

Raspi-io is a Firmata API compatible library for Raspbian running on the Raspberry Pi that can be used as an I/O plugin with Johnny-Five.

和上面一個(gè)庫(kù)搭配使用。

rpio

https://github.com/jperkin/no...

This is a high performance node.js addon which provides access to the Raspberry Pi GPIO interface, supporting regular GPIO as well as i2c, PWM, and SPI.

一個(gè)控制打開(kāi)某個(gè)串口針腳的基礎(chǔ)庫(kù)。

serialport

https://github.com/EmergingTe...

一個(gè)鏈接控制硬件的基礎(chǔ)庫(kù),比如控制USB串口,和鏈接USB串口的設(shè)備進(jìn)行通信等,他有很多版本,樹(shù)莓派的版本見(jiàn)這里

https://www.npmjs.com/package...

安裝有點(diǎn),麻煩。我折騰了3小時(shí)、、、、

點(diǎn)亮一個(gè)LED燈

LED燈分為簡(jiǎn)單的兩個(gè)針腳的二極管燈,點(diǎn)亮見(jiàn)前面阮一峰博客,下面重點(diǎn)介紹一下RGB的LED燈


如上所示。這樣的燈點(diǎn)亮的教程比較少。

第一步選擇對(duì)應(yīng)的串口針腳,首先不要把插針腳2,即:+5V口那個(gè)。

我插了兩個(gè)分別是RGB為:[29,31,33],[36,38,40]

代碼如下

var five = require("johnny-five");
var Raspi = require("raspi-io")
var rpio = require("rpio");
var isLED1On=false;
var isLED2On=false;
var LED = {
    LED1:null,
    LED2:null,
    init(LED1=[29,31,33],LED2=[36,38,40]){
        var board = new five.Board({
            io:new Raspi({enableSoftPwm:true})
        });
        this.LED1=LED1;
        this.LED2=LED2
        board.on("ready",function(){
            return new Promise(function(resolve,reject){
                var led1 =  new five.Led.RGB({
                    pins: {
                        red: `P1-${LED1[0]}`,
                        green: `P1-${LED1[1]}`,
                        blue:`P1-${LED1[2]}`,
                    }
                })
                var led2 =  new five.Led.RGB({
                    pins: {
                        red: `P1-${LED2[0]}`,
                        green: `P1-${LED2[1]}`,
                        blue:`P1-${LED2[2]}`,
                    }
                })
                // 打開(kāi) 11 號(hào)針腳(GPIO17) 作為輸出
                rpio.open(LED1[0], rpio.OUTPUT);
                rpio.open(LED1[1], rpio.OUTPUT);
                rpio.open(LED1[2], rpio.OUTPUT);
                rpio.open(LED2[0], rpio.OUTPUT);
                rpio.open(LED2[1], rpio.OUTPUT);
                rpio.open(LED2[2], rpio.OUTPUT);
                rpio.open(LED1[0], rpio.HIGH);
                rpio.open(LED1[1], rpio.HIGH);
                rpio.open(LED1[2], rpio.HIGH);
                resolve(board);
            })
        })
    },
    openLED1(){
        console.log("led1"+JSON.stringify(this))
        rpio.write(this.LED1[0], rpio.HIGH);
        rpio.write(this.LED1[1], rpio.HIGH);
        rpio.write(this.LED1[2], rpio.HIGH);
        isLED1On=true;
    },
    openLED2(){
        rpio.write(this.LED2[0], rpio.HIGH);
        rpio.write(this.LED2[1], rpio.HIGH);
        rpio.write(this.LED2[2], rpio.HIGH);
        isLED2On=true;
    },
    closeLED1(){
        console.log("led1"+JSON.stringify(this))
        rpio.write(this.LED1[0], rpio.LOW);
        rpio.write(this.LED1[1], rpio.LOW);
        rpio.write(this.LED1[2], rpio.LOW);
        isLED1On=false;
    },
    closeLED2(){
        rpio.write(this.LED2[0], rpio.LOW);
        rpio.write(this.LED2[1], rpio.LOW);
        rpio.write(this.LED2[2], rpio.LOW);
        isLED2On=false;
    },
    flashLED1(){
        if(isLED1On){
            return;
        }
        var self = this;
        self.openLED1();
        setTimeout(function () {
            self.closeLED1();
        },3000);
    },
    flashLED2(){
        if(isLED2On){
            return;
        }
        var self = this;
        self.openLED2();
        setTimeout(function () {
            self.closeLED2()
        },3000);
    },

}
module.exports={
    led:LED
}

更多內(nèi)容詳見(jiàn)我的博客

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/51006.html

相關(guān)文章

  • 樹(shù)莓擴(kuò)展板 sense HAT 相關(guān)接口

    摘要:表示磁場(chǎng)強(qiáng)度的值浮動(dòng)軸的。操縱桿操縱事件描述操縱桿事件的元組。在發(fā)生事件之前阻止執(zhí)行,然后返回一個(gè)表示發(fā)生的事件的。相關(guān)資料博客原文原文樹(shù)莓派的一個(gè)入門(mén)項(xiàng)目來(lái)自官方的簡(jiǎn)介 從官方給的 api 文檔中硬翻的... LED 模型 set_rotation 設(shè)置翻轉(zhuǎn)角度 這個(gè)函數(shù)可以設(shè)置 led 的旋轉(zhuǎn)角度 參數(shù) 類型 可選參數(shù) 描述 r Integer 0,90,180,270...

    王偉廷 評(píng)論0 收藏0
  • 第一課:超級(jí)hello Arduino.使用多種知識(shí)串聯(lián)一個(gè)入門(mén)小項(xiàng)目,很適合初學(xué)第一課喲.

    摘要:開(kāi)關(guān)旋鈕電位器的實(shí)驗(yàn)視頻已經(jīng)購(gòu)買(mǎi)開(kāi)發(fā)版的同學(xué)開(kāi)始上課來(lái)一場(chǎng)緊張刺激的之旅吧前言開(kāi)發(fā)工具的下載安裝使用都很簡(jiǎn)單我這里就不贅述了附上官方的說(shuō)明跟著步驟來(lái)十分鐘搞定相關(guān)連接下載官方為什么成為開(kāi)發(fā)函數(shù) ...

    philadelphia 評(píng)論0 收藏0
  • 單片機(jī)驅(qū)動(dòng)能力對(duì)點(diǎn)亮LED影響

    摘要:可是在現(xiàn)實(shí)操作過(guò)程中總有一種方式出現(xiàn)問(wèn)題,這就不得不提到現(xiàn)實(shí)情況下單片機(jī)的驅(qū)動(dòng)能力對(duì)實(shí)驗(yàn)結(jié)果的影響。但是在現(xiàn)實(shí)中由于單片機(jī)驅(qū)動(dòng)能力的影響往往第一種是無(wú)法點(diǎn)亮燈的。 一、LED燈與單片機(jī)的連接方式 ? ? ? ? ?在proteus仿真中,無(wú)論LED燈是負(fù)極連接IO端口,正極通過(guò)電阻連接VCC...

    learning 評(píng)論0 收藏0
  • 如何利用單片機(jī)控制一顆LED 閃爍

    摘要:點(diǎn)亮一顆燈是我們學(xué)習(xí)單片機(jī)入門(mén)的開(kāi)始,今天目標(biāo)的是利用單片機(jī)控制燈閃爍,下圖是仿真電路圖,圖中單片機(jī)左邊為系統(tǒng)的時(shí)鐘電路和復(fù)位電路,右邊是燈電路。包含頭文件定義引腳,用來(lái)連接燈延時(shí)函數(shù),實(shí)現(xiàn)對(duì)燈的亮滅延時(shí)控制點(diǎn)亮燈延時(shí)熄滅燈延時(shí) ? ? 點(diǎn)亮一顆LED燈是我們學(xué)習(xí)單片機(jī)入門(mén)的開(kāi)始,今天目標(biāo)的...

    LucasTwilight 評(píng)論0 收藏0
  • Ruff 1.2 | 使用JavaScript 快速開(kāi)發(fā)智能硬件應(yīng)用

    摘要:以為這樣就又結(jié)束了當(dāng)然不一個(gè)專為硬件開(kāi)發(fā)而設(shè)計(jì)的運(yùn)行時(shí),開(kāi)發(fā)者可使用快速開(kāi)發(fā)智能硬件應(yīng)用。為開(kāi)發(fā)者提供統(tǒng)一的硬件資源的抽象,幫助開(kāi)發(fā)者便捷管理。同時(shí)為不同板卡初始化項(xiàng)目,支持為不同的板卡進(jìn)行硬件布局。 Ruff 開(kāi)發(fā)套件到手,興奮地打開(kāi)盒子,跟著文檔用 Ruff 點(diǎn)亮了一盞燈,蜂鳴器、LCD 、LED 、聲音、光照、溫濕度傳感器,紅外接收發(fā)送。 玩完這些模塊就結(jié)束了?Ruff 還可以怎...

    printempw 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<