国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

nodejs和樹莓派開發以及點亮RGB的LED燈代碼

liuchengxu / 1546人閱讀

摘要:前段時間集團舉行前端比賽,借此機會熟悉了樹莓派相關的東西,特此記錄一些相關的文檔和開發指南。一個鏈接控制硬件的基礎庫,比如控制串口,和鏈接串口的設備進行通信等,他有很多版本,樹莓派的版本見這里安裝有點,麻煩。

前段時間集團舉行前端IOT比賽,借此機會熟悉了樹莓派相關的東西,特此記錄一些相關的文檔和開發指南。

先介紹一些樹莓派的入門教程

阮一峰的樹莓派入門

微雪電子-樹莓派硬件中文官網

ssh鏈接樹莓派

ssh pi@dd.dd.dd.dd(ip)
密碼:raspberry

設置顯示設備

推薦選購3.5吋或者5吋的HDMI顯示設備,我第一次買的3.2吋的串口顯示器,占用了我20個串口的針腳。

設備鏈接見這里

使用3.5吋顯示器

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

cd /boot/LCD-show/
./LCD-hdmi
設置旋轉屏幕

設置顯示方向
安裝完觸摸驅動后,可以通過運行以下命令修改屏幕旋轉方向。

旋轉0度:

cd /boot/LCD-show/
./LCD35-show 0
旋轉90度:

cd /boot/LCD-show/
./LCD35-show 90
旋轉180度:

cd /boot/LCD-show/
./LCD35-show 180
旋轉270度:

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

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

介紹一些相關的nodejs的庫

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

一個適配各種板子的串口的基礎庫,當你需要點亮LED小燈泡的時候需要用到它

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.

和上面一個庫搭配使用。

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.

一個控制打開某個串口針腳的基礎庫。

serialport

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

一個鏈接控制硬件的基礎庫,比如控制USB串口,和鏈接USB串口的設備進行通信等,他有很多版本,樹莓派的版本見這里

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

安裝有點,麻煩。我折騰了3小時、、、、

點亮一個LED燈

LED燈分為簡單的兩個針腳的二極管燈,點亮見前面阮一峰博客,下面重點介紹一下RGB的LED燈


如上所示。這樣的燈點亮的教程比較少。

第一步選擇對應的串口針腳,首先不要把插針腳2,即:+5V口那個。

我插了兩個分別是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]}`,
                    }
                })
                // 打開 11 號針腳(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
}

更多內容詳見我的博客

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/51006.html

相關文章

  • 樹莓擴展板 sense HAT 相關接口

    摘要:表示磁場強度的值浮動軸的。操縱桿操縱事件描述操縱桿事件的元組。在發生事件之前阻止執行,然后返回一個表示發生的事件的。相關資料博客原文原文樹莓派的一個入門項目來自官方的簡介 從官方給的 api 文檔中硬翻的... LED 模型 set_rotation 設置翻轉角度 這個函數可以設置 led 的旋轉角度 參數 類型 可選參數 描述 r Integer 0,90,180,270...

    王偉廷 評論0 收藏0
  • 第一課:超級hello Arduino.使用多種知識串聯一個入門小項目,很適合初學第一課喲.

    摘要:開關旋鈕電位器的實驗視頻已經購買開發版的同學開始上課來一場緊張刺激的之旅吧前言開發工具的下載安裝使用都很簡單我這里就不贅述了附上官方的說明跟著步驟來十分鐘搞定相關連接下載官方為什么成為開發函數 ...

    philadelphia 評論0 收藏0
  • 單片機驅動能力對點亮LED影響

    摘要:可是在現實操作過程中總有一種方式出現問題,這就不得不提到現實情況下單片機的驅動能力對實驗結果的影響。但是在現實中由于單片機驅動能力的影響往往第一種是無法點亮燈的。 一、LED燈與單片機的連接方式 ? ? ? ? ?在proteus仿真中,無論LED燈是負極連接IO端口,正極通過電阻連接VCC...

    learning 評論0 收藏0
  • 如何利用單片機控制一顆LED 閃爍

    摘要:點亮一顆燈是我們學習單片機入門的開始,今天目標的是利用單片機控制燈閃爍,下圖是仿真電路圖,圖中單片機左邊為系統的時鐘電路和復位電路,右邊是燈電路。包含頭文件定義引腳,用來連接燈延時函數,實現對燈的亮滅延時控制點亮燈延時熄滅燈延時 ? ? 點亮一顆LED燈是我們學習單片機入門的開始,今天目標的...

    LucasTwilight 評論0 收藏0
  • Ruff 1.2 | 使用JavaScript 快速開發智能硬件應用

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

    printempw 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<