分享
  1. 首页
  2. 文章

raspberry pi 2用golang 控制GPIO

zhangzhihai · · 3713 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

/*
# 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)
}
}


有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:zhangzhihai

查看原文:raspberry pi 2用golang 控制GPIO

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
3713 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏