树莓派开发之旅 (十三)【嵌入式Qt案例——驱动蜂鸣器】

文章介绍了如何在树莓派上搭建WiringPi库环境来驱动蜂鸣器,以及如何使用Qt创建上位机进行远程控制。首先,详细阐述了WiringPi库的初始化和蜂鸣器的C语言代码实现。接着,讲解了Qt开发环境的安装步骤,特别是在buster系统中的配置。最后,给出了在Qt界面中控制蜂鸣器的代码示例,包括按钮点击事件处理。
摘要由CSDN通过智能技术生成

目录

【WiringPi库环境搭建】

【驱动蜂鸣器】

【Qt开发环境搭建】

【Qt测试案例】

【Qt上位机驱动蜂鸣器】


【WiringPi库环境搭建】

        WiringPi库环境已搭建,可查看
        树莓派开发之旅 (七)【C开发之WiringPi库】_ZZQ-ZZQ的博客-CSDN博客

【驱动蜂鸣器】

代码:

#include <wiringPi.h>
#include <stdlib.h>
#include <stdio.h>
 
#define GPIOPIN 0 //定义蜂鸣器引脚GPIO0(wiringPi标准)
 
int main(void)
{
    int ret;
    //第一步: 初始化wiringPi
    ret = wiringPiSetup(); //编号为0 ,需要在root权限下才能执行
    if(ret == -1)
    {
        printf("wiringPiSetup is error\r\n");
        return ret;
    }
   //第二步:设置蜂鸣器引脚为输出引脚
    pinMode(GPIOPIN, OUTPUT);
   // 第三步:实现蜂鸣器的鸣叫,鸣叫500ms 间隔2s    
    for (;;)
    {
        digitalWrite(GPIOPIN, HIGH); delay(500);
        digitalWrite(GPIOPIN, LOW); delay(2000);
     }
   
    return 0;
 
}

编译:-Wall 的作用是输出警告信息

gcc -Wall -o  beep beep.c   -lwiringPi

03_基于wiringPi的GPIO控制-蜂鸣器_wiringpi控制蜂鸣器_冷静的领头狼的博客-CSDN博客

【Qt开发环境搭建】

        Qt 是一个跨平台的 C++ 图形用户界面应用程序框架,提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt 可以帮助我们轻松地使用 C++ 开发跨平台的 GUI 程序

安装Qt5命令(buster系统)

sudo apt-get update
sudo apt-get install qt5-default
sudo apt-get install qtcreator
sudo apt-get install qtmultimedia5-dev
sudo apt-get install libqt5serialport5-dev

bullseye 11系统安装Qt未成功(2023年7月30日),笔者这里更换了buster系统安装成功

 

【Qt测试案例】

 

接下来默认下一步

 

 

【Qt上位机驱动蜂鸣器】

写好界面,配置好槽函数后,在mainwindow.cpp中编写对应的控制代码

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
#include <QDebug>
 
 
#define GPIOPIN 0 //定义蜂鸣器引脚GPIO0
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    int ret;
    //第一步: 初始化wiringPi
    ret = wiringPiSetup(); //编号为0 ,需要在root权限下才能执行
    if(ret == -1)
    {
        qDebug("wiringPiSetup is error\r\n");
       
    }
 
   //第二步:设置蜂鸣器引脚为输出引脚
    pinMode(GPIOPIN, OUTPUT);
    
    ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::on_pushButton_clicked()
{
     digitalWrite(GPIOPIN, HIGH);
}
 
void MainWindow::on_pushButton_2_clicked()
{
     digitalWrite(GPIOPIN,LOW);
}

在配置文件中添加软链接库-lwiringPi

LIBS += -lwiringPi

 参考:

09_基于树莓派Qt环境的蜂鸣器控制案例_基于qt的蜂鸣器系统设计_冷静的领头狼的博客-CSDN博客

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值