树莓派GPIO入门08-使用74HC595芯片驱动数码管(一)

本文转自 mangolovecarrot ,是学习74HC595芯片很棒的文章。之前我们学习了如何驱动数码管显示数字。
但是这种做法有两个缺点。

  1. 需要占用大量IO口,在那篇文章里,我们为了驱动4位数码管一共使用了12个IO口。如果需要驱动8位数码管则至少需要16个IO口。
  2. 系统资源占用过多。还是在那篇文章里,为了实现数码管的动态扫描显示,需要不停地高速操作IO口,这对单任务的单片机比如51单片机来说问题并不太大,因为单任务的单片机的执行时序是由晶振来决定的,动态扫描的时间间隔可以控制地非常精确,数码管的显示会很稳定,不会出现闪烁的现象。但对于运行着多任务的Linux操作系统的树莓派来说,对IO口的大量反复操作以及大量使用sleep语句会导致CPU占用过多,最后导致动态扫描的间隔时间不均匀,体现为数码管显示不稳定,有明显闪烁的现象。为了改善这个问题我在那篇文章的最后还尝试用c语言来代替python语言,可实际效果有限。
    使用GPIO直接驱动数码管时,上面这两个问题是不可避免的。想解决这两个问题,我们需要借助外部芯片的帮助。
    接下来我将用几个篇幅来介绍如何使用显示驱动芯片74HC595来驱动数码管的方法。同时我们也可以学习到串行数据传输的方法以及一些数字芯片通用的一些概念,比如时钟引脚,上升沿,锁存,移位寄存等。理解了这些通用的概念对学习使用其他芯片是很有帮助的。

阅读全文

QT+树莓派实现一个简单的播放器

说起树莓派,买了也有一段时间了,但是始终都没有做出什么好玩的设备出来,恰好最近在学C++,看到树莓派放在墙角吃了一年多灰,为何不利用它来学一下编程呢?
先给我的工作台来个特写:
20160526205558894-0
说干就干,在经历了一番折腾以后,先准备所需的器材和必要的零部件,在这里我简单的罗列一下:
阅读全文

树莓派 SAKS 扩展板进阶例程 之 数字秒表

20151213123938836-0

本文所介绍的内容基于树莓派瑞士军刀扩展板(SAKS),由于 SAKS 基于树莓派通用的 GPIO 设计,文中的原理和代码也适用于其他情况。

本文由树莓派实验室创作,遵循CC协议(署名-非商业性使用-禁止演绎-相同方式共享),欢迎树莓派爱好者们遵循协议内容转载传播。谢绝不遵守协议的转载和抄袭。

本节将介绍如何通过 SAKS 扩展板 DIY 一个数字秒表。需要用到一个轻触开关,开关按下时开始计时,再次按下时停止计时。数码管显示秒表读数。

阅读全文

树莓派 SAKS 扩展板进阶例程 之 数字闹钟

20151128194143967-0

本文所介绍的内容基于树莓派瑞士军刀扩展板(SAKS),由于 SAKS 基于树莓派通用的 GPIO 设计,文中的原理和代码也适用于其他情况。

本文由树莓派实验室创作,遵循CC协议(署名-非商业性使用-禁止演绎-相同方式共享),欢迎树莓派爱好者们遵循协议内容转载传播。谢绝不遵守协议的转载和抄袭。

本节将介绍如何通过 SAKS 扩展板 DIY 一个具有闹钟功能的数字时钟。

阅读全文

5美元计算机发布:树莓派零(Raspberry Pi Zero)

pizero-0
树莓派基金会今日发布了一款新的代号为树莓派零(Raspberry Pi Zero)的版本。令人振奋的是,该版本售价定在5美元,远低于之前版本20-35美元的定价区间。该版本在威尔士制造,将包含以下特性以及参数:

  • 博通 BCM2835 芯片 1GHz ARM11 core (比树莓派1代快 40%)
  • 512MB LPDDR2 SDRAM
  • 一个 micro-SD 卡槽
  • 一个 mini-HDMI 接口,支持 1080p 60hz 视频输出
  • Micro-USB 接口用于供电和数据传输
  • 1个 40Pin 的 GPIO 接口,同树莓派A+、B+、2B版本一样(引脚空置,需要自己焊接,这样在不需要使用到GPIO的时候会显得更加小巧更容易封装)
  • 空置的视频接口(用于连接电视输出视频,需要自己焊接)
  • 有史以来最小的树莓派尺寸,65mm x 30mm x 5mm

阅读全文