博客
关于我
树莓派c++实验一:跑马灯控制实验
阅读量:147 次
发布时间:2019-02-28

本文共 1520 字,大约阅读时间需要 5 分钟。

树莓派跑马灯开发实验报告

实验目的

  • 了解树莓派的基本构成
  • 掌握Raspbian操作系统的基本使用方法
  • 掌握C++语言的开发方法
  • 了解树莓派GPIO的结构和组成
  • 掌握树莓派GPIO的数字量输出方法
  • 了解8位LED模块的结构和控制方法
  • 掌握利用C++进行跑马灯开发的方法
  • 实验原理本实验以树莓派作为控制器,以C++作为开发工具,利用树莓派的GPIO控制8位LED模块,完成跑马灯的控制实验。

    使用仪器、材料

  • 树莓派3B+开发板
  • 8位LED流水灯模块
  • 电源模块
  • 杜邦线
  • QTCreator
  • 实验步骤

  • 熟悉树莓派开发板,熟悉GPIO模块的引脚分布,熟悉8位LED流水灯模块和电源等
  • 理解GPIO模块的引脚、控制方法和相应的C++程序,并开始接线
  • 让树莓派的GPIO8个wiringPi编号数字引脚连接8个LED灯D0~D7
  • 让GPIO的3.3V电源连接LED的VCC
  • 让LED和树莓派共地,开始给电源模块通电
  • 编写简单的控制灯亮的C++程序,检查LED流水灯模块通电情况和运行情况
  • 查看实验效果:开始是8个灯从左往右依次进行亮-暗闪烁,然后8个灯同时进行亮-暗闪烁三次,无限循环跑马灯一直跑,实验结束时,终止程序即可
  • 实验完成后,反向上述步骤判断电、拆线并整理收拾好
  • 实验过程记录

    #include "mainwindow.h"#include "ui_mainwindow.h"#include "wiringPi.h"void GPIO_blink() {    wiringPiSetup();    int code[] = {9, 16, 1, 4, 5, 6, 10, 11};    for (int i = 0; i < 8; i++) {        pinMode(code[i], OUTPUT);    }    while (1) {        for (int i = 0; i < 8; i++) {            digitalWrite(code[i], LOW);            delay(200);        }        for (int i = 0; i < 8; i++) {            digitalWrite(code[i], HIGH);            delay(200);        }        for (int j = 0; j < 3; j++) {            for (int i = 0; i < 8; i++) {                digitalWrite(code[i], LOW);            }            delay(200);            for (int i = 0; i < 8; i++) {                digitalWrite(code[i], HIGH);            }            delay(200);        }    }}MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {    ui->setupUi(this);    GPIO_blink();}MainWindow::~MainWindow() {    delete ui();}

    实验结果实验开始时,8个LED灯从左往右依次进行亮-暗闪烁,然后8个灯同时进行亮-暗闪烁三次,之后无限循环跑马灯一直运行。

    转载地址:http://zyed.baihongyu.com/

    你可能感兴趣的文章
    pandas 重新采样到每月的特定工作日
    查看>>
    pandas :按移位分组和累加和(GroupBy Shift And Cumulative Sum)
    查看>>
    pandas :检测一个DF和另一个DF之间缺失的列
    查看>>
    Pandas-从具有嵌套列表列表的现有列创建动态列时出错
    查看>>
    Pandas-通过对列和索引的值求和来合并两个数据框
    查看>>
    pandas.columns、get_dummies等用法
    查看>>
    pandas.DataFrame.copy(deep=True) 实际上并不创建深拷贝
    查看>>
    pandas.read_csv()的详解-ChatGPT4o作答
    查看>>
    PANDAS.READ_EXCEL()输出‘;溢出错误:日期值超出范围‘;而不存在日期列
    查看>>
    pandas100个骚操作:再见 for 循环!速度提升315倍!
    查看>>
    Pandas:如何根据其他列值的条件对列进行求和?
    查看>>
    Pandas:对给定列求和 DataFrame 行
    查看>>
    Pandas、Matplotlib、Pyecharts数据分析实践
    查看>>
    Pandas中文官档~基础用法2
    查看>>
    Pandas中文官档~基础用法5
    查看>>
    Pandas中文官档~基础用法6
    查看>>
    Pandas中的GROUP BY AND SUM不丢失列
    查看>>
    pandas交换两列
    查看>>
    pandas介绍-ChatGPT4o作答
    查看>>
    pandas去除Nan值
    查看>>