文档章节

raspberry pi 2用golang 控制GPIO

zhangzhihai
 zhangzhihai
发布于 2017/01/13 14:45
字数 147
阅读 25
收藏 0

/*
# Date:        2016-11-10
# Author:      simonzhang
# web:         www.simonzhang.net
# Email:       simon-zzm@163.com
*/
package main

import (
    "os"
    "github.com/stianeikeland/go-rpio"
    "time"
)

var (
    aio = rpio.Pin(14)
    fio = rpio.Pin(4)
    alertCount int = 0
)

// 风扇端口
func fWrite(status string){
    fio.Output()
    if status == "high"{
        fio.High()
    }else if status == "low"{
        fio.Low()
    }
}

// 监控端口
func aRead() int{
    aio.Input()
    return int(aio.Read())
}

func main() {
    err := rpio.Open()
    if err != nil {
        os.Exit(1)
    }
    defer rpio.Close()
    // 因为没有while 直接用for
    for {
        // 数字不能太大
        // 1是内存问题,2是停止风扇范围
        if aRead() == 1 {
            if alertCount > 0{
                alertCount -= 1
            }
        }else{
            if alertCount <= 10{
                alertCount += 1
            }
        }
        //print(alertCount, "   ", aRead(), "\n")
        //
        if alertCount > 3{
            fWrite("high")
        } else {
            fWrite("low")
        }
        // 每次次循环等待一秒钟
        time.Sleep(1000 * time.Millisecond)
    }
}

© 著作权归作者所有

上一篇: golang crontab
zhangzhihai
粉丝 2
博文 18
码字总数 2207
作品 0
浦东
高级程序员
私信 提问
为一个家庭自动化系统设置系统软件

安装 WiringPi 和 433Utils,这是您的家庭自动化系统的两个关键的系统软件组件 系列内容: 此内容是该系列 # 部分中的第 # 部分: IoT 与智能家居,第 2 部分 此内容是该系列的一部分:IoT 与...

J Steven Perry
2018/04/26
0
0
用raspberry pi 实现微博开关灯

hack总喜欢在虚拟的网络世界控制现实世界,比如《生活大爆炸》里的远程开灯,英国IT宅男用twitter喂狗。利用待业在家的闲暇时间,在raspberry pi 上实现了用微博开关灯。实现过程比代码更有趣...

金衣人
2012/09/04
2.2K
6
Raspberry Pi GPIO 使用入门

Raspberry Pi有许多的GPIO(General Purpose Input Output:通用输入/输出),可以用来控制和读取数字电路中TTL电平的逻辑0和逻辑1。我们要使用RPi的GPIO首先要知其GPIO的定义,常用的有两种...

酸酸苹果汁
2014/01/13
29.9K
3
Ubuntu MATE 推出树莓派版本

基于 Ubuntu Bionic Beaver 的 Ubuntu MATE 在 18.04 版本中发布了支持树莓派的版本。 Ubuntu MATE 官方发布了 armhf(ARMv7 32位)和 arm64(ARMv8 64位)两个独立镜像,针对 Raspberry Pi...

h4cd
04/06
1K
5
树莓派使用入门:进入物理世界 —— 如何使用树莓派的 GPIO 针脚

在树莓派使用入门的第十篇文章中,我们将学习如何使用 GPIO。 到目前为止,本系列文章主要专注于树莓派的软件方面,而今天我们将学习硬件。在树莓派最初发布时,最让我感兴趣的主要特性之一就...

作者: Anderson Silva
04/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

lopatkin俄大神Windows精简版系统 安装教程 简单版

1.制作U盘启动盘 或 安装pe到电脑 下载微pe工具箱.(为什么用这个呢,因为这个无毒,无广告,无后门.其它pe在安装完系统会安装一堆木马,垃圾软件,后门什么的) pe制作工具下载http://www.wepe.com...

xiaogg
30分钟前
4
0
【0917】Linux shell基础知识2

【0917】Linux shell基础知识2 8.7/8.8 shell变量 8.9 环境变量配置文件 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号 一、shell变量 1、使用...

飞翔的竹蜻蜓
32分钟前
3
0
管理角色认知-新晋管理常常犯的错

背景 管理是一门实践科学,从知道到做到,需要长时间的刻意练习,提前知道那些坑,可以提前规避。 坑1:被动执行 现象: 不主动找活干,等上级派活; 上级有了安排,指望上级替他决定实现方案...

春天spring
33分钟前
4
0
MongoDB4.0.2集群搭建

MongoDB4.0.2集群搭建 2019.02.01 01:02 619浏览 MongoDB4.0.2集群搭建 根据对象存储平台Django+MongoDB+Ceph的需求,现搭建部署一个十节点的MongoDB集群,主要以下关键点: 根据最新版本Mon...

linjin200
36分钟前
5
0
面试官问你B树和B+树,就把这篇文章丢给他

原文链接:面试官问你B树和B+树,就把这篇文章丢给他 1 B树 在介绍B+树之前, 先简单的介绍一下B树,这两种数据结构既有相似之处,也有他们的区别,最后,我们也会对比一下这两种数据结构的区...

欧阳思海
40分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部