乐高打印机robotc

news/2024/12/29 2:56:08/

目录

一、实验原理

二、实验目的

三、实验内容

四、实验器材(设备、元器件)

五、实验步骤

六、实验数据及结果分析

七、实验结论

八、总结及心得体会

九、对本实验过程及方法、手段的改进建议

代码附录

温馨提示



一、实验原理

1.取模:在hzk16文件中每个汉字占32个字节。在GB2312-80代码表中,纵向分为0~93,共94行。将行号称为区号,列号称为位号,分别有94个区和94个位。区号和位号用十进制表示,不足两位前面补0。这样每个汉字或符号都可用4位十进制表示,也就是区位码。每一区共有94个汉字,而位记录该汉字在该区中的具体位置。通过区位码可以计算偏移量从而将汉字信息读取出来转为点阵并打印。但是hzk16文件较大,此处我们采取直接通过字模软件取模的方法。

2.打印机模型

通过3个电机(分别对应3个轴)协调打印

X轴为打印机水平平移方向,进行点阵的横向打印

Y轴为打印纸张竖直平移方向,使用一带轮电机滚动带动纸张平动,实现换行打印

Z轴控制水墨笔点出点迹

二、实验目的

1. 通过对计算机打印过程的分析,了解点阵字库的作用与打印过程的原理;

2.通过对打印机器人工作参数的定义分析过程,了解系统参数之间、系统参数确定对软硬件设计的影响;并可在系统参数、软件复杂度、硬件复杂度之间进行恰当的折中;

3.通过应用LEGO Digital Designer进行虚拟设计、组装实际的打印机器人并编写控制程序,了解系统分析设计、机械结构设计、软件编程验证、系统改进与维护等工程设计的整个流程;

4.学习进行组内任务划分和工作接口定义,了解初步的项目管理。

三、实验内容

1.打印机功能分析与参数定义:

(1)功能分析

打印出16×16点阵汉字

(2)参数定义

打印方式:单针击打式点阵打印

像素:16*16位

色阶:2色

打印速度:约0.4秒/点 约30秒/字

字符集:HZK16

语言:中文

纸张格式:A4(210mm*297mm)

打印尺寸:像素宽度4mm 文字大小3cm*3cm

机器尺寸:25cm*25cm*20cm

接口:USB micro B

主机:LEGO EV3

电源:10V DC

操作系统:Windows

使用温度:5-35℃

2.方案设计及任务规划:

以矩形为打印机基本框架,搭建轨道,上放小车(X轴),对面为进纸器(Y轴),将Z轴电机固定于小车上随小车一起移动,同时控制水墨笔打点。

3.进纸及打印机构设计:Y方向进纸

4.软件编程和调试:

通过robotc编写,用取模软件取模后生成点阵信息,读取每个点信息控制XYZ协调运动打印汉字,每行结束后Y轴行进一次,X轴反向移动。

四、实验器材(设备、元器件)

序号

名     称

型号与规格

数  量

备注

1

LEGO Minstorms教育机器人

NXT版本

1

2

RobotC开发环境

4.52版本

1

2015版

3

字模软件

畔畔字模提取软件

1

4

电脑

联想拯救者R7000

1

5

乐高积木

20+

6

一只记号笔

晨光MARKER油性记号笔

1

7

车轮

直径5cm

4

8

万向轮

直径1cm

1个

9

齿轮

24齿

4个

五、实验步骤

1. 搭建如图所示模型

以矩形为框架,外侧横向放置车轮增加稳定性,轨道与进纸区相对,小车与笔绑定,通过Z轴电机控制水墨笔上下移动完成打点,将主机固定于框架上

2.软件编程和测试

运用取模软件提取字模,生成点阵信息置于程序中生成二维数组,当其为1时x轴前进并打点,否则只前进不打点,每打完一行Y轴移动一次实现退纸

六、实验数据及结果分析

点距

xy)角度

24齿

1.06mm

5

40齿

5mm

5

选择24齿更稳定,并且精度高

七、实验结论

打印笔细则辨识度高,轨道太轻则不稳定,不打点时让小车一次性多走几步能很大程度提高速度。

八、总结及心得体会

  1. 通过反复调试,我们将为0的多个点合并成一个记录0的个数的数字,完成一次性走完多步而不打点,这样减少了小车的启动和停止时间,从而大大提高了打印速度。
  2. 打印笔连接杆越长,越不稳定,精度越低
  3. 打印笔的平动和转动:最初我们通过齿轮将转动转化为平动,但当z轴速度越来越快时,通过齿轮控制笔杆跟不上,导致卡的现象,最终我们选择了转动
  4. 行进轮大小对打印机的影响:理论上轮径越小打印车越稳定,但当轮径过小时,不能达到最大平移速度,并且实验发现轮径越小,相同速度下笔尖平移越不稳定。于是,我们适当控制行进轮大小,结合程序调试达到最佳效果
  5. 通过橡皮筋绑定笔杆与连接杆时,两根橡皮筋不宜离得太近,否则笔会沿x轴移动,影响打印精度
  6. 轨道下方增加万向轮可以提高轨道稳定性,但也使得进纸摩擦增大

九、对本实验过程及方法、手段的改进建议

  1. 纸的移动会偏离Y轴,可在两侧增加固定板使得纸只能沿Y轴移动,从而提高精度
  2. 万向轮的添加降低了纸移动的灵活性,可撤销万向轮,通过降低轨道高度或在轨道上方添加一滑道减少打点时小车的晃动

代码附录:

void HexToBin(unsigned char* hexStr, unsigned char* binStr, int lenHex)
{memset(binStr, '0', lenHex * 8);unsigned char hexChar[2];for(int i=0;i<lenHex;i++){hexChar[0]=(hexStr[i] & 0xF0) >> 4;hexChar[1]=hexStr[i] & 0x0F;for(int j=0;j<2;j++){for(int k=0;k<4;k++){if(hexChar[j] & (0x08 >> k)){binStr[8*i+4*j+k]='1';}}}}
}task main()
{unsigned char bin[257];int i,p;unsigned char bits[32]={0x00,0x00,0x3F,0xF0,0x02,0x10,0x02,0x10,0xFF,0xFE,0x02,0x10,0x06,0x10,0x3F,0xF0,0x08,0x00,0x1F,0xF0,0x28,0x10,0xC8,0x10,0x08,0x10,0x0F,0xF0,0x08,0x10,0x00,0x00,};HexToBin(bits, bin, 32);while(1){for(i=0;i<256;i++){if(i%16==0&&i!=0){resetMotorEncoder(motorB);setMotorTarget(motorB, 5, 60);waitUntilMotorStop(motorB);resetMotorEncoder(motorA);setMotorTarget(motorA, 5*16, -60);waitUntilMotorStop(motorA);}if(bin[i]==0){p=1;while(bin[i+1]==0&&i%16!=0)p++;i++;resetMotorEncoder(motorA);setMotorTarget(motorA, 5*p, 50);waitUntilMotorStop(motorA);}if(bin[i]=='1'){resetMotorEncoder(motorc);setMotorTarget(motorc, 20, 50);waitUntilMotorStop(motorc);resetMotorEncoder(motorc);setMotorTarget(motorc, 20, -50);waitUntilMotorStop(motorc);}resetMotorEncoder(motorA);setMotorTarget(motorA,5, 60);waitUntilMotorStop(motorA);}if(i==256){break;}}
}

温馨提示:代码可能存在错误,请读者辩证学习,独立思考更优解决方案


http://www.ppmy.cn/news/476086.html

相关文章

乐高大颗粒作品22:灯塔

今天我们用乐高大颗粒搭建一个灯塔&#xff0c;还行&#xff0c;还是有点像的。 好了&#xff0c;今天的分享就到这里吧&#xff0c;赶谢大家的阅读。 每个孩子都是一张纯洁的白纸&#xff0c;就因为对世界一无所知&#xff0c;所以思维发育会更加不受限制&#xff0c;孩子们总…

走过一片麦田,只能摘一次,并且不能回头,如何保证摘到的麦穗尽可能大

遍历到n/2的时候&#xff0c;记录遍历到的元素&#xff0c;并且建模&#xff0c;之后再遍历到第n/21个元素的时候&#xff0c;更新该模型&#xff0c;并且预测最大值在后一半中可能出现的位置。 在前面一半中找到最大值&#xff0c;在后面一半&#xff0c;如果比最大值大&#…

画麦田怪圈

大家好&#xff0c;今天我教大家画麦田怪圈。 首先得导入画图模板&#xff0c;代码如下&#xff1a; import turtle 这个画图模板有很多功能&#xff0c;咱们只用到其中这四种。首先设颜色&#xff0c;代码块如下&#xff1a; turtle.pencolor(“red”) (双引号里的单词可…

关于计算机网络简笔画,电脑卡通简笔画图片

电脑卡通简笔画图片 月饼&#xff0c;我们在中秋节的时候吃的一种食物。你喜欢月饼吗?你想看看月饼的卡通形象是怎样的吗?今天先和小编一起欣赏这些卡通月饼简笔画图片&#xff0c;希望你会有所收获的。 卡通月饼简笔画图片欣赏 卡通月饼简笔画图片1 卡通月饼简笔画图片2 卡通…

麦田网项目

快速过项目1—新建一个koa https://blog.csdn.net/weixin_43800593/article/details/116402080 快速过项目2–es6&#xff1a; https://blog.csdn.net/weixin_43800593/article/details/116402345 快速过项目2.1–箭头函数&#xff0c;js&#xff0c;es6,回调函数 https://bl…

《麦田里的守望者》阅读笔记

2022年9月29号读完&#xff0c;花了三天读完这本书&#xff0c;以为会一个很文艺的故事&#xff0c;但并不是。是主人翁16岁的霍尔顿出身中纽约一个富裕的中产阶级家庭&#xff0c;以第一人称的视角&#xff0c;表现了一个当代美国少年反英雄的形象是怎么样的。学校里的老师和自…

麦田怪圈集合欣赏!(高清晰图)

它们是如此让人着迷&#xff0c;每一个都是那么美轮美奂&#xff0c;不可思议&#xff01;我时常在想&#xff0c;是不是外星文明或者未来的人类在用它们向我们传达某种信息&#xff1f;如果破译了它们或许会让人类找到进步的捷径&#xff01;如果它们是大自然的杰作的话&#…

含泪整理最优质谷物 杂粮cc0高清摄影图片素材,你想要的这里都有

谷物 杂粮cc0高清摄影图片素材&#xff0c;我常用的这个网站就挺好的&#xff0c;免费下载&#xff0c;资源多&#xff0c;品质优&#xff0c;而且资源类型都很齐全&#xff0c;要是大家需要可以看一下&#xff0c;真的不骗人&#xff01;一键打包下载&#xff0c;快捷方便! 免…