自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

邓校长的编程课堂专栏

???? 欢迎来到我的编程课堂! ???? ???? 10多年C++实战经验+少儿编程教学,????带你从基础到高级轻松学编程!???? 关注我,开启有趣高效的编程之旅!

  • 博客(183)
  • 资源 (17)
  • 收藏
  • 关注

原创 光敏电阻原理与应用深度解析

光敏电阻作为一种常用的光敏元件,具有高效、低成本的特点。它能够根据光照强度的变化调整电阻值,广泛应用于自动照明、光控系统和环境光监测等领域。通过对光敏电阻原理和特性的深入了解,能够帮助我们更好地设计与实现基于光敏电阻的自动化控制系统。在实际应用中,结合其他传感器或设备(如LED、继电器、微控制器等),光敏电阻能够实现更复杂的智能功能,提升生活和工作环境的智能化水平。点我观看光敏电阻在物联网中应用的精彩视频。

2024-12-16 18:54:24 1842

原创 C++编程:使用树莓派Pico制作光控小夜灯

光控小夜灯是一款基于环境光强度变化自动调节亮度的设备。通过树莓派Pico控制光敏电阻(LDR)读取的模拟信号,根据光线的强弱来控制LED的亮度。在光线较暗时,LED亮度增加,而在光线较强时,LED亮度减弱,从而实现自动化调节。工作原理通过本项目,您了解了如何使用光敏电阻结合树莓派Pico进行环境光强度的检测,并通过PWM控制LED的亮度。这不仅是一个有趣的项目,还能帮助您更好地理解模拟信号的读取与处理,以及如何利用PWM调节设备的行为。扩展建议。

2024-12-16 18:11:29 913

原创 继电器控制与C++编程:实现安全开关控制的技术分享

继电器是一种“自动开关”,它能够利用低电流电路(如树莓派Pico控制的GPIO引脚)去控制高电流电路(如家用电器)。常开(NO)端口和常闭(NC)端口。在本项目中,我们将通过树莓派Pico控制继电器的开与关,模拟一个简单的电气开关控制过程。安全性考虑:当我们使用交流电驱动设备时,如果直接用开关连接电路,会有漏电的风险,而使用继电器可以有效隔离控制电路和高电压电路,提高了使用的安全性。本项目介绍了如何使用C++控制继电器模块,通过树莓派Pico控制继电器的开关,实现对高电压电气设备的安全控制。

2024-12-10 19:43:32 1229

原创 深入了解LM35温度传感器与热敏电阻:选择与应用场景解析

LM35是一种精确的模拟温度传感器,由国家半导体(现为德州仪器)生产。它能够直接测量环境温度并输出与温度成线性关系的电压信号,广泛应用于环境温度监测、嵌入式系统和自动化设备中。工作原理LM35 传感器的输出电压与温度之间成线性关系,通常为 10mV/°C。这意味着当温度每升高 1°C,LM35 输出的电压会增加 10mV。在 25°C 时,LM35 输出 250mV;在 30°C 时,LM35 输出 300mV;在 100°C 时,LM35 输出 1000mV(1V)。优势高精度。

2024-12-05 09:37:36 1147

原创 C++零基础入门:运算符与表达式详解 —— 树莓派Pico编程应用

本文将带你深入理解C++中的运算符与表达式,并通过树莓派Pico开发板项目,结合硬件控制,实现有趣的编程应用。运算符和表达式是编程的基础,通过实践学习它们,能够帮助您在信息学奥赛的学习中打下坚实的基础。// 如果 blinkDelay 大于500,ledStatus 为 1 否则为 0。通过对运算符和表达式的深入理解,不仅能够帮助您掌握C++编程的基础,还能通过树莓派Pico等硬件平台将理论应用于实践。// 延迟 blinkDelay 毫秒。// 延迟 blinkDelay 毫秒。// 延迟500毫秒。

2024-12-01 21:39:49 625

原创 基于树莓派Pico的人体红外传感器防窃警报器:C++编程实现与技术分享

通过使用人体红外传感器,我们不仅能够有效检测运动物体,还能够将传感器数据与实际硬件(如蜂鸣器和LED灯)结合,实现动态响应。该传感器通过输出高电平信号触发报警系统,一旦检测到运动,就会启动蜂鸣器发出警报,并点亮LED灯。本文将详细介绍如何使用C++编程语言,结合硬件实现人体红外传感器防窃警报器,帮助初学者深入了解C++在嵌入式系统中的应用。// 设置人体红外传感器引脚为输入。// 读取人体红外传感器的状态。if (pirStat == HIGH) { // 如果检测到运动。

2024-12-01 19:53:32 771

原创 C++趣味编程:基于树莓派Pico的模拟沙漏-倾斜开关与LED的互动实现

沙漏,作为一种古老的计时工具,利用重力让沙子通过狭小通道,形成了计时效果。本项目利用树莓派Pico、倾斜开关和LED,实现了一个电子沙漏。本项目通过树莓派Pico控制倾斜开关与74HC595,模拟了沙漏的运行过程。学习者不仅掌握了硬件电路设计的基本原理,还学会了C++代码在嵌入式开发中的实际应用。74HC595是一种串行输入并行输出的移位寄存器,用于扩展树莓派Pico的GPIO引脚数量。通过多个74HC595级联,控制更多的LED,增强显示效果。)调整74HC595的输出,实现LED状态的动态变化。

2024-11-29 21:14:33 1426

原创 利用树莓派Pico制作迷你小台灯:C++与硬件设计结合的分享

小台灯是一个经典的电子设计项目,结合了LED和按键的基本应用,适合初学者学习控制逻辑和硬件交互。通过树莓派Pico开发板,本项目实现了用按键控制LED灯的开关功能。本项目以树莓派Pico为基础,结合C++编程,实现了一个简单而实用的小台灯功能。通过延时处理可以消除抖动,提升按键响应的准确性。// 按键前一个状态。// 切换LED状态。// 检测按键从松开到按下的变化(下降沿检测)// 定义按键和LED连接的引脚。

2024-11-28 17:01:59 1166

原创 C++趣味编程&玩转物联网:基于树莓派Pico控制无源蜂鸣器-实现音符与旋律的结合

无源蜂鸣器是一种多功能的声音输出设备,与有源蜂鸣器相比,它能够通过不同频率的方波生成丰富多样的音调。本项目使用树莓派Pico开发板,通过编程控制无源蜂鸣器播放经典旋律《归来有风》。本文将详细介绍项目实现中的硬件连接、C++代码解析,以及无源蜂鸣器的工作原理。无源蜂鸣器项目是嵌入式开发的经典入门项目,涵盖了硬件驱动与软件逻辑的结合

2024-11-27 19:04:05 1070

原创 c++趣味编程&玩转物联网:基于树莓派Pico控制有源蜂鸣器

在使用NPN晶体管驱动蜂鸣器时,通常采用以下方法:如果GPIO输出高电平,电流将流过R1,晶体管将传导,蜂鸣器将发出声音。如果GPIO输出低电平,没有电流流过R1,晶体管就不会传导,蜂鸣器也不会响。在使用PNP晶体管驱动蜂鸣器时,通常采用以下方法:如果GPIO输出低电平,电流将流过R1,晶体管将传导,蜂鸣器将发出声音。在本项目中,我们结合树莓派Pico开发板,通过C++代码控制有源蜂鸣器发出“滴滴”声,并解析其中涉及的关键技术点和硬件知识。在3.3V的电源下,蜂鸣器可以工作,但会降低响度。

2024-11-27 10:53:34 1310

原创 c++编程&玩转物联网:使用芯片控制8个LED实现流水灯技术分享

在本项目中,我们结合树莓派Pico开发板,通过C++编程实现了LED流水灯的动态效果。j++) { // LED从右到左点亮。j++) { // LED从左到右点亮。// 清空存储寄存器。// 存储寄存器时钟 ST_CP。// 移位寄存器时钟 SH_CP。// 数据输入端 DS。// 左移一位,相当于LED向左移动。// 右移一位,相当于LED向右移动。// 定义单字节变量控制LED状态。// 向74HC595写入数据。// 定义74HC595引脚。

2024-11-26 11:02:16 1266

原创 用树莓派Pico控制8×8 LED点阵屏:深入解析C++核心知识与动态显示实现

8×8 LED点阵屏是一种直观的硬件显示工具,广泛应用于嵌入式开发中。本项目结合树莓派Pico和HT16K33驱动芯片,通过C++编程实现动态图案和文字的显示功能。本文将全面解析项目中的C++核心知识点,帮助读者深入理解C++在硬件编程中的实际应用。通过树莓派Pico与8×8 LED点阵屏的结合,本项目展现了C++编程在嵌入式硬件控制中的强大应用。其主要功能包括亮度调节、点阵显示和动态效果控制。// 设置亮度(0-15)类封装点阵屏操作,将复杂的硬件通信逻辑抽象为简单的API接口。// 定义I2C引脚。

2024-11-25 19:53:15 915

原创 c++趣味编程&玩转物联网:树莓派Pico控制 LED点阵屏

8×8 LED点阵屏是一种常见的数字显示设备,被广泛应用于电子时钟、公交车显示屏和游戏设备中。在本项目中,我们使用树莓派Pico开发板,通过I2C协议驱动HT16K33芯片,实现点阵屏显示心形图案、倒计时、动态矩形和动态圆等内容。本文详细介绍硬件连接、库的使用以及C++代码实现,帮助开发者掌握点阵屏控制技术。通过树莓派Pico和8×8 LED点阵屏的结合,本项目展示了如何用编程语言控制硬件实现复杂图案显示。根据模块与Pico的引脚定义,完成硬件连接,确保模块与开发板的电源、电平兼容。// 定义I2C引脚。

2024-11-25 19:42:34 966

原创 用树莓派Pico实现四位数码管秒表计时器:从基础实现到C++技术详解

本项目从硬件接线到代码实现,再到C++知识点解析,完整展示了如何利用树莓派Pico和四位数码管制作一个秒表计时器。在本项目中,我们利用树莓派Pico开发板,控制一个TM1650驱动的四位数码管,实现一个秒表计时器功能。本文不仅展示了完整的硬件实现和代码逻辑,还详细剖析了项目中的C++知识点,帮助开发者在软硬件结合的实践中掌握嵌入式开发的核心技术。TM1650 是一款常用的四位数码管驱动芯片,支持通过2线制(CLK和DIO)通信控制数码管显示。// 分解数字为千、百、十、个位。// 启用数码管显示。

2024-11-24 10:48:59 959

原创 C++趣味编程&玩转物联网:用树莓派Pico控制四位数码管

通过本项目,您将掌握四位数码管的显示原理与C++编程的结合应用,为进一步探索嵌入式开发打下坚实基础。未来,您可以结合更多传感器和模块,设计出更实用、更复杂的智能系统。数码管是一种常用的数字显示器件,广泛应用于电子时钟、记分牌和智能设备显示界面。在本项目中,我们将通过树莓派Pico板控制一个四位数码管模块,展示从。TM1650通过CLK(时钟)和DIO(数据)与主控芯片通信,发送控制信号,实现数码管的段选与位选操作。这不仅是一次硬件和软件结合的实践,还可以帮助初学者深入理解嵌入式系统中的显示技术。

2024-11-24 10:10:40 1088

原创 C++趣味编程&玩转物联网:用树莓派Pico实现一位数码管动态显示

作为一个嵌入式开发项目,这不仅是初学者理解数码管工作原理的好机会,也是C++开发者在硬件编程中的一个实践案例。七段数码管由七个LED组成(共阴极或共阳极设计),通过点亮不同的LED组合显示数字0-9。通过项目实践,您不仅能熟悉C++与硬件的结合,还能为更复杂的嵌入式开发奠定基础。实现数码管动态显示数字9到0,通过延时循环显示数字序列,掌握数码管的基础控制方法以及C++程序与硬件的结合应用。数字0到9的显示是基于七段LED的组合,代码中的每个函数定义了对应数字的点亮逻辑。// 显示数字的函数。

2024-11-22 16:41:14 937

原创 C++编程&玩转物联网:用树莓派Pico实现流水灯

流水灯是一种常见的嵌入式开发项目,通过让LED按顺序点亮与熄灭,形成“流水”般的视觉效果。流水灯项目的核心目标是通过树莓派Pico控制10个LED,以从左到右、从右到左的顺序循环点亮。流水灯不仅是一个经典的嵌入式入门项目,也是一个可以不断扩展和创新的学习工具。通过本项目,您不仅能够学习C++的基础编程,还能体会到软硬件结合的无限可能。// 计算LED数量。// 延时100ms。// 延时100ms。

2024-11-21 12:58:30 1070

原创 C++零基础入门:趣味学信息学奥赛从“Hello World”开始

结合树莓派Pico开发板的实际操作,这篇文章将为C++零基础的学生和信息学奥赛爱好者讲解如何通过一个简单的“Hello World”项目,学会基础语法、编程思维,以及软硬件结合的实践方法。通过本项目,您不仅掌握了C++的基础知识,还初步体验了代码与硬件结合的乐趣。未来,您将能够用C++实现更复杂的项目,探索信息学奥赛的广阔天地。在本项目中,我们通过USB线连接Pico与电脑,编写并运行“Hello World”程序。通过编写C++代码,学生可以实现从“Hello World”到复杂传感器控制的过渡。

2024-11-20 19:33:51 1241

原创 C++编程&玩转物联网:用树莓派Pico点亮RGB彩灯世界

RGB LED彩灯由红(Red)、绿(Green)、蓝(Blue)三种基本颜色组成,通过调整每种颜色的亮度比例,我们可以混合出数百万种颜色。在本项目中,我们将使用树莓派Pico的PWM功能来动态控制RGB LED的颜色变化,并让它随机显示不同的颜色。树莓派Pico的PWM引脚可以通过输出不同占空比的信号,控制RGB LED的亮度。代码上传后,通电运行,RGB LED会每隔1秒显示一种随机颜色,颜色不断变化,展现出丰富的视觉效果。替换随机颜色生成逻辑,设置预定义的颜色列表,例如红、绿、蓝、紫、青、黄。

2024-11-20 15:36:10 1491

原创 C++玩转物联网:用树莓派Pico实现交通灯模拟:C++硬件编程与实际应用

本项目的目标是利用树莓派Pico和LED灯模拟交通灯工作流程。通过设置GPIO引脚输出高低电平,控制红、黄、绿灯的点亮和熄灭。项目不仅展示了C++在嵌入式开发中的灵活性,也有助于理解时间控制和硬件交互的基础知识。交通灯模拟项目不仅是硬件控制的经典案例,也是C++编程与实际应用的完美结合。通过该项目,您可以掌握GPIO控制、循环逻辑和延时操作等核心技能,同时理解嵌入式开发的基本流程。如果您觉得本文对您有所帮助,欢迎,帮助更多人了解树莓派Pico的强大功能!

2024-11-18 10:16:50 1022

原创 C++玩转物联网:用C++与树莓派Pico实现呼吸灯效果

呼吸灯是指LED的亮度从暗逐渐变亮,再从亮逐渐变暗,如同呼吸一般的变化效果。实现呼吸灯的核心在于动态调节LED的亮度,这需要用到PWM技术,通过改变占空比来控制LED的发光强度。呼吸灯项目不仅展示了PWM的强大功能,也体现了C++在硬件控制中的灵活性。通过本项目,您学习了GPIO配置、PWM技术和亮度控制等关键知识,为更复杂的嵌入式开发奠定了坚实基础。如果本文对您有帮助,欢迎并分享,让更多人了解树莓派Pico和C++硬件开发的魅力!

2024-11-17 12:30:28 1479

原创 C++玩转物联网:用C++控制树莓派Pico外接LED灯闪烁

define知识点:宏定义用于定义常量,在预处理阶段直接替换为值。优化建议:使用const int代替#define,如:这样做更符合现代C++的风格,并且具有类型检查的优点。本项目从GPIO控制到电路设计,再到C++代码解析,带您全面掌握了如何用树莓派Pico控制外接LED灯闪烁。通过这一步,您已经为更复杂的嵌入式开发奠定了坚实基础。未来,您可以尝试更多传感器和控制器的集成,进一步提升编程和硬件开发能力。

2024-11-16 15:56:31 851

原创 树莓派Pico入门项目:用C++控制板载LED灯闪烁,初学者必备知识点解析

树莓派Pico主板自带一个LED灯,连接在GPIO25引脚上。通过控制这个引脚的电平,我们可以让LED灯点亮或熄灭。这个项目不仅帮助初学者了解GPIO的基础操作,也让大家在C++编程实践中掌握控制硬件的基本技巧。作为一名资深C++工程师和少儿编程指导老师,我会在本文中分解项目代码,讲解其中涉及的C++基础知识点,为您提供更深入的理解。在C++中,#define用于定义一个宏常量。宏常量在编译阶段直接被替换成实际的值。被定义为25,代表树莓派Pico板载LED的引脚编号。

2024-11-15 09:51:19 972

原创 C++玩转物联网:认识树莓派Pico

树莓派Pico主板是一款面向初学者的强大工具,通过简单的设置和丰富的接口支持,Pico让编程和电子项目变得更加容易和有趣。希望这篇文章能够帮助您更好地了解树莓派Pico的基本功能和应用潜力。如果您是一位C++初学者,结合物联网学习C++是一个不错的选择,欢迎关注并分享这篇文章,让更多人更好的学好c++编程!

2024-11-14 10:19:23 1624

原创 C++玩转物联网-从零开始:树莓派Pico的“Hello World”项目入门指南

通过“Hello World”项目,您已经完成了树莓派Pico的基础设置,掌握了简单的串行通信方法。这个项目虽小,但它为后续的项目实践奠定了良好的基础。在未来的项目中,您可以逐步加入更多传感器和控制器,进行更复杂的编程与电子操作。如果您对树莓派Pico的更多应用感兴趣,欢迎并分享这篇文章,让我们一起深入探索Pico的无限可能!欢迎加V交流。

2024-11-13 23:02:29 705

原创 C++零基础入门&趣味学信息学奥赛_开发环境安装

(2)然后,根据你的操作系统选择并下载相应的安装程序。继续按树莓派Pico板上的白色按钮(BOOTSEL),并在松开按钮前将树莓派Pico板连接到电脑。如果你的树莓派Pico板是新的,想使用Arduino学习和开发,则需要上传一个Adruino兼容的Pico固件。时,Arduino版本的zip文件将被直接下载,只需要解压缩直接运行解压后文件夹中的Arduino IDE.exe即可。COMx的X在不同的电脑上是不同的。就可以下载了,当然如果你愿意,你可以选择小小的赞助,以帮助伟大的Arduino开源事业。

2024-11-11 19:28:47 884

原创 c++实现删除字符串前后指定字符

c++实现删除给定字符串前后空格或者其他指定字符

2017-05-10 17:11:12 5669

原创 c++实现设计模式中的观察者模式,削除代码的if else switch

该文章有以下几个学习点:1、单例模式:创建单例对象为什么用静态对象,而不是new 呢?2、设计模式之观察者模式3、如果是服务端,如果有地方用到大量的if else 或者switch,可以用该思路实现另外该实现有点类似于qt的signal/slot  :)以下是栗子了:*********分割线************************************

2017-04-29 22:14:46 1129

原创 qt 实现、区分鼠标单击,双击事件

qt 只实现了鼠标左键的双击事件,同时会触发mousePressEvent事件,那么怎么区分鼠标的单击,双击呢,请往下看 ....

2017-04-24 15:41:09 11220 1

原创 centos\linux 下十分钟内 用vim 搭建c++ IDE,以centos 7.0为例

linux下快速搭建c++开发环境

2017-03-20 11:34:34 4453

原创 wpf mvvm ViewModel如何关闭view窗口

mvvm模式下通过ViewModel关闭view窗口

2015-11-07 22:03:09 6770

原创 【c++】字符串中找出最长的连续数字字符串

int FindMax(char* pIn, char* pOut){char tmpOut[50] = {0};  //假如字符串不超过50字节int pos = 0;//临时数组索引for(int i=0; i{if(pIn[i]='0'){tmpOut[pos++] = pIn[i];continue;}else{if(strlen(t

2015-08-13 17:45:41 708

原创 基于树莓派Pico的超声波测距仪表设计与实现

本项目通过树莓派Pico和HC-SR04超声波传感器实现了基本的测距功能,并结合LED灯实现了直观的距离指示。项目结构简单、成本低廉,非常适合嵌入式开发入门学习。通过对代码和硬件的理解,用户可以进一步扩展,实现更多复杂的功能。

2024-12-25 17:25:42 991

原创 智能语音识别模块与声音传感器模块对比分析:原理、优缺点、性价比与应用领域

智能语音识别模块和声音传感器模块各有其特点和适用场景。智能语音识别模块适合需要复杂交互和指令控制的高端应用,虽然其成本较高且对环境要求较高,但能够提供更加灵活和多样的控制方式。相对而言,声音传感器模块则因其低成本和低功耗,适用于简单的声音响应应用,如声音触发开关、环境噪音监测等。根据项目需求,选择合适的模块非常关键。在智能家居、语音助手等领域,语音识别模块的优势不可忽视;而在简单的自动控制系统中,声音传感器模块则能发挥其高性价比的优势。

2024-12-22 22:35:03 1299

原创 基于树莓派Pico和声音传感器实现声控风扇的技术分享

通过本项目,您不仅学会了如何使用声音传感器与树莓派Pico进行声音感应,还实现了一个基本的声控风扇系统。该项目具有很好的扩展性,可以与其他传感器结合,实现更复杂的智能控制。扩展建议。

2024-12-22 22:20:13 1098 2

原创 从ESP8266编程到树莓派Pico集成:实现手机APP控制LED灯

通过本项目,您学习了ESP8266的编程、与树莓派Pico的串口通信以及手机APP的集成控制方法。状态反馈:将LED状态返回至手机APP,显示当前开关状态。多设备控制:增加更多设备和传感器,实现更复杂的智能家居控制系统。云端控制:通过MQTT协议,将设备状态上传至云平台,实现远程监控。点我观看精彩视频点我获取开发套件点我观看精彩视频。

2024-12-21 23:00:00 876

原创 ESP8266 WiFi模块入门:搭建网络与测试实践

ESP8266串口WiFi ESP-01模块是一款超低功耗的UART-WiFi模块,支持无线通信协议,可以将物理设备连接到WiFi网络,实现互联网或局域网通信。低功耗设计:适合移动设备和物联网应用。小尺寸封装:便于嵌入各种产品中。易用性:通过串口控制,实现WiFi连接和网络通信。通过本实验,您学习了如何使用 ESP8266 模块进行 WiFi连接和基本网络功能实现。ESP8266模块凭借其高性价比和灵活性,是物联网项目的理想选择。扩展应用。

2024-12-21 18:48:16 1957

原创 火焰传感器与C++编程:精准检测火灾的技术实现

火焰传感器是一种能够感知火焰发出的红外光(IR)的传感器。火焰燃烧时,会发出特定波长的红外光,这种光人眼无法察觉,但火焰传感器的红外接收管能够有效地检测到。当传感器检测到火焰时,它将输出一个信号,通常是一个模拟信号或者数字信号,这个信号可以被嵌入式系统(如树莓派Pico)读取和处理。火焰传感器的工作原理本项目通过树莓派Pico控制火焰传感器、LED和蜂鸣器,实现了一个简单的火灾报警系统。通过C++编程,您可以读取火焰传感器的模拟信号,判断火灾是否发生,并通过蜂鸣器与LED提供反馈。扩展建议增加温度传感器。

2024-12-15 21:00:00 877

原创 树莓派Pico火灾报警器项目:基于火焰传感器、蜂鸣器与LED的C++实现

火灾报警器是通过检测火焰或烟雾来判断是否发生火灾,并发出警报。在这个项目中,我们将使用火焰传感器检测火源,并通过蜂鸣器发出声音警报,通过LED指示灯进行视觉警示。工作原理通过这个项目,我们使用了树莓派Pico、火焰传感器、LED和蜂鸣器制作了一个简单的火灾报警系统。这个系统能够实时检测火焰并发出警报。通过本项目,您不仅掌握了火焰传感器的基本使用方法,还了解了如何使用C++编程控制外部硬件,提升了硬件与软件结合的能力。项目扩展建议增加温度传感器:结合温度传感器检测高温,进一步提升火灾检测的准确性。远程报警。

2024-12-15 18:00:00 1513

原创 深入探讨可调电位器:原理、应用及编程实现

可调电位器是一种三端电阻器,通过调节滑动触点的位置来改变电路中的电压或电阻值。它不仅可以用作分压器输出不同的电压值,还可以用作简单的变阻器,调节电路中的电阻大小。基本结构固定电阻片:提供固定的电阻值。滑动触点:通过旋转或滑动,调整与固定电阻片之间的接触位置。三端设计两个固定端分别连接电阻片的两端;滑动触点位于中间,用于输出调整后的电压或电阻值。通过本次分享,您应该掌握了可调电位器的工作原理、典型应用及其在嵌入式系统中的使用方法。

2024-12-12 19:03:04 1188

c++编程&物联网:使用树莓派Pico板控制四位数码管实现秒表计时器

1.项目介绍: 四位数码管是一种非常实用的显示器件。电子时钟的显示,球场上的记分员,公园里的人数都是需要的。由于价格低廉,使用方便,越来越多的项目将使用4位数码管。在这个项目中,我们使用树莓派Pico板控制四位数码管来显示四位数字,实现秒表计时器。 ​ 2. 所需元件 树莓派Pico开发板 × 1 四位数码管模块(TM1650芯片) × 1 4P转杜邦线 × 1 USB数据线 × 1 ​

2024-11-24

用树莓派Pico实现四位数码管秒表计时器:从基础实现到C++技术详解

TM1650第三方库文件,控制四位数码管显示逻辑

2024-11-24

C++趣味编程&玩转物联网:用树莓派Pico控制四位数码管

TM1650第三方库文件

2024-11-24

源码-树莓派Pico入门项目:用C++控制板载LED灯闪烁

源码-树莓派Pico入门项目:用C++控制板载LED灯闪烁。下载源码文件后可以直接在arduino环境中配合树莓派PICO开发板运行

2024-11-15

信息学奥赛 csp-j 2023 普及组 第一轮试题及答案

2023 普及组 第一轮答案

2024-10-20

c++与sdl库实现绽放“烟花”-庆祝国庆节

c++与sdl实现简单的绽放“烟花”,供有需要的朋友学习 用到的相关技术: c++、 sdl、cmake 使用说明: 通过CMakeLists.txt 生成工程文件即可正常运行 注: 在main.cpp文件中更新正确的字体路径

2024-09-26

2024年信息学奥赛CSP-J初赛真题详细分析

2024年信息学奥赛CSP-J初赛真题详细分析,供学习少儿编程的学生参考和学习

2024-09-25

2024年信息学奥赛CSP-J初赛真题详细分析

2024年信息学奥赛CSP-J初赛真题详细分析,供学习少儿编程的学生参考和学习

2024-09-23

c++-设计模式之解释器模式(Interpreter)

解释器模式(Interpreter Pattern)是一种行为型设计模式,用于为特定语言的句法定义一个解释器。它通过定义一个语言的文法表示以及解释器的实现来解析和执行表达式。这种模式通常用于设计语言、脚本或规则引擎。 解释器模式的组成 抽象表达式(AbstractExpression):定义解释的方法。 终结符表达式(TerminalExpression):实现与文法中的终结符相关的解释操作。 非终结符表达式(NonTerminalExpression):实现与文法中的非终结符相关的解释操作,通常包含其他表达式的引用。 上下文(Context):存储在解释过程中需要的全局信息。 总结 解释器模式通过定义文法表示和对应的解释逻辑,实现了对特定语言的解析与执行。它适用于需要解释和执行表达式的场景,如脚本语言、表达式求值等。在这个示例中,解释器模式展示了如何使用变量和基本操作构建表达式并计算结果,使得可以灵活地扩展更多的操作和表达式类型。

2024-09-20

c++-设计模式之命令模式(Command Pattern)

命令模式(Command Pattern)是一种行为型设计模式,它将请求封装为对象,从而使您可以使用不同的请求、队列请求或日志请求,并支持可撤销操作。命令模式通常用于实现操作的解耦,使得发送者和接收者之间不直接关联。 命令模式的组成 命令接口(Command):定义执行命令的接口。 具体命令类(Concrete Command):实现命令接口,负责调用接收者的具体操作。 接收者(Receiver):实际执行命令的对象。 调用者(Invoker):请求命令的对象,维护对命令对象的引用。 客户端(Client):创建具体命令对象和接收者对象,并将命令对象绑定到接收者上。 总结 命令模式通过将请求封装为对象,使得请求的发送者和接收者之间解耦。它提供了灵活的操作管理方式,支持可撤销操作、日志记录和宏命令等功能。在这个示例中,命令模式展示了如何通过遥控器对象控制灯的开启和关闭,客户端只需关注命令的设置和执行,而不需要直接与接收者进行交互。

2024-09-20

c++-设计模式之责任链模式(Chain of Responsibility Pattern)

责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许将请求的发送者和接收者解耦。通过将请求沿着处理链传递,直到有对象处理该请求为止,这种模式避免了请求发送者与具体处理者之间的紧耦合。 责任链模式的组成 处理者接口(Handler):定义处理请求的接口,并可以设置下一个处理者。 具体处理者(Concrete Handler):实现处理者接口,并处理请求。如果不能处理请求,则将其传递给下一个处理者。 客户端(Client):创建处理链并发送请求。 总结 责任链模式通过将请求沿着处理链传递,降低了请求发送者与处理者之间的耦合,增强了系统的灵活性和可扩展性。该模式适用于处理需要多个处理者的请求,客户端可以轻松地添加或修改处理者,而无需改变现有代码。在这个示例中,责任链模式展示了如何通过多个处理者来处理请求,从而实现请求的动态处理。

2024-09-20

c++-设计模式之代理模式(Proxy)

代理模式(Proxy Pattern)是一种结构型设计模式,用于为其他对象提供一种代理以控制对这个对象的访问。代理模式通常用于保护、延迟加载、记录请求等场景,可以在不改变原有对象的情况下为其增加新的功能。 代理模式的组成 抽象主题(Subject):定义真实主题和代理的共同接口。 真实主题(Real Subject):实现抽象主题接口的具体对象,执行真实操作。 代理类(Proxy):实现抽象主题接口,持有真实主题的引用,并在需要时调用真实主题的方法。 总结 代理模式通过引入代理类,使得可以在访问真实主题之前和之后添加额外的处理逻辑,从而增强了系统的灵活性和可维护性。它适用于需要控制访问、延迟加载或记录请求的场景。在这个示例中,代理模式展示了如何通过 Proxy 来控制对 RealSubject 的访问,并在请求前后添加额外的处理。

2024-09-20

c++-设计模式之享元模式(Flyweight)

享元模式(Flyweight Pattern)是一种结构型设计模式,用于减少创建大量小对象所带来的内存开销。通过共享对象,享元模式能够有效地支持大量细粒度的对象,减少内存使用并提高性能。它常用于需要大量重复对象的场景,比如图形界面中的字体、图标等。 享元模式的组成 享元接口(Flyweight):定义享元对象的接口。 具体享元类(Concrete Flyweight):实现享元接口,定义可共享的状态。 非共享状态(Extrinsic State):不被享元对象共享的状态,由客户端提供。 享元工厂(Flyweight Factory):负责管理享元对象的创建和共享。 总结 享元模式通过共享对象的方式,减少了内存使用和创建对象的开销,适合用于需要大量重复对象的场景。在这个示例中,享元模式展示了如何通过 ShapeFactory 来管理共享的圆形对象,客户端通过工厂获取相同颜色的圆形,而不需要每次都创建新的实例,从而节省了资源。

2024-09-20

c++-设计模式之外观模式(Facade Pattern)

外观模式(Facade Pattern)是一种结构型设计模式,用于为复杂子系统提供一个简单的接口。它通过封装系统内部的复杂性,提供一个统一的接口,使得客户端能够更加方便地使用子系统的功能。这种模式通常用于简化代码、提高可读性和可维护性。 外观模式的组成 外观类(Facade):提供一个统一的接口,封装子系统的复杂性。 子系统类(Subsystem Classes):实现具体的功能,通常有多个类,负责处理具体的任务。 总结 外观模式通过为复杂子系统提供一个简单的接口,使得客户端代码更加简洁和易于理解。它封装了子系统的复杂性,减少了客户端与子系统之间的直接耦合。在这个示例中,外观模式展示了如何通过 HomeTheaterFacade 来简化家庭影院的操作,客户端只需调用外观接口即可轻松管理多个子系统。

2024-09-19

c++-设计模式之装饰模式(Decorator)

装饰模式(Decorator Pattern)是一种结构型设计模式,允许在不改变对象接口的情况下,动态地为对象添加额外的职责或功能。装饰模式通常用于需要扩展对象功能而又不希望使用子类化的场景。 装饰模式的组成 组件接口(Component):定义了被装饰对象和装饰器的共同接口。 具体组件(Concrete Component):实现组件接口的具体对象。 装饰器(Decorator):持有一个组件接口的引用,并实现相同的接口以增强功能。 具体装饰器(Concrete Decorator):扩展装饰器的功能,提供额外的行为 总结 装饰模式通过在运行时动态地为对象添加功能,增强了系统的灵活性和可扩展性。它允许在不修改现有代码的情况下添加新的行为,非常适合于需要扩展功能的场景。在这个示例中,装饰模式展示了如何通过组合的方式为基本咖啡添加牛奶和糖的功能。

2024-09-19

c++-设计模式之组合模式(Composite Pattern)

组合模式(Composite Pattern)是一种结构型设计模式,用于将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得客户端可以以统一的方式对待单个对象和组合对象,这种模式常用于需要处理树形结构的数据,如文件系统、图形界面等。 组合模式的组成 1、组件接口(Component):定义叶子和组合对象的共同接口。 2、叶子节点(Leaf):实现组件接口的具体对象,表示树的末端节点。 3、组合节点(Composite):也实现组件接口,持有叶子节点和其他组合节点的集合,表示树的非末端节点。 总结 组合模式使得客户端可以以统一的方式处理单个对象和组合对象。它适用于表示层次结构的场景,提供了简单的方法来管理和操作复杂的对象结构。在这个示例中,组合模式使得可以轻松地创建和操作树形结构,同时隐藏了具体实现的细节。

2024-09-19

c++-设计模式之桥接模式(Bridge Pattern)

桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与实现部分分离,使得两者可以独立地变化。这种模式常用于需要在多个维度上变化的场景,比如不同的形状和颜色,允许在不改变客户端代码的情况下增加新的实现。 桥接模式的组成 抽象类(Abstraction):定义抽象部分的接口。 修正抽象类(Refined Abstraction):扩展抽象类的功能。 实现接口(Implementor):定义实现部分的接口。 具体实现类(Concrete Implementor):实现实现接口的具体类 总结 桥接模式通过将抽象部分与实现部分分离,使得两者可以独立变化。它提高了系统的灵活性和可扩展性,适用于需要在多个维度上变化的场景。在这个示例中,通过引入绘图工具的实现接口,使得可以方便地添加新的图形或新的绘图工具,而无需修改现有代码。

2024-09-19

c++-设计模式之适配器模式(Adapter Pattern)

适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将一个接口转换为客户端期望的另一个接口。适配器模式常用于解决由于接口不兼容而无法正常工作的类之间的协作问题。 适配器模式的组成 目标接口(Target):客户端所期待的接口。 源类(Adaptee):需要适配的类,具有一个不同的接口。 适配器(Adapter):实现目标接口,使用源类的实例来满足目标接口的需求。 代码解读 目标接口(Target):定义客户端所期待的接口,包含一个 request() 方法。 客户端通过这个接口与适配器进行交互。 源类(Adaptee):具有一个不同的接口,包含一个 specificRequest() 方法。 这是我们需要适配的类,其接口与目标接口不兼容。 适配器(Adapter): 继承自目标接口,持有源类的实例(Adaptee* adaptee)。 实现 request() 方法,调用源类的 specificRequest() 方法,将请求适配为源类可处理的形式。 客户端代码:

2024-09-19

c++-设计模式之原型模式(Prototype Pattern)

原型模式(Prototype Pattern)是一种创建型设计模式,允许通过复制现有对象来创建新对象,而不是通过类构造器。这种模式常用于需要频繁创建相似对象的场景,能够提高性能并减少内存使用。 原型模式的组成 原型接口(Prototype):定义克隆自身的接口。 具体原型(Concrete Prototype):实现原型接口,具体定义如何克隆自身。 客户端(Client):使用原型实例来创建新对象 代码解读 原型接口(Prototype):定义了一个克隆方法 clone(),返回一个 unique_ptr<Prototype>,用于复制自身。 使用虚析构函数确保派生类能够正确释放资源。 具体原型(Book 和 Magazine): Book 类包含书名和作者,Magazine 类包含杂志名和期号。 两者都实现了 clone() 方法,通过 std::make_unique 创建自身的复制实例。 showInfo() 方法用于输出对象的信息。 客户端代码: 在 main 函数中,首先创建 Book 和 Magazine 的原型对象。 调用 clone() 方法生成新对象。

2024-09-18

c++-设计模式之单例模式(Singleton Pattern)

单例模式(Singleton Pattern)是一种创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点。这种模式常用于需要全局共享资源的场景,比如配置管理、日志记录等。 单例模式的组成 私有构造函数:防止外部直接创建实例。 静态成员变量:用于存储唯一实例的指针。 公共静态方法:提供全局访问点,确保实例的唯一性。

2024-09-18

c++-设计模式之“建造者模式(Builder)”

建造者模式(Builder Pattern)是一种创建型设计模式,允许使用多个简单的对象一步一步构建一个复杂的对象。它将对象的构建过程与表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式的组成 产品(Product):被构建的复杂对象。 建造者(Builder):定义构建产品的抽象接口。 具体建造者(Concrete Builder):实现建造者接口,构建和装配产品的各个部分。 指挥者(Director):负责管理建造过程,调用建造者的方法来构建产品。 客户端(Client):使用指挥者和建造者构建产品。 示例场景 假设我们要创建一个复杂的“汉堡”对象,可以选择不同的配料和大小

2024-09-18

设计模式之抽象工厂模式-c++

抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,提供一个接口用于创建一系列相关或相互依赖的对象,而无需指定它们的具体类。这种模式常用于需要跨多个产品系列进行实例化的场景。 抽象工厂模式的组成 抽象工厂(Abstract Factory):定义创建产品对象的接口。 具体工厂(Concrete Factory):实现抽象工厂接口,创建具体的产品对象。 抽象产品(Abstract Product):定义产品的接口。 具体产品(Concrete Product):实现抽象产品接口,定义具体的产品。 示例场景 假设我们要创建不同类型的家具(椅子和沙发),根据不同的风格(现代和古典)来提供不同的实现。

2024-09-18

c++-深入浅出讲解一下 “工厂方法模式 (Factory Method)”

工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它定义了一个用于创建对象的接口,但由子类决定实例化哪一个具体类。这样,客户端代码就不需要知道具体的类是什么,只需通过工厂接口获取对象。 工厂方法模式的结构 产品(Product):定义工厂方法创建的对象类型的接口。 具体产品(Concrete Product):实现产品接口的具体类。 工厂(Creator):声明工厂方法,用于返回一个 Product 对象,通常是一个抽象类。 具体工厂(Concrete Creator):实现工厂方法,生成具体产品。 工厂方法模式的关键是延迟实例化到子类,这样可以让系统在不修改客户端代码的情况下扩展新产品。 使用场景 工厂方法模式适用于: 需要在创建对象时对客户端隐藏具体类型时。 需要为某些对象的创建提供更大的灵活性或扩展性时。 工厂方法模式的优点 解耦创建和使用:客户端无需关心对象的具体创建过程,只需要依赖工厂接口。 扩展性强:添加新类型的角色时,只需要增加新的工厂类,无需修改现有代码。 遵循开闭原则:通过扩展工厂类可以添加新的产品,且不需要修改已有系统。

2024-09-18

C/C++项目开发-查找容器中相领元素是否有重复项

说明:使用函数adjacent_find判断容器中相领元素是否有重复项,超简单 资源运行说明: 1、安装cmake和visual studio 2、在资源文件包build目录中用cmake .. 命令生成工程文件 3、打开工程文件即可测试

2024-09-13

Qt Creator 打开 CMake管理的Quick工程,调试Qml

亲测以下环境: Qt Creator 5.13 和 Visual Studio 2017 或者 Qt Creator 5.15 和 Visual Studio 2019 1、Demo可用CMakeLists.txt生成VS工程,但无法调试Qml 2、Demo可用QtCreator打开 CMakeLists.txt工程,调试Qml 备注: Qt Creator打开工程后需要做以下设置才能调试Qml代码 项目->运行->Debugger settings->勾选"Enable QML"

2023-02-19

ffmpeg-20190814-4.2-win32-dev.rar

ffmpeg播放器调试demo. 工具:cmake visual studio 2013及以上 ffmpeg版本: 4.2

2019-08-14

Vsiaul Assist X 亲测支持VS2015,2013,2010

Vsiaul Assist X 亲测支持VS2015,2013,2010,可以配合VsVim使用

2018-01-31

c++ 实现删除字符串前后指定字符 跨平台运行

c++ 实现删除字符串前后指定字符 跨平台运行,请用cmake生成相关的工程文件

2017-05-10

qt 区分鼠标左键单击,双击事件

qt 未实现鼠标左键的单击,双击事件,该代码利用巧妙利用定时器区分左键的单击,双击事件

2017-04-24

数据结构 C语言版 严蔚敏 吴伟民 电子版 pdf

入门级的数据结构书,比较好理解,希望同学们要边看边练!

2017-04-11

SecureCRT8.0.3破解版

SecureCRT8.0.3破解版

2017-03-25

c++实现阿里云服务器管理 跨平台源码

用阿里云提供的API,用c++实现阿里云服务器管理,附件源码实现了阿里云上的域名自动绑定本机IP。该源码可跨平台编译运行,在WIN7,centos7上通过测试,编译工具需要支持 c++11,可用cmake生成VS或者Makefile相关文件,其他有关阿里云服务器的管理也可以代签该栗子进行实现。不明白的地方可以进Q群(565993954)交流

2017-03-25

c++实现阿里云服务器管理的源码

用阿里云提供的API,用c++实现阿里云服务器管理,附件源码实现了阿里云上的域名自动绑定本机IP。其他有关阿里云服务器的管理也可以代签该栗子进行实现。不明白的地方可以进Q群(565993954)交流

2017-03-25

高性能MySQL(第3版)中文版

高性能MySQL(第3版)中文版 pdf格式, 比较清晰,因书超过60M,麻烦到附件中的网盘中下载。

2017-03-24

深入理解c++11(完整版)

深入理解c++11(完整版),对于想了解c++11的同学很有帮助,记得多写多练,别只看不练,否则很容易忘记。

2017-03-24

动态IP自动绑定阿里云域名

前几天部署mangoszero服务端想和朋友一起玩时,发现自己的IP老变,咋整???老是登陆阿里网站手动更改域名对应的IP地址不是办法啊&*%¥#@ 自己写个工具自动绑定吧,求人不如求已,开工。。。。花了两天时间搞定。NND,阿里的API接口好几个坑。。。。。 工具怎么用自己看压缩包中的readme.txt文件 想用家里的电脑当服务器的同学可以继续往下看。。。。 运行环境: 1、windows平台 2、拨号连接所分配的IP地址必须为公网IP哦,否则飘过 3、有阿里买的域名,否则飞过吧。。。 注:开发语言c++ 欢迎加入Q群进行技术交流:565993954

2017-01-10

vs2013 vim插件 viemu3.2.1破解

在visual studio中用 vim 快捷键命令.

2016-06-27

算法导论 第三版 中文版 电子版 完整版 pdf

资源超过60M,无法上传完整PDF,请按附件文本中网盘下载地址和密码获取!

2015-03-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除