-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsingle-blog.html
406 lines (376 loc) · 26.1 KB
/
single-blog.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="author" content="">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>LiBin-博客</title>
<link rel="SHORTCUT ICON" href="images/logo.jpg">
<link rel="stylesheet" href="css/bootstrap.min.css">
<!-- Main css -->
<link rel="stylesheet" href="css/style.css">
<!-- <link href="https://fonts.useso.com/css?family=Work+Sans:300,400,700" rel="stylesheet"> -->
<link rel="stylesheet" href="css/fonts.css">
</head>
<body>
<!-- PRE LOADER -->
<div class="preloader">
<div class="sk-spinner sk-spinner-wordpress">
<span class="sk-inner-circle"></span>
</div>
</div>
<!-- Navigation section -->
<div class="navbar navbar-default navbar-static-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon icon-bar"></span>
<span class="icon icon-bar"></span>
<span class="icon icon-bar"></span>
</button>
<a href="index.html" class="navbar-brand">
<img src="images/home/logo.svg" width="70" height="70" />
</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li>
<a href="index.html">首页</a>
</li>
<li class="php">
<a href="single-blog.html">设计</a>
</li>
<li>
<a href="single-project.html">作品</a>
</li>
<li>
<a href="single-teams.html">项目</a>
</li>
<li>
<a href="single-education.html">教学</a>
</li>
<li>
<a href="about.html">关于</a>
</li>
<li>
<a href="contact.html">联系</a>
</li>
</ul>
</div>
</div>
</div>
<!-- Blog Section -->
<section id="blog">
<div class="container container-left">
<div class="row">
<div class="col-md-offset-1 col-md-10 col-sm-12">
<div class="blog-post-thumb">
<!-- Smart机器人小车 -->
<h1>
<img src="images/home/icon-h.svg" width="28" height="28" /> Smart机器人小车</h1>
<div class="blog-post-image">
<img src="images/blog/smart00.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>一直想自己设计一个车,初步想法是较小,好看,好玩,能实现遥控、巡迹,避障,包含声、光、动基础功能。还是想画画PCB电路板,练习练习提升自己,还有一点就是可以节约成本。</p>
<div class="blog-post-image">
<img src="images/blog/smart0.jpg" class="img-responsive" alt="Blog Image">
</div>
<h2>结构设计验证</h2>
<p>
设计结构之前的第一步就是硬件材料选型了。车体积越小越好,所以在选择材料上对尺寸有要求。电路板PCB设计前对硬件材料选型也是关键一步。万能的淘宝肯定能找到各种各样的好东西。
最主要的就是电机和轮子了,电机和轮子尺寸基本决定了小车的尺寸。最后花了好长时间才选中比较合适的电机和轮子。店家已经把电机和轮子的尺寸图给出来了,就可以用建模软件画出1:1的立体图形了。
<br> 原来只会用犀牛画平面图,然后用激光切割切出来组装,刚好培训了犀牛,简单学会了如何建立体模型。花了1天将模型建好。
<br> 模型中前面有3个红外反射传感器,用于检测前方障碍物。车身底下也有两个红外反射传感器,用于巡迹。同时用了两个5mm的led灯作为车转向的“轮子”,也可以控制发光,但未考虑磨损。
</p>
<div class="blog-post-image">
<img src="images/blog/smart1.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>车的结构可以用3D打印来实现,3D打印的优点是适合原型设计,验证结构,快速开发。但是不适合批量化,时间比较长,小车结构8*5cm需要4小时,成本也相对较高。
为了节约时间就打算把底板舍弃不打印(去掉底板可以节省1小时),决定使用激光切割机切割木板,因为尺寸都确定了,只要导出切割文件花上10几秒就能搞定,同时喷上银色的漆看起来像金属材质,效果会好一些。
<br>木板和3D打印的结构固定没多想,简单粗暴使用502粘,当然量产肯定不行,量产就不需要拆开,直接将结构开模就行(前提是结构没问题)。结构出来后等购买的电机轮子就可以组装测试结构。装上传感器,先用模块调试功能,验证方案可行性,成功之后可设计电路板了。
</p>
<div class="blog-post-image">
<img src="images/blog/smart2.jpg" class="img-responsive" alt="Blog Image">
</div>
<h2>PCB设计</h2>
<p>功能验证完毕,基于产品定义开始设计原理图。明确几个功能点:</p>
<P> 1. 电源方案,必须内置电池,可充电;</P>
<p> 2. CPU芯片直接集成在板子上,缩小体积,节约成本;</p>
<p> 3. 电机驱动,支持PWM调速;</p>
<p> 4. 满足声、光、动;</p>
<p> 5. 兼容mCookie。</p>
<p>
因为mCookie核心采用5V供电,而锂电池电压在3.7V左右,需要升压电路,升压芯片采用:G5177,同时蓝牙模块需要3.3V电压(5V至3.3V),还需要稳压电路,稳压芯片采用:ASM1117。充电芯片:LTC4054。
CPU采用mCookie核心一样的型号;ATMEGA328P。电机驱动,需要带调速功能,这样就可以控制小车行的速度,所以芯片选型一定要注意。这里使用:DRV8833。
在电路板上加了4个彩灯,1个按钮,1个蜂鸣器,增加了可玩性。最后也是最重要的得兼容mCookie,所以少不了mCookie的接口。
</p>
<div class="blog-post-image">
<img src="images/blog/smart3.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>
完成PCB设计,CAM处理后,淘宝找家生产厂就可以打样了,一般是10片,100mm*100mm尺寸内,价格50元。大概1周左右,PCB就能到手,在这期间段可以购买电子元器件了。将元器件焊接到PCB上,同样是按功能块测试。
1. 电源5V,3.3V是否有正常电压
2. 充电是否正常 3. 灯、按键、蜂鸣器是否正常使用(简单程序测试) 4. 测试OK之后就可以开始软件调试了。
</p>
<div class="blog-post-image">
<img src="images/blog/smart4.jpg" class="img-responsive" alt="Blog Image">
</div>
<h2>程序设计</h2>
<p>为了程序使用方便,将功能模块化,传感器功能函数化,用户在使用时可以不用知道具体如何实现,只需要将函数拿出来使用即可,降低难度,同时也可以提高主程序的可读性。
<a href=https://git.microduino.cn/mota_src/IBC_BLE_08_Smart_Car target="view_window">代码地址</a>
</p>
<div class="blog-post-image">
<img src="images/blog/smart5_0.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>“carBLEJson.h”文件里面的函数负责接收并处理手机蓝牙发送过来的消息。</p>
<p>“colorLed.h”文件里面的函数专门用来控制彩灯。包括彩灯呼吸、闪烁、常亮等效果。比如车在拐弯时转向灯闪烁提醒,后退时常亮红灯表示倒退。</p>
<p>“eeprom.h”文件用来储存数据的,如果用户用手机操作改完一些参数后不保存下次开机就会恢复出厂数据,这用户体验显然不到位,改完数据必须储存。</p>
<p>“motor.h”文件用来控制电机,控制电机无非就是控制两个轮子如何转,而这需要根据遥控、巡迹、避障模式来确定,不同模式下控制不一样。</p>
<p>“userDef.h”用来储存一些用户可以改的参数,比如传感器接口,车的最大速度,彩灯的亮度。</p>
<div class="blog-post-image">
<img src="images/blog/smart5.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>在主程序中,蓝牙接收mDock(手机App)发送的数据,用于控制小车的一些参数:1.设置模式-遥控、巡迹、避障模式;2.微调小车速度。
同时需要检测一些传感器值,将对应传感器数据与对应模式相结合:1.检测按钮,也可用小车上的按钮设遥控、巡迹、避障模式;2.检测避障红外传感器,用于避障模式下小车前方遇到障碍物自动躲避;3.
检测巡迹红外传感器,用于巡迹模式下小车自动沿着黑线走。
</p>
<div class="blog-post-image">
<img src="images/blog/smart6.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>最后想通过手机来控制,这里使用Microduino自主开发的mDock,可在官网下载
<a href="https://www.microduino.cn/download" target="view_window">Download</a>。mDock是Microduino
物联网平台移动APP,支持iOS和Android,通过蓝牙、Wifi连接控制Microduino构建的物联网和智能家居应用。
用户能够直接从云端下载Microduino程序,利用蓝牙直接上传到Miroduino应用中,还可以通过拖拽定制个性化的控制界面。目前mDock控制蓝牙设备控件不支持拖拽功能,用户只能在后台编辑添加控件,再自定义通信协议。这块门槛稍微有点点高,这里不展开介绍。
</p>
<h3>协议定义</h3>
<p>Microduino根据硬件根据手机发送的名称和取值来判断该执行怎样的命令。</p>
<div class="blog-post-image">
<img src="images/blog/smart7.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>控制的生成需要到网站后台直接拖拽即可,网站上拖拽好了手机自动获取。控件拖拽好点击设置,根据功能(上面讲到的协议)选择名称和取值即可完成设置。例如遥控模式在控制目标选择“mode”,值设置为1。
设置完成,打开手机找到项目靠近进行蓝牙连接,连接成功就可以进行控制了。
</p>
<div class="blog-post-image">
<img src="images/blog/smart8.jpg" class="img-responsive" alt="Blog Image">
</div>
<br>
<h3>视频地址:<a href="https://v.qq.com/x/page/j0568yvj2g4.html" target="view_window">mSmart</a></h3>
</div>
<br>
<br>
<!-- 七夕礼物 -->
<div class="blog-post-thumb">
<h1>
<img src="images/home/icon-h.svg" width="28" height="28" /> 七夕礼物</h1>
<p>女朋友问七夕快到了,送啥礼物给我呢?心想应该自己做一个才更有意义。于是乎它便出现了。</p>
<div class="blog-post-image">
<img src="images/blog/lovecm0.jpg" class="img-responsive" alt="Blog Image">
</div>
<h2>PCB设计</h2>
<p>打算做个能发光的心,同时有个点阵能显示字,这样需要自己设计电路板。 板子上有16个全彩LED灯,一个2cm*2cm的点阵。当然还有Microduino Upin27接口,准备用Microduino来驱动。
淘宝上找到全彩的灯,有资料说明。根据这个画好了灯的原理图。
同时找到点阵驱动芯片资料,画出点阵的原理图。
</p>
<div class="blog-post-image">
<img src="images/blog/lovecm1.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>最后把所有电子元器件布置在心型里面。</p>
<div class="blog-post-image">
<img src="images/blog/lovecm1_1.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>路板画好了淘宝找一家生产电路板的厂家,等了5天做好了,同期买彩灯,这样板子到了就可以直接焊接了。Microduino的模块放在底部了。</p>
<div class="blog-post-image">
<img src="images/blog/lovecm2.jpg" class="img-responsive" alt="Blog Image">
</div>
<h2>程序设计</h2>
<p>程序相对简单了,设计了8个动态效果</p>
<p> 从第一个灯亮到最后一个灯,接着从最后一个灯依次灭,循环亮10种颜色;</p>
<p> 从第一个灯亮到最后一个灯,接着不灭灯直接从第一个灯变一种颜色,循环10种颜色</p>
<p> 灯从心的两边依次往下亮起到最后一个,再从最后一个依次灭,循环亮10种颜色</p>
<p> 灯从心的两边依次往下亮起到最后一个,接着不灭灯直接从第一个改变颜色,循环10种颜色;</p>
<p> 点阵屏上显示“七夕快乐”,灯的颜色任意变化。</p>
<p> 显示空心的心,灯和点阵的心依次点亮</p>
<p> 显示实心的心,灯和点阵的心依次点亮</p>
<p> 点阵显示“I ♥ U”,灯的颜色任意变化</p>
<code>
led_gradually_off(50); <br/>
led_gradually(100); <br/>
led_gradually_two_off(100);<br/>
led_gradually_two(100); <br/>
text(1500); <br/>
setAllLed(7);<br/>
display_bmp(_bmp_2); <br/>
delay(1000); <br/>
heart_1(8, 300); <br/>
delay(500); <br/>
setAllLed(0); <br/>
display_bmp(_bmp_1); <br/>
delay(1000); <br/>
heart_2(2, 300); <br/>
delay(500); <br/>
loveyou(2000); <br/>
</code>
<h2>结构设计</h2>
<h3>3D打印</h3>
<p>第一个方案想的是用3D打印制作外壳,用透明材料,这样光就能透出来被看到。模型建好后,开始在3D打印机上打印了。打印时间慢,两个大概花了5个小时。打印完毕后就可以吧调试好的硬件放入壳内固定。</p>
<div class="blog-post-image">
<img src="images/blog/lovecm3.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>效果图</p>
<div class="blog-post-image">
<img src="images/blog/lovecm3_1.jpg" class="img-responsive" alt="Blog Image">
</div>
<h3>激光切割</h3>
<p>开始设计了方盒子,但是感觉心型盒子会好看些。怎么设计心型的呢?激光切割机不能切割立体,只能由平面转换成立体那就像3D一样一层一层摞起来吧。把中间切空,根据模块高度,切割一定数量。</p>
<div class="blog-post-image">
<img src="images/blog/lovecm4.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>效果图</p>
<div class="blog-post-image">
<img src="images/blog/lovecm4_1.jpg" class="img-responsive" alt="Blog Image">
</div>
</div>
<!-- 荧光管时钟 -->
<div class="blog-post-thumb">
<h1>
<img src="images/home/icon-h.svg" width="28" height="28" /> 荧光管时钟</h1>
<p>偶尔在同事办公桌上看见一个荧光管时钟,感觉很炫酷,询问价格后觉得太贵了,于是想做自己一个。</p>
<div class="blog-post-image">
<img src="images/blog/IV18_0.jpg" class="img-responsive" alt="Blog Image">
</div>
<h2>PCB设计</h2>
<p>
开始查阅资料,得知管子名字叫IV-18(ИВ-18)荧光电子数码管,上世纪80-90年代前苏联的产物,冷战时期曾大量制造并用于军事设备,现如今已非常罕见。它一根管内嵌入了8个7段数字,且管身通透,字形优美。整个电子管的基板是一片透明的玻璃板,用于显示数字比划的每一段,以及连接每一个段的线路,均紧贴在玻璃板上,字体亮度均匀,并且寿命很长。
于是在某宝找到该管子,还挺贵的。提供了一些参数,典型电压为50V,单片机工作电压一般为3.3V或5V,因此必须要升压电路才能驱动。升压电路之后再讲。
<br>有两种型号22脚和19脚的,22脚的多了3个固定脚,其他都一样。</p>
<div class="blog-post-image">
<img src="images/blog/IV18_1.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>
通过表格和实物图片可以看出整个荧光管的电气特性有点类似于我们所使用的数码管,必须采用动态扫描方式来驱动,因为它的每一个段都是连接在一起的,通过依次给每一个数字位的栅极通电来选择当前显示的位,然后给7段数字线条通电,来显示一个数字,依次快速动态刷新,速度快到肉眼看不出来是每次只能亮一个,来完成8个数字的显示。就好比家里的灯,用的是220V
50Hz的交流电,实际灯是闪烁的,但是肉眼分辨不出来。
<br>当然还需要借助驱动芯片来更好的控制荧光管,查到两种型号:MAX6921和HV5812,看了下芯片手册,两者大同小异,都有20路输出,驱动荧光管17路就够了(8个阳极,9个栅极)。某宝查了下,后者要便宜好几倍,果断用后者。虽然本人一直觉得便宜没好货,但是可以试试。
<br>查完资料大概弄明白了,开始方案制定了。这里主要做荧光管驱动部分:升压电路和驱动电路。时钟用Mircoduino-RTC模块就行,校准时间打算用蓝牙,使用Microduino-BLE模块,核心自然采用Microduino-Core模块。
</p>
<div class="blog-post-image">
<img src="images/blog/IV18_2.jpg" class="img-responsive" alt="Blog Image">
</div>
<h3> 驱动电路设计</h3>
<p>
升压电路使用的还是廉价并经典的MC34063做高压升压,外扩了MOS管IRLR024,升压效率大幅提高,而且MC34063、电感、MOS管一点也感觉不到温度;IV-18的推荐工作电压为45v-70v,典型值为50V,升压至50V即可。
<br>HV5812驱动输出高达78V,升压电路50V满足。OUT0到OUT8控制栅极,8路灯1路圆点和横线。4根信号线控制,DIN:信号传输;CLK:时钟信号;STROBE:频闪信号(数据重新更新);BLANK:使能信号。
当然这个是可以级联的,数据位超过20后,从DOUT输出,可接下一个芯片得DIN,这里一个芯片就够用。驱动阳极和栅极的OUT引脚与IV-18接线按规则来排布,这样便于PCB方便布线。
<br>布线之前先不着急连线,先对照原理图,把元器件位置摆好,高压和低压隔离开。元器件位置摆好了后面布线就方便快很多。
</p>
<div class="blog-post-image">
<img src="images/blog/IV18_3.jpg" class="img-responsive" alt="Blog Image">
</div>
<h3> 驱动电路调试</h3>
<p>升压电路是否成功是驱动的前提,焊接完毕接上电源,测量升压后电压为49V,可以满足驱动电压。升压部分没问题,就可以焊接其他部分,包括HV5812驱动芯片及IV-18萤光管。</p>
<div class="blog-post-image">
<img src="images/blog/IV18_4.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>
为了与Microduino模块连接,得做个底座了,将4路信号及电源、地接入。焊接了Upin27底座和MicroUSB接口,通过MicroUSB供电。因为Microduino-RTC、Microduino-BT模块都是3.3V供电,所以还需要加上5V转3.3V芯片。
至此硬件就制作调试完毕了,开始软件调试了。
</p>
<div class="blog-post-image">
<img src="images/blog/IV18_5.jpg" class="img-responsive" alt="Blog Image">
</div>
<h2>程序设计</h2>
<h3> 逻辑分析</h3>
<p>软件的重点在于HV5812驱动芯片程序控制。通过手册3张图分析出数据如何传输来决定程序编写。
<br>从时序图中可以分析出先发送数据信号,间隔一段时间发送时钟信号,时间最小值为75ns,基本数据发送之后就可发送时钟信号了。数据结束后Strobe信号高低变化一次。Blank信号为低时输出信号(HVout)为数据信号,为高时输出低。因此可通过Blank直接关闭萤光管。
<br>方块图可以分析出,数据内部先通过20位移位寄存器传输数据,再通过Strobe信号和20位锁存寄存器输出数据,同时Blank信号通过非门与上输出数据,当Blank信号为低时直接输出(使能打开,可以点亮萤光管),为高时输出信号为低(使能关闭,关闭萤光管)。输出数据最后经过运放与Vpp(高电压)输出。
<br>功能表更明显了,首先控制数据(高或低),接着控制时钟信号由低变高,数据就会放入第一个移位寄存器中。如果Strobe信号为高将数据锁存,为低时可以恢复之前状态,重新传输数据。如果Blanking信号为低,保持锁存的数据,如果为高,则关闭输出。
</p>
<div class="blog-post-image">
<img src="images/blog/IV18_6.jpg" class="img-responsive" alt="Blog Image">
</div>
<h3> 程序实现</h3>
<p>原理图中OUT0-OUT8是控制荧光管栅极,因此需要传输9次数据,才能控制OUT0-OUT8的电压是高还是低。同理,控制A至Dp阳极方法也一样。</p>
<div class="blog-post-image">
<img src="images/blog/IV18_7.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>数据传输写完就可以写控制方法了。控制一个荧光管,先移动阳极数据,再移动栅极数据,这样17个引脚的信号都传输完毕,就可以控制一个荧光管。第一个参数num是控制哪个荧光管,第二个参数控制显示什么值。</p>
<div class="blog-post-image">
<img src="images/blog/IV18_8.jpg" class="img-responsive" alt="Blog Image">
</div>
<p>
控制8个荧光管需要采用动态扫描的方式,如下图,动态扫描每次只点亮一路,当G1设置为高G2-G9设置为低时,允许第一个被点亮,这时候再设置A-Dp全为高,第一个就能显示8了,如果G和Dp设置为低其他为高,就显示0了。然后循环再设置7次,只要速度够快达到肉眼分不出来的速度,这样就能看到8个一起亮。
</p>
<div class="blog-post-image">
<img src="images/blog/IV18_9.jpg" class="img-responsive" alt="Blog Image">
</div>
<h2>结构设计</h2>
<p>长上面那样是没法接受的,所以还需要设计一个外壳,简单方便快速便宜的方案就是用亚克力板激光切割出来。用一块亚克力拼接起来,比较费亚克力。用了透明亚克力和咖色亚克力。将电路底座安装在底座上,通过4个m2螺丝固定。
</p>
<div class="blog-post-image">
<img src="images/blog/IV18_10.jpg" class="img-responsive" alt="Blog Image">
</div>
<br>
<br>
<h2>| 未完,待续!</h2>
</div>
</div>
</div>
</div>
</section>
<!-- Footer Section -->
<footer>
<div class="container">
<div class="row">
<a href="index.html" class="col-md-3 col-sm-3">
<img src="images/home/logo.svg" width="70" height="70" />
</a>
<div class="col-md-4 col-sm-4">
<p>北京市昌平区</p>
<p>老家江西吉安</p>
</div>
<div class="col-md-offset-1 col-md-4 col-sm-offset-1 col-sm-3">
<p>
<a href="https://github.com/wasdylb" target="view_window">
<img src="images/home/icon-github.svg" width="20" height="20" /> wasdylb</a>
</p>
<p>
<a href="mailto:wasdylb@foxmail.com">
<img src="images/home/icon-email.svg" width="20" height="20" /> foxmail</a>
</p>
<p>
<img src="images/home/icon-weixin.svg" width="20" height="20" /> wasdylb -I005</p>
<p>
<img src="images/home/icon-qq.svg" width="20" height="20" /> 853387039 -木易</p>
</div>
<div class="clearfix col-md-12 col-sm-12">
<hr>
</div>
<div class="col-md-6 col-sm-6">
<div class="footer-copyright">
<a href="index.html">
<p>© 2019 7月 | LiBin的个人博客 </p>
</a>
</div>
</div>
<div class="col-md-6 col-sm-6">
<ul class="social-icon">
<p>
<a href="index.html">
<img src="images/home/icon-love.svg" width="20" height="20" /> ^_^ Wlecome! ^_^
<img src="images/home/icon-love.svg" width="20" height="20" />
</a>
</p>
</ul>
</div>
</div>
</div>
</footer>
</footer>
<!-- SCRIPTS -->
<script src="js/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/custom.js"></script>
</body>
</html>