自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 FPGA学习总结

本次主要总结在FPGA学习过程中我认为一些比较重要的工程。

2023-07-16 19:57:52 91

原创 基于DE2 115开发板驱动HC_SR04超声波测距模块【附源码】

我们知道距离=速度x时间,要求出超声波模块到障碍物之间的距离,我们就需要知道速度和时间。速度就是340m/s,也就是声音在空气中传播的速度,转换城cm/μs单位就是0.034 cm/μs。时间的话,由于我们得到的是信号从发射到返回的时间值,所以需要除以2。Echo: 该引脚会在高电平和低电平之间转换,当检测到障碍物时,在高电平保持的时间就表示信号发射出去并反射回来的时间。(2) HC-SR04 接收到信号,开始发送超声波,并把 Echo置为高电平,然后准备接收返回的超声波。然后编译,进行烧录。

2023-07-05 21:33:06 132

原创 VGA显示彩条和图片(FPGA)

VGA(Video Graphics Array)视频图形阵列是 IBM 于1987年提出的一个使用模拟信号的电脑显示标准。VGA具有分辨率高、显示速率快、颜色丰富等优点。VGA 接口不但是CRT 显示设备的标准接口,同样也是 LCD 液晶显示设备的标准接口,具有广泛的应用范围。使用原理:显示器扫描方式分为逐行扫描和隔行扫描:逐行扫描是扫描从屏幕左上角一点开始,从左向右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场

2023-07-03 23:58:50 269

原创 基于Tensorflow和Keras实现卷积神经网络CNN

结果可视化(需要在 tf1 虚拟环境中安装 matplotlib 库,命令:pip install matplotlib -i “https://pypi.doubanio.com/simple/”)。上面图中是33的卷积核(卷积核一般采用33和2*2 )与上一层的结果(输入层)进行卷积的过程。可以使用Pooling来减少每层的样本数,进一步减少参数数量,同时还可以提升模型的鲁棒性。首先猫狗图像预处理,只不过这里将分类好的数据集放在 train2 文件夹中,其它的都一样。这样就减少了很多参数。

2023-07-03 21:43:41 245

原创 Nios-||入门实践

点击 Tools,然后点击 Nios II Software Build Tools for Eclipse 打开 Nios II SBT for Eclipse。(4) 在 Nios II SBT 中建立对应硬件系统的用户 C/C++工程,编写一简单用户程序,在。指定 NIos II 的复位和异常地址:选中CPU,单击右键,点击edit 进入 Nios II。(2) 使用 PD 建立并生成一个简单的基于 Nios II 的硬件系统;(3)掌握 Nios II 软件的开发流程,软件的基本调式方法。

2023-07-02 16:07:06 73 1

原创 FPGA编程入门

分别通过原理图和verilog语言实现半加器和一位全加器,并且通过将一位全加器设置为元件来调用实现四位全加器。了解了FPGA开发的一些基础知识。保持工程名一致,编译后查看原理图,没换工程的话,记得设为顶层。把前面设计的一位全加器保存为元件。创建好后,点击FIle,new。Verilog语言实现。

2023-07-02 15:10:23 63 1

原创 初识线性回归

三种方法得出的结果几乎相同,R的平方的值基本在0.2-0.3,exel和SKlearn两种比较简单都是通过调用已有存在的函数进行输出直接得到结果,而自己用Python编写代码进行运算也对线性回归的原理性质更加清晰,丰富了自己的知识。

2023-07-01 20:19:19 31

原创 ROS通信模式编程

后面开始改用ROS,ROS2参考还是太少了,古月居直接给的一些图像处理的例子,对我实验作业帮助不大,所以我决定还是用ROS。前面差别不大。就是dev_ws改为catkin_ws,colcon build 改为 catkin build还有创建功能包的命令变为。

2023-07-01 19:12:02 124

原创 轮廓检测及功能

每个轮廓都有许多可以计算的特征,包括轮廓的面积,它的方向(大部分轮廓指向的方向),它的周长,以及OpenCV documentation, here中概述的许多其他属性。在下一个单元格中,系统将要求您在* left *手轮廓周围找到边界矩形,该轮廓已将其拇指向上,然后使用该边界矩形裁剪图像并更好地集中在那只手上!因此,每个轮廓计算的方向角应该能够告诉我们关于手的一般位置的信息。明确手的方向,让你知道哪只手的拇指向上,哪只手的拇指向下!要找到轮廓的角度,首先应找到适合轮廓的椭圆,然后从该形状中提取角度。

2023-06-11 23:05:57 32

原创 HSV转换

将在之前一直使用的绿色示例中定义的绿色阈值可视化。练习:使用HSV色彩空间遮罩绿色区域。本实验将介绍HSV 颜色空间。

2023-06-11 22:59:30 79

原创 逻辑回归练习

我们知道逻辑回归的代价函数是: 𝐽(𝜃)=1𝑚∑𝑖=1𝑚[−𝑦(𝑖)log(ℎ𝜃(𝑥(𝑖)))−(1−𝑦(𝑖))log(1−ℎ𝜃(𝑥(𝑖)))]J(θ)=1m∑i=1m[−y(i)log⁡(hθ(x(i)))−(1−y(i))log⁡(1−hθ(x(i)))]如下图所示,作为这种映射的结果,我们的两个特征向量𝑥1,𝑥2x1,x2(两次质量保证测试的分数)已经被转换成了28维的向量。现在,你需要编写代码实现代价函数以进行逻辑回归的成本计算,并且经过所给数据测试后,初始的成本约为0.693。

2023-06-11 22:48:06 55

原创 线性回归练习

其中一种方法是使用批量梯度下降算法,在批量梯度下降中,每次迭代地执行更新,随着梯度下降的每一步计算,参数θjθj越来越接近能够使得成本J(θ)J(θ)达到最低的最佳值。在开始进入练习之前,对数据进行可视化通常很有用。在该部分练习任务中,你需要实现一个计算成本J(θ)J(θ)的函数computeCost,用于检查梯度下降实现的收敛性。接下来,我们将实现梯度下降,给出的代码已经实现了循环结构,你只需要在每次的迭代中提供𝜃θ的更新。回顾一下,模型的参数是θjθj的值,这些将用来调整以最小化成本J(θ)J(θ)。

2023-06-11 22:25:09 98

原创 【无标题】Jupyter notebook练习

还有就是安装里面的包是要更换镜像源(一般都给的是清华那个),这里我一开始可能就是镜像源没搞好,后面在Anaco中新建一个新的环境时就出错。这些例题都是书上的,感兴趣的可以以做一下,熟悉一下numpy,pandas,matplotlibs的库和python使用。安装好以后终端打开,一开始打开是home目录,所以文件很多而且很卡,你需要找到配置文件的路径。1、创建一个长度为10的一维全为0的ndarray对象,然后让第5个元素等于1。5、创建一个10*10的ndarray对象,且矩阵边界全为1,里面全为0。

2023-03-10 22:45:09 358

原创 Ubuntu安装ROS并控制小海龟

就可以一键安装,可以根据需求选择自己需要的版本。我试过了,装好以后还是有问题,这个可能因为一些设置也不同导致的。首先,从Ubuntu中装ROS需要更换镜像源,在软件和更新中将来自中国的服务器改为aliyun.com那个。需要先去查它的IP地址,我查过了,这里我就直接给。因为ROS后面的版本就没有自带roscore了,所以需要的话,要自己去下。可以直接导入已经装好的镜像,这个是Ubuntu18+ROS的镜像。如果上面是用的Ubuntu18的那个镜像则需要三个终端,分别运行。就可以看见小海龟并简单控制。

2023-03-07 22:39:58 752

原创 AHT20温湿度传感器与LED屏显示

IIc协议实现OLED

2023-01-13 21:02:22 594

原创 Quartus II实现D触发器及时序仿真

Quartus 安装 https://blog.csdn.net/qq_43279579/article/details/115158140ModeiSim安装 https://blog.csdn.net/qq_43279579/article/details/115176423。

2022-11-13 20:37:32 158

原创 嵌入式RTOS编程

Ⅰ.什么是PWM脉宽调制(PWM,Pulse Width Modulation)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。实际上,PWM是使用脉冲占空比拟合不同波形,即通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。通俗的说,就是控制在一个周期内,控制高电平多长时间,低电平多长时间(前面文章种有说过IO口就只有两种状态,0和1,对应就是0和5V或者0和3.3V)。

2022-11-12 23:07:47 556

原创 定时器与日历时钟

学习了利用HAL库实现定时器与日历时钟。了解了定时器与RTC的基本知识与功能。

2022-11-09 21:36:35 149

原创 中断的小实验

理解中断的意义:中断简单来说,就是让cpu在处理某一事件时遇到另一突发事件可以中断当前事件转去处理另一事件,处理完再转回来继续处理事件。也可以施加判断条件,决定执行事件的优先级,再在执行中断时决定要处理的事件。”时,持续发送“hello windows!然后就会执行HAL_GPIO_EXTI_Callback(GPIO_Pin)函数,此函数为回调函数,我们打开可以发现前面有个weak。而后关闭中断,进入中断接收回调函数,不再触发接收中断。大致过程是,设置数据存放位置,接收数据长度,然后使能串口接收中断。

2022-10-25 23:12:03 74

原创 串口通信小实验

用hal库明显简单很多,少写一堆代码,而且能避免一些驱动器的问题。

2022-10-23 23:00:42 56

原创 STM32寄存器及HAL库的LED程序

在搞清楚我们要用的几个寄存器的地址,以及寄存器中需要装填的数值以后,现在用一个简单粗暴的方法来操作这些寄存器——直接操作。(注意,这段代码不是实用的代码,只是为了写出一个最简单的LED,有些部分是不可取的。选这个_md.s的,这里我是已经移过来的,这个驱动文件需要移动到你所创建的项目目录里,没有的话去下一个就行。通过点上面的zoom栏中的in或者out将旁边的grid改为1s,并且勾选右边的signal info和cursor两项就会出现如上的波形图。在单片机的编程中,要想做某件事,必须寻找相应的寄存器。

2022-10-15 14:19:48 200

原创 ARM开发:使用MDK编译stm43简单程序

在第一行数据020000040800F2中,其实际表达为0x02 0x00 0x00 0x04 0x08 0x00 0xf2。hex文件的第一排字符称之为扩展线性地址记录,也称为32位地址记录或HEX386记录。‘01’ End of File Record: 用来标识文件结束,放在文件的最后,标识HEX文件的结尾。第四字节 0x04表示数据类型,数据类型有:0x00、0x01、0x02、0x03、0x04、0x05。‘00’ Data Rrecord:用来记录数据,HEX文件的大部分记录都是数据记录。

2022-10-08 22:25:07 199

原创 Ubuntu20.04下使用opencv编写程序实例

while 循环体中的 Mat 数据结构其实是一个点阵,对应图像上的每一个点,点的集合形成了一帧图像,有关 Mat 详解请看:OpenCV中Mat数据结构。语句:waitKey(30) ,中的参数单位是 ms 毫秒,也就是每一帧间隔 30 ms ,该语句时不能删除的,否则会执行错误,无法播放视频或录制视频。然后在虚拟机可移动设备中选择下面的一长串的,我这里截屏它就自动关就不放图片了,电脑差异可能有几个一长串的,试一试,下面这个圆盘光标变绿就行。2.获得编译预处理参数,如宏定义,头文件的位置。

2022-09-25 16:52:07 964

原创 Ubuntu入门编写

命令行输入vi hello.c 编写主程序。运行./hello得到结果。同样用gcc命令编译主程序。建立makefile文件。然后使用gcc命令编译。工具:Dev-C++

2022-09-10 17:04:36 959

空空如也

空空如也

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

TA关注的人

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