树莓派zero用wiringpi库点亮OLED屏(详细版)
-
首先肯定就是将系统安装进去,我这里使用的是Raspberry Pi操作系统。具体安装过程在树莓派实验室中有详细过程:
树莓派实验室网址
这里面有许多有用的工具。 -
由于树莓派zero上没有提供网卡,所以我们要通过usb进行SSH连接。
如果我们要通过SSH连接需要修改两个文件。
首先是config.txt文件,打开文件后在最后一行换行添加
dtoverlay=dwc2
之后是cmdline.txt在rootwait后添加
modules-load=dwc2,g_ether
注意用空格隔开
最后创建一个SSH文件(把一个文本文件改个名就行注意将.txt后缀删掉)
然后电脑或手机共享网络就行了 -
没有显示器的也可以用putty这个软件来对树莓派进行操作
进入后输入账号pi,密码raspberry(输入时密码不会显示出来)
这些都是初始账号密码,你可以修改,这里不做说明。 -
接下来就到我们的正题了
根据我实验的多种方法,我给出一个我认为最稳妥安装wiringpi库的方法
首先:输入1, sudo apt-get update
2, sudo apt-get upgrade (这两个指令用来更新软件)
ps:更新会很慢,可以睡个觉,当然如果你的很快,就当我没说,这还容易更新失败,注意多来几次。
更新完毕后,就可以安装wiringpi库了,输入
sudo apt-get install wiringpi (注:树莓派4B需要更高版本的wiringpi库,要找其他方法)
等它安装完毕,后你可以用gpio readall指令来测试一下是否安装成功
出现这个就说明安装成功了。 -
现在就要安装emacs,这个用来编译C语言程序
输入指令sudo apt install emacs24
等待安装完成 -
让我们用emacs来编写我们需要的程序吧
输入 emacs OLED.c来编写程序。
int main(void)
{
int i = 0 ;
wiringPiSetup();
wiringPiSetupSys();
i2cHand=wiringPiI2CSetup(0x3c);
OLED_Init();
OLED_Clear();
OLED_ShowString(0,0,A,8);
while(1)
{
if(i==3000){ OLED_Clear(); OLED_ShowString(0,0,A,8); i=0; }
OLED_open();
i++;
}
return 0;
}
这是我程序的一部分,你曾经写过OLED的程序的话移植过来就行,不过也有些不同。
我上传了完整的程序。可以按需要自行下载。
写好程序后要先退出编辑页面CTRL+X ----> CTRL+S ----> CTRL+X ----> CTRL+C。
然后就需要对程序就行编译了 输入:gcc OLED.c -o OLED -l wiringPi
-
当然这样还是不能让你的OLED亮起来,你还要开启树莓派的IIC,这个百度一下吧,懒得说了,按照上面的方法一步步来。
-
输入 ./OLED, 就行啦。
-
最后再讲一下如何让你的程序在开机后就启动并在后台运行。
首先建立一个脚本 sudo nano start.sh
之后依次输入1, cd /home/pi
2,sudo ./OLED
3,sudo chmod 777 /home/pi/start.sh(修改脚本文件的权限)
4sudo nano /etc/rc.local
进入rc.local文件后在exit 0的上一行,输入
/home/pi/start.sh &
之后保存重启就行了