如何在raspberry pi上启用spi/i2c(以及它们的用途)

你可能知道Raspberry Pi上的GPIO引脚,但是SPI和I2C连接器呢?它们是干什么用的,你怎么能利用它们呢?...

树莓皮几乎可以用来做任何事。从家庭媒体中心到定制复古游戏设置,可以肯定地说,Pi和类似的单板电脑正在变得无处不在。

SPI-I2C-raspberry-pi

当您开始在Raspberry Pi上尝试GPIO引脚时,事情变得更加有趣。我们已经介绍了所有这些管脚的功能,现在让我们看看如何在Pi上启用SPI和I2C协议,以及为什么要启用。

什么是覆盆子皮(spi on raspberry pi)?

在开始之前,让我们简要介绍一下这两个协议的作用。

SPI(或串行外围接口)允许微控制器(如Pi)一次与100多个外围组件通信。微控制器充当所有“从”部件的“主”部件,并能与它们高速通信。此图概述了一个简单的SPI连接:

SPI and I2C on the Raspberry Pi

如果这是你第一次读到关于SPI的文章,它可能看起来很吓人,但是要坚持下去!SCLK是主设备设置的时钟速度,它决定了设备之间共享信息的速度。

在时钟的每个周期(或“嘀嗒声”)中,主设备和从设备都发送和接收一位信息。这就是MOSI(Master-Out-Slave-In)和MISO(Master-In-Slave-Out)引脚的用途。

SS或Slave Select pin(在Pi上标记为CE0或CE1)用于通知从设备在任何给定时间与主设备通信或不通信。在大多数情况下,每个从设备都需要自己的SS引脚,但可以共享SCLK、MOSI和MISO引脚。

一些设备可以“菊花链”共享一个SS引脚,使总引脚使用减少到四个,加上两个电源和接地。SPI以其惊人的速度而闻名,通常用于移位寄存器或adc(模数转换器)中,以便在设备之间传递数据。

增强型初创公司YouTube频道有一个简单易懂的SPI入门,进一步解释协议:

如何在raspberry pi上启用spi

要在Raspberry Pi上启用SPI,请通过输入以下命令从终端打开raspi配置:

sudo raspi-config

导航到Interfacing Opti***,并在以下菜单上选择P4 SPI Enable/Disable automatic loading of SPI kernel module(P4 SPI启用/禁用SPI内核模块的自动加载)。在窗口提示下选择“是”。SPI现在已启用!

SPI and I2C on the Raspberry Pi

或者,您可以从/boot启用SPI/配置.txt文件。打开终端窗口并输入:

sudo nano /boot/config.txt

查找读取#dtparam=spi=on的行并删除#符号。无论以何种方式启用SPI,重新启动Pi和SPI都将启用。

你能用树莓皮做spi吗?

虽然有数百个不同的项目使用许多不同的SPI外围设备,一个好的入门项目是编程自己的RFID阅读器。

我们使用MFRC-522阅读器在我们的DIY智能锁与Arduino和RFID教程。对于一个覆盆子皮风味的RFID介绍,检查piddlerintheroot的深入说明。

这种设置也不仅仅是为了爱好电子产品。在我们收集的最佳Raspberry Pi项目中,作为欧洲大型工厂运营的一部分,我们采用了使用Raspberry Pi和RFID运行的全尺寸MES系统。

什么是i2c覆盆子皮(i2c on raspberry pi)?

I2C是由Phillips Electronics创建的通信协议,在基于微控制器的业余爱好项目中得到了大量应用。原因很明显——它只使用两根电线,而不是SPI的最小四根。它也得到了用户**的库的良好支持。在Raspberry Pi上有许多设计用于I2C的组件。虽然它比SPI慢,但对于大多数日常使用来说,它的工作速度仍然足够快。

与SPI非常相似,该协议有一个主设备(如Pi)和一个从设备(如屏幕、移位寄存器或电机驱动器)。

设备之间的第一个连接是SCL(串行时钟),它由主机设置以同步数据传输。第二行是SDA(串行数据),它在I2C总线上的所有设备之间来回传输数据。

主设备以起始位和七位十六进制地址开始通信。这必须与从属设备匹配,以便它们通信。这就是为什么这么多的设备可以只用两根电线。

然后,主设备在接收到应答或ACK back之前指定它是要读还是写(R/W)从设备。

YouTube增强型初创公司再次提供了对I2C的易于理解和深入了解:

如何在raspberry pi上启用i2c

I2C也通过raspi配置菜单在Pi上启用。打开终端并输入:

sudo raspi-config

使用箭头键选择接口选项,然后选择P5I2C启用/禁用I2C内核模块的自动加载。确认您要启用协议,您将看到一个确认屏幕。

SPI and I2C on the Raspberry Pi

与SPI一样,还可以通过修改配置.txt文件。打开终端并输入:

sudo nano /boot/config.txt

修改#dtparam=i2c#u arm=on,删除#符号。

SPI and I2C on the Raspberry Pi

重新启动Pi,I2C就可以启动了!

你能在树莓皮上用i2c做什么?

I2C非常适合任何需要大量输出的项目。一个典型的用途是液晶屏幕,它需要多达16引脚使用。I2C将此功能降低到只有两个用于通信,两个用于电源和接地。

许多LCD屏幕都附带了I2C“背包”,使它们的设置更加简单,并为其他传感器和外围设备释放了剩余的Pi引脚。

TheRaspberryPiGuy有一个详细的YouTube教程,介绍如何在Raspberry Pi上设置和使用I2C液晶屏

使用spi和i2c可以节省引脚!

覆盆子Pi上的SPI和I2C当然不适合完全爱好电子产品的初学者,但它们也没什么好怕的。

在潜水之前,按照我们的树莓皮初学者指南学习基础知识是个好主意。

通过一些范例项目学习是最好的方法,我们期待着看到你的想法!谁知道你会做出什么奇怪而美妙的覆盆子皮呢?

  • 发表于 2021-03-25 07:35
  • 阅读 ( 567 )
  • 分类:IT

你可能感兴趣的文章

树莓皮板指南:零与模型a和b

你有兴趣买一个树莓皮,但一开始看,你就遇到了一个问题:为什么有这么多型号? ...

  • 发布于 2021-03-11 19:21
  • 阅读 ( 347 )

5个在线威胁可能会毁掉你的raspberry pi体验

你很高兴用你的树莓皮。也许是游戏中心,或者是媒体中心。希望你已经尝试了一些其他用途,这个难以置信的多功能的小电脑。但它安全吗? ...

  • 发布于 2021-03-12 17:34
  • 阅读 ( 272 )

你的树莓皮安全吗?

你的树莓皮安全吗?当然是。但它真的安全吗?上面的数据安全吗?这个计划会被推翻吗? ...

  • 发布于 2021-03-13 03:37
  • 阅读 ( 226 )

树莓皮:非官方教程

This guide is available to download as a free PDF. Download this file now. Feel free to copy and share this with your friends and family. ...

  • 发布于 2021-03-13 15:59
  • 阅读 ( 289 )

如何在任何raspberry pi上安装vpn

虚拟专用网(VPN)是网络隐私和安全的重要组成部分。简言之,如果你还没有运行一个与你常用的安全工具,你应该。VPN可用于Windows、Linux和macOS,以及Android和iOS。 ...

  • 发布于 2021-03-14 18:08
  • 阅读 ( 308 )

使用raspberry pi触摸屏的10个项目

与其将Raspberry Pi**电视,或通过SSH连接(或通过VNC或RDP进行远程桌面连接),您可能会选择购买Raspberry Pi触摸屏显示器。 ...

  • 发布于 2021-03-14 20:42
  • 阅读 ( 260 )

如何将数据从raspberry pi复制到pc:5种方法

不管你用什么样的树莓圆周率,总有一天你会找到一个简单的方法来复制数据到计算机和从计算机。它可以运行网络服务器,媒体服务器,复古游戏机等等。 ...

  • 发布于 2021-03-15 10:48
  • 阅读 ( 358 )

在raspberry pi上设置vnc,以便用任何pc或手机远程控制它

使用Raspberry Pi作为标准PC(带有显示器和键盘)是与设备交互的一种方式。但通常情况下,您可能不需要这些物品。您的USB端口可能太忙,无法连接键盘,而显示器对于您的项目来说可能太笨重。虽然小巧、便携的触摸屏显示器...

  • 发布于 2021-03-15 12:57
  • 阅读 ( 254 )

如何直接连接到树莓皮没有互联网

树莓圆周率的多功能性意味着在某个时候,你一定会在户外使用它,超出你的无线网络。那么,如果不**键盘和显示器,如何与之通信呢? ...

  • 发布于 2021-03-16 08:17
  • 阅读 ( 219 )

通过引导分区破解树莓pi的6种方法

用覆盆子皮是非常有趣的。有这么多项目要选,50美元的电脑会让你忙上几个月。但是建立树莓皮皮可能会很费时。 ...

  • 发布于 2021-03-18 17:12
  • 阅读 ( 239 )