博客
关于我
树莓派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/

    你可能感兴趣的文章
    Symbolic Aggregate approXimation(SAX,符号聚合近似)介绍-ChatGPT4o作答
    查看>>
    Orcale表被锁
    查看>>
    svn访问报错500
    查看>>
    sum(a.YYSR) over (partition by a.hy_dm) 不需要像group by那样需要分组函数。方便。
    查看>>
    ORCHARD 是什么?
    查看>>
    Struts2中使用Session的两种方法
    查看>>
    Stream API:filter、map和flatMap 的用法
    查看>>
    STM32工作笔记0032---编写跑马灯实验---寄存器版本
    查看>>
    Static--用法介绍
    查看>>
    ssm旅游信息管理系统的设计与实现bus56(程序+开题)
    查看>>
    order by rand()
    查看>>
    SSM(Spring+SpringMvc+Mybatis)整合开发笔记
    查看>>
    ViewHolder的改进写法
    查看>>
    Orderer节点启动报错解决方案:Not bootstrapping because of 3 existing channels
    查看>>
    org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement profile
    查看>>
    sql查询中 查询字段数据类型 int 与 String 出现问题
    查看>>
    org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
    查看>>
    org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
    查看>>
    sqlserver学习笔记(三)—— 为数据库添加新的用户
    查看>>
    org.apache.http.conn.HttpHostConnectException: Connection to refused
    查看>>