树莓派使用WiringPi实现LED灯闪烁
2014-10-03 22:39
489 查看
树莓派使用WiringPi实现LED灯闪烁
前几天入手树莓派,刷了系统就想做一些有趣的事情。
工具:一个LED发光二极管(各颜色皆可,我选用的是3V绿色的)
一个定值电阻(为了树莓派的安全,建议使用,具体多少根据情况而定,我没有使用)
母对母杜邦线2根(可选)
一个树莓派且已烧好系统
首先安装WiringPi,安装过程不再赘述。
然后写一个简单的代码。
要是不知道WiringPi各个函数的作用可以参考
下载地址:百度网盘下载
如果链接不能用请告诉我
源代码如下:
$vim myfirstLED.c
编辑完之后wq保存退出
编译:
$gcc -Wall myfirstLED.c -o MyFirstLED -lwiringPi
!!注意不加 -lwiringPi 参数会报错
运行一下
#./MyFirstLED 1
我设置闪烁次数为50000次
闪烁间隔为50ms
可以使用
$gpio readall
命令来查看当前机型的GPIO以及在WiringPi中的定义
因为我选的是GPIO 1,所以我需要把LED接在针脚8和针脚12上(我的杜邦线在路上,没办法只能用手接)
我一开始并不知道怎么找针脚1,百度了以后明白:
把树莓派倒置,看针脚的焊点,有一个是方形焊点,其余的都是圆形的,那个方形的代表针脚1,它旁边那个代表针脚2,以此类推。这个是可以跨机型的方法。
如图所示:
最主要的是wPi和Physical。
至于每一项什么意思手册中都有介绍。
当然你要是觉得每次看映射关系太麻烦,可以参考手册更改程序。
效果图(由于不让上传2M以上文件我也只能截图了):
前几天入手树莓派,刷了系统就想做一些有趣的事情。
工具:一个LED发光二极管(各颜色皆可,我选用的是3V绿色的)
一个定值电阻(为了树莓派的安全,建议使用,具体多少根据情况而定,我没有使用)
母对母杜邦线2根(可选)
一个树莓派且已烧好系统
首先安装WiringPi,安装过程不再赘述。
然后写一个简单的代码。
要是不知道WiringPi各个函数的作用可以参考
下载地址:百度网盘下载
如果链接不能用请告诉我
源代码如下:
#include #include #include int main(int argc,char *argv[]) { unsigned int pinNum,times,t,i=0; char userchoice; if(wiringPiSetup() == -1) return 1; if(argc == 1) { printf("您没有输入GPIO号,但是程序需要一个合法的 GPIO号(且在WiringPi中的定义)\n您需要查看WiringPi中的GPIO与实际树莓派之间的映射 吗?[y/n]\n\n请输入:"); scanf("%c",&userchoice); if(userchoice=='y') system("gpio readall"); else ; printf("那么现在,请输入GPIO号(在WiringPi中的定 义):"); scanf("%d",&pinNum); } else pinNum=atoi(argv[1]); pinMode(pinNum,OUTPUT);system("clear"); printf("请设置LED闪烁的次数:"); scanf("%d",×); printf("请设置LED闪烁间隔的时间(毫秒):"); scanf("%d",&t); printf("开始闪烁......\n"); for(i=0;i
$vim myfirstLED.c
编辑完之后wq保存退出
编译:
$gcc -Wall myfirstLED.c -o MyFirstLED -lwiringPi
!!注意不加 -lwiringPi 参数会报错
运行一下
#./MyFirstLED 1
我设置闪烁次数为50000次
闪烁间隔为50ms
可以使用
$gpio readall
命令来查看当前机型的GPIO以及在WiringPi中的定义
因为我选的是GPIO 1,所以我需要把LED接在针脚8和针脚12上(我的杜邦线在路上,没办法只能用手接)
我一开始并不知道怎么找针脚1,百度了以后明白:
把树莓派倒置,看针脚的焊点,有一个是方形焊点,其余的都是圆形的,那个方形的代表针脚1,它旁边那个代表针脚2,以此类推。这个是可以跨机型的方法。
如图所示:
最主要的是wPi和Physical。
至于每一项什么意思手册中都有介绍。
当然你要是觉得每次看映射关系太麻烦,可以参考手册更改程序。
效果图(由于不让上传2M以上文件我也只能截图了):
相关文章推荐
- 树莓派使用wiringPi控制LED灯
- STM32F030, 使用嘀嗒定时器Systick实现LED闪烁
- STM32F030, 使用嘀嗒定时器Systick实现LED闪烁
- 手机震动坏了,重新实现震动为闪烁LED。
- 软件实现PWM信号,LED闪烁
- LPC21O3第一课:第一个实验,LED灯闪烁及ADS1.2的初步使用
- 使用ArcGIS Engine来实现地图的点击查询并闪烁 (C#)-未完成
- 使用ArcGIS Engine来实现地图的点击查询并闪烁
- 使用dnspodapi 实现ddns,适用于树莓派
- 使用input输入子系统实现对tiny6410LED灯的控制
- 使用定时器timer实现按钮闪烁的效果
- 定时器查询法和定时器中断法实现LED闪烁
- 使用Double-Buffer来实现无闪烁动态折线图
- 树莓派学习笔记——wiringPi I2C设备使用详解
- .net micro framework的入门例程-点灯神话-6.使用定时器代替延时函数闪烁LED
- 如何在平台上实现LED灯的效果?如信号灯,来短信/来电时LED动画闪烁
- 使用Double-Buffer来实现无闪烁动态折线图
- 使用ArcGIS Engine来实现地图的点击查询并闪烁
- 使用Double-Buffer来实现无闪烁动态折线图
- 1-1 实验1 LED不停地实现闪烁(一亮一灭)