步进电机写字机器人程序

合集下载

经典典C程序(电子琴。步进电机.直流电机。串口通信)

经典典C程序(电子琴。步进电机.直流电机。串口通信)

一、电子琴1、连线:按键K1~K7与P10~P16相连,蜂鸣器与P33(INT1)相连。

2、流程图3、程序#include "reg51.h"sbit P3_3=P3^3;unsigned char idata i,tl0_temp=0,th0_temp=0;void INTTO() interrupt 1{TH0=th0_temp;TL0=tl0_temp;P3_3=~P3_3;}main(){P1=0Xff;TMOD=0X01;ET0 =1;EA =1;TH0=0;TL0=0;TCON =0x10;while(1){i=P1;if(i==0xff)TR0=0;if(i==0xfe){th0_temp=0xfC;tl0_temp=0x42;TR0 =1;}if(i==0xFD){th0_temp=0xFC;tl0_temp=0xAE;TR0=1;}if(i==0xFB){th0_temp=0xFD;tl0_temp=0x0A;TR0 =1;}if(i==0xF7){th0_temp=0xFD;tl0_temp=0x35;TR0 =1;}if(i==0xEF){th0_temp=0xFD;tl0_temp=0x82;TR0 =1;}if(i==0xDF){th0_temp=0xFD;tl0_temp=0xC8;TR0 =1;}if(i==0xBF){th0_temp=0xFE;tl0_temp=0x05;TR0 =1;}}}二、步进电机1、连线P1.0---P1.3依次连接A-DP3.4—K2 调节转向P3.5—K1 调节转速2、流程图3、程序#include "reg51.h"sbit SW1=P3^4;sbit KEY1=P3^5;bit Key1Flag;void DELAY(unsigned char dly){unsigned char i,j;for(i=0;i<dly;i++)for(j=0;j<255;j++);}void Mode1_deasil(unsigned char dly){P1=0x01; //ADELAY(dly);P1=0x02; //BDELAY(dly);P1=0x04; //CDELAY(dly);P1=0x08; //DDELAY(dly);}void Mode1_anticlockwise(unsigned char dly){P1=0x08; //DDELAY(dly);P1=0x04; //CDELAY(dly);P1=0x02; //BDELAY(dly);P1=0x01; //ADELAY(dly);}main(){unsigned char counter;counter=10;while(1){if(SW1==1)Mode1_deasil(counter);elseMode1_anticlockwise(counter);if((Key1Flag==0)&&(KEY1==1))Key1Flag= 1;elseif((Key1Flag==1)&&(KEY1==0)){DELAY(50);if(KEY1==0){Key1Flag=0;counter=counter+50;if(counter>=250)counter=50;}}}}三、直流电机1、连线P3.5—PWM0-5V输出---直流电机输入(至D/A)P1.1 ——K1P1.2——K22、流程图3、程序#include "reg51.h"sbit PWMout=P3^5;sbit KEY1=P1^1;sbit KEY2=P1^2;bit Key1Flag;bit Key2Flag;unsigned char Th0_temp,Tl0_temp;void DelayS(unsigned int dly);void key_check(void);void INTTO() interrupt 1{TR0=0;PWMout=0;}void INTT1() interrupt 3{TL0=Tl0_temp;TH0=Th0_temp;TR0=1;PWMout=1;}void DelayS(unsigned int dly){unsigned int i;for(; dly>0; dly--){for(i=0; i<1000; i++);}}void key_check(void){if((Key1Flag==0)&&(KEY1==1))Key1Flag=1;else if((Key1Flag==1)&&(KEY1==0)){DelayS(10); //k1按下加速if(KEY1==0){Key1Flag=0;Th0_temp-=0x10;if(Th0_temp<=0) Th0_temp=0x10;}}else if((Key2Flag==0)&&(KEY2==1))Key2Flag=1;//k2按下减速else if ((Key2Flag==1)&&(KEY2==0)){DelayS(10);if(KEY2==0){Key2Flag=0;Th0_temp+=0x10;if(Th0_temp>=250)Th0_temp=0xF0;}}}void main(){TMOD=0x11;TL0=0x00;TH0=0x70;Th0_temp=0x70;Tl0_temp=0x00;TL1=0x00;TH1=0x00;ET1=1;ET0=1;EA=1;TR1=1;while(1){key_check();}}四、串口通讯1、连线实验箱仿真头的TxD,RxD接用户串行口的TxD,RxD。

FANUC工业机器人离线编程 工业机器人写字项目

FANUC工业机器人离线编程 工业机器人写字项目

工业机器人写字项目实施资料制作:工业机器人协会目录第一章、SOLIDWORKS Explorer 操作 (3)第二章、ROBOGUIDE 仿真操作 (10)一、工作环境的建立 (10)二、工具坐标系的设置 (14)三、用户坐标系的建立 (17)四、TP文件的生成 (18)第三章、实操部分操作 (21)一、文件的导入 (21)二、坐标系的建立(该方法适用于抓手非倾斜的情况) (24)三、程序偏移的设置(方法一) (25)四、程序偏移的设置(方法二) (26)五、运行调试程序 (30)第一章、SOLIDWORKS Explorer 操作1.图标图1- 12.双击图标,进入操作页面图1- 23.新建SOLIDWORKS文件,选择形式图1- 34.选择基准面(ps:任何基准面都可以)图1- 4 5.打开并选择文本框图1- 5 6.在文本框内输入文字图1- 67.修改字体(ps:将勾取消,点击字体)图1- 78.选择字体及字体样式,点击“点”,选择字体大小图1- 8 9.初始文字图1- 9 文字模型图1- 10 确定模型10.拉伸文字图1- 11 调整文字基体的长度,厚度图1- 12 通过凸台拉伸文字前方向或后方向11.保存文字模型并选择保存格式图1- 13 选择文件保存,选择IGS格式图1- 14 输入文件名,完成模型第二章、ROBOGUIDE 仿真操作一、工作环境的建立1.新建一个机器人仿真程序图2- 12.默认选项至第六步,选择Robot H863 M-10iA图2- 2 机器人选择3.默认选项至完成图2- 3 完成选项4.输入2,完成操作图2- 4 机器人类型5.仿真界面后,在Cell browser中的parts→Add Part中选择Single CAD File 添加Part图2- 5 添加工件6.在计算机中查找你所写的IGS文件并选择它图2- 6 选择工件7.对Part的尺寸进行编辑,这里设为十倍图2- 7 设置工件尺寸二、工具坐标系的设置1.用工具坐标系9进行工具的添加与调整,右击UT:9选择Add Link→Cylinder,编辑工具尺寸,调整其位置如图图2- 8 添加工具2.双击UT9,勾选Edit UTOOL,调整TCP点位置,点击Use Current Triad Location确定图2- 9 调整工具坐标系3.右击Fixtures选择Add Fixture→Box图2- 10 添加Fixtures 4.令Fixture的长为297,宽为210,调整好其位置图2- 11 设置Fixtures5.在Fixture上添加Part ,即在其界面中的Parts里勾选Part1,使其w值为90,调整好Part 的位置如图图2- 12 添加设置Part6.通过示教器将机器人调整到一个合适的位置图2- 13 调整机器人位置三、用户坐标系的建立1.在GP1→UserFrames中选定UF9,勾选Edit UFrame,调整用户坐标系图2- 14 设置用户坐标系四、TP文件的生成1.在Teach中选择Draw Part Features,准备描点图2- 15 找描点方法2.点击你所写的字,再在CAD-TO-Path中点击Edit Line,继而在你所建的模上描轨迹(线必须与模型垂直)图2- 16 描点3.完成画轨迹之后,双击左键,跳出Fixture1 Part1界面,将用户与工具坐标系均改为九,点击Generate Feature TP Program生成TP文件图2- 17 建立TP文件4.打开TP文件,在示教器中调整工件上点的位置(在示教器上找点,然后在工件上把它拖动到合适的位置)图2- 18 调整点的位置5.找到你所建立的TP文件,保存到合适的位置,以便导入机器人示教器上图2- 19 保存文件第三章、实操部分操作一、文件的导入1.将可用的USB插入TP上的接口(注:系统重装盘无用)。

写字机器人

写字机器人

写字机器人机器人制作与创新创新一机器人写字机器人在我们的生活中应用越来越广泛,例如家务机器人、表演机器人、消防机器人、医疗机器人等。

在写字机器人的制作与创新过程中涉及到了单片机、电子技术、传感器、自动控制、电机技术、机械传动机构等相关知识。

利用单片机的可编程性、易控制、搭接电路简单、工作稳定、性能优越、价格低廉等特点,结合检测传感技术,综合应用到控制系统中,使写字机器人实现智能化。

该写字机器人可用作教师的辅助教学设备和机器人的实践设备等。

一、写字机器人的硬件设计写字机器人的整体结构如图1 所示图1 写字机器人的整体结构1(写字机器人的X轴运动写字机器人X轴的运动主要是通过控制底盘上的四个直流电机来实现,对单片机进行编程实现对机器人X轴的运动控制,写字机器人X轴如图2所示:图2 写字机器人X轴运动1机器人制作与创新2(写字机器人Y轴的运动写字机器人Y轴的运动采用的抽屉的滑轨配合齿轮齿条传动机构来实现的,具体的硬件的搭接方法如图3所示:图3 Y轴的运动单片机通过控制电机转动带动齿轮和齿条的运动来实现Y轴的上升和下降,从而实现“竖”笔画的书写3(写字机器人Z轴的运动写字机器人Z轴的运动采用的方法同Y轴的方法是一样的,Z轴的运动主要实现笔的进笔和出笔。

具体的硬件搭接方法如图4所示:图4 Z轴的运动二、程序设计1(写字机器人编程语言的选择机器人软件开发平台可以使用LOGO语言、QBASIC语言、汇编语言、C语言四种编程语言,而LOGO语言、QBASIC语言和C语言这三种语言的编程相对比较简单,但是占用程序存储空间比较大,而要在黑板上写出“北京仪表学校”六个字需要的程序存储空间比较大,而单片机只有4K的程序存储空间,所以这三种语言是不能选择的。

最终写字机器人采用的是汇编语言,虽然汇编语言的编程相2机器人制作与创新对来讲比较复杂,但是它属于底层语言(机器语言),占用空间比较小。

2(单片机存储器跨页的问题的解决机器人软件开发平台如果采用QABSIC语言进行编程,如果程序超过存储器容量的40,后,程序就不会按照编写的程序来执行,程序将出现跑飞,其主要原因是PIC单片机的程序存储器是分页进行存储的,采用QBASIC语言进行编程无法解决分页的问题,所以只能写在第0页上,无法写到后续的存储页上,这样写的程序的容量就受到了限制,这也是为什么采用汇编语言的第二个原因。

工业机器人应用教程(FANUC)中级 项目六 工业机器人写字应用离线编程

工业机器人应用教程(FANUC)中级 项目六 工业机器人写字应用离线编程
引领教育新理念 创造教育新环境
4. 用户坐标系建立:1、导入绘图模板。在左侧目录树中, 找到“工件”,右击,选取“添加工件”,“CAD文件” 。
2、选择相应的绘图模板,如右图中“平面绘 图模板总成-北.IGS”
引领教育新理念 创造教育新环境
3、选择好模板后,会出现最优化选择,此时 应点击“高质量读入”选项
6、绘笔工具安装完成后,手动拖动工具坐标 系,将其安装于机器人法兰盘中心位置处,注意 XYZ方向的位置,尽量不要出现空隙,数据参考 右图
引领教育新理念 创造教育新环境
7、在工具设置界面,选中“工具坐标”,点击“编辑工具坐标系”方框,将绘笔的工具坐标系在XYZ 方 向移动,将其工具坐标系置于绘笔笔尖中心位置,点击“应用”,位置数据如右图所示。工具坐标系建立完 成。
引领教育新理念 创造教育新环境
11、点击“结束”后,出现初始化界面,等 待时间较长,系统会根据上述操作创建虚拟仿真 系统
12、导入模型完成后,如图所示
引领教育新理念 创造教育新环境
2. 工作站工具导入:1、在软件界面的右边,选 择工作单元的“+”点击,打开后选择,“夹具 ”,右击
2、将鼠标指向“添加夹具”,右扩展,选择 “CAD文件”,点击。
建完成之后,进入仿真环境中选择“工具→仿真 器”
2、单击“网络定义”,进入设置界面,继续 单击“设置”按钮
引领教育新理念 创造教育新环境
3、设置连接类型为“仿真器”,IP地址设置 为“172.168.0.1”。单击“sim.start”按钮,当通 信成功时,指示灯会变成绿色。此时操作机器人 ,仿真软件中的机器人也会发生同样的变化。
8、单击“SELECT”按钮返回程序选择界面, 此时可以看到加载完成的文件“PROG 1”,按下 “ENTER”键可进入查看程序内容

机器人程序编写+精简

机器人程序编写+精简
定义机器人坐标系
为机器人定义合适的坐标系,如世界坐标系、机器人坐标系和工具坐标系等,以便进行路径规划和轨迹生成。
机器人路径规划与轨迹生成
路径规划算法
采用合适的路径规划算法,如基于规则的路径规划、基于搜索的路径规划、基于样条的 路径规划等,生成机器人从起点到终点的路径。
轨迹生成算法
根据路径规划和机器人运动学模型,生成机器人的运动轨迹,包括速度和加速度等参数 。
明确任务目标
首先需要明确机器人的任务目标 ,包括需要完成的具体动作和达 到的效果。
任务分解
02
03
逻辑设计
将任务目标分解为多个子任务, 每个子任务对应一个具体的动作 或功能。
根据子任务的顺序和依赖关系, 设计机器人的逻辑流程,确保任 务能够顺利完成。
任务调度与执行过程监控
任务调度
根据任务的优先级和时间要求,合理安排任务的执行 顺序和时间。
常见问题分析与解决方案
程序崩溃
检查代码是否存在内存泄漏、空指针引用等 问题,通过调试工具定位崩溃位置,进行修 复。
运行速度慢
分析程序运行过程中是否存在冗余计算或不 必要的操作,通过优化算法和减少不必要的
循环来提高运行速度。
性能优化技巧分享
减少IO操作
尽量减少机器人程序的IO操作,如文件读写 、网络通信等,以减少程序执行时间。
执行过程监控
在任务执行过程中,实时监控机器人的状态和动作, 确保任务按照预期进行。
异常处理
在任务执行过程中,如果遇到异常情况,需要及时处 理并调整任务的执行流程。
异常处理与容错机制设计
异常定义
明确异常情况的范围和类型,包括硬 件故障、软件错误、环境变化等。
异常处理

基于Arduino的CoreXY结构写字机器人设计

基于Arduino的CoreXY结构写字机器人设计

基于Arduino的CoreXY结构写字机器人设计随着社会的不断发展,物质文化不断丰富,人们对精神追求越来越高,公众对传统印刷品印刷文字和图像的满意度越来越低。

传统印刷需要大量的墨盒,墨盒的成本非常高,基于此我们团队设计并构建了这款基于CoreXY的书写机器人。

该系统将图像上传到主计算机进行图像识别,然后根据相应的固件进行转码并存入Arduino Mega2560,通过串口通信发给带有固件的Arduino并将其转换为相应的数字信号。

Arduino UNO R3控制板处理的信号通过相应的控制X轴,Y 轴作用于两个步进电机和舵机形成相应的联系,从而写出相应的文字和图像。

标签:写字机器人;Arduino;步进电机;舵机;CoreXY结构1 引言CoreXY结构的写字机器人不需价格高昂的墨盒,一只有墨水的笔和用电脑录入相应的文字便可完成相应的书写。

此机器人结构简单,无需太多的空间便可完成工作,通过对写字机器人的研究,有助于降低成本并且得到同样的书写效果。

本技术报告主要包括机械系统,硬件系统,上位机部分和控制部分,并说明我们的设计思路和解决方案。

机械结构的独特设计以及硬件系统的互相配合,完成了相应功能,在设计的过程中主要考虑制作的成本、机器的书写原理和怎样实现的等问题。

2 系统的整体设计创乐博DrawRobot负责接受文字及图像,并将接收到的文字和图像信息转为G代码,然后用一块Arduino Mega 2560,把Arduino Mega2560当作上位机并且与下位机进行通信,将G代码以两块板子的串口通信发送给控制板。

在下位机中,Arduino UNO R3控制板接受主机通过串口发送的G代码,通过画笔源码生成的固件将G代码识别转换成相应的电机的状态并将信号发送到CNC Shield V3扩展板和电机驱动板A4988[1]。

步进电机是机器人的动力部分。

从A4988接收的信号控制电机的正向和反向转速。

每次输出控制脉冲时,步进电机前进或后退。

项目六 写字机器人工作站

项目六 写字机器人工作站

实训指导书:项目六写字机器人工作站实训目标:【知识点】➢掌握工业机器人相关运动指令➢掌握工业机器人程序编写方法➢能正确对工业机器人程序文件管理➢工业机器人调试与运行【技能点】➢工业机器人写字运动规划➢工业机器人操作方法➢工业机器人写字工作站调试实训准备:一、实训器材1. HSR-JR612机器人1台,并在法兰面上安装水性笔;2. 机器人安装座1个;3. 安全围栏;4. 安全帽(操作人员佩戴)。

二、安全注意事项(1)操作机器人时佩戴安全帽;(2)投入电源时,请确认机器人的动作范围内没有人员;(3)初次使用时应两名学生配合,一人操作示教器,另外一人站在电控箱旁,发现异常后及时按下电控箱上的红色急停按钮;(4)在点动操作机器人时要采用较低的速度倍率;(5)在按下示教盒上的点动运行键之前要考虑机器人的运动趋势;(6)要预先考虑好避让机器人的运动轨迹,并确认该线路不受干扰;(7)机器人周围区域必须清洁、无油、水及杂质等。

相关知识:一.写字机器人工作站的组成写字机器人,其实就是工业机器人按照字体的笔画进行走轨迹运动。

机器人走轨迹有两种方法可以实现,一种是示教点位,另外一种是在电脑里面生成轨迹程序导入机器人控制器,也就是离线编程。

关于离线编程,在本项目最后拓展会简单介绍,因本控制系统不支持离线编程,故本项目采用示教点位的方式来实现机器人写字功能。

在本工作站中,还是使用HSR-JR612机器人作为写字机器人,为了便于现场实际教学,本写字教学工作站就地取材,利用实训室现有材料搭建,组成清单如下表6-1所示。

表6-1 工作站清单工作站实物图如图6-1所示。

图6-1 写字机器人工作站实训任务:利用安装在机器人夹具上的水性笔,在白纸上写上“CD”两个字母。

1.规划机器人运动路径;2.示教程序及机器人点位位置;3.调试机器人程序让机器人自动完成动作。

操作要点:1. 完成机器人新的工具坐标系设置2. 新建写字程序3. 示教写字程序;4. 调试与运行写字程序。

写字机器人报告61组

写字机器人报告61组
功能:单片机将信息输给步进电机驱动模块,再而控制步进电机的正反转,从而控制毛笔的升与落以及角度、时间;单片机控制两个直流电机的正转、反转和停止,实现小车的前进、后退、左转,从而 最终实现写字的目的。
图2.1 CPU与外围组件之间的关系
三.作品硬件结构
硬件主要包括单片机最小系统、2个直流电机、一个步进电机、步进电机驱动模块UN2003、直流电机驱动模块L298N、笔、小车底盘(含车轮)、7.2V电池等。
zuozhuan(38);
tingzhi(400);
xianghou(6);
tingzhi(400);
zuozhuan(38);
tingzhi(400);
xianghou(3);
tingzhi(400);
qibi();
zuozhuan(38);
tingzhi(400);
xianghou(3);
tingzhi(400);
3.2.2步进电机驱动电路
步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
五.总结
通过几周的不断调试及程序的修改,最终完成了本作品。在调试过程中遇到小车行进速度快、直流电机不易控制、转弯不是直角等问题。解决方法是加稳压模块降低电压来控制小车的速度;设置前进、后退、左转,多次重复调试,找出各自所需的时间值;把笔放在车尾通过参数的设置使小车转直角弯。但最好的方法是用步进电机控制车轮,写出字的效果要比直流好很多。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

步进电机写字机器人程序
/*转动160时,为45度。

25时,向前走1cm*/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char #define uint unsigned int sbit diancitie=P2^3;
sbit recept_led=P2^4;
sbit K4=P3^2;
sbit move_car_led=P2^5; sbit recept_ok=P1^4;
sbit ledd=P1^1;
sbit key=P2^0;
extern bit tingzhi;
uchar code zheng[8]={0x98,0x1c,0x34,0x26,0x62,0x43,0xc1,0x89}; //正向旋转相序表
uchar code fan[8]={0x89,0xc1,0x43,0x62,0x26,0x34,0x1c,0x98}; //反向旋转相序表
uchar code zhuan1[8]={0x99,0x11,0x33,0x22,0x66,0x44,0xcc,0x88};//转弯1
uchar code zhuan2[8]={0x88,0xcc,0x44,0x66,0x22,0x33,0x11,0x99};//转弯2
uchar code luo_bi[8]={0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1,0xf9};
uchar code qi_bi[8]={0xf9,0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8};
void delay(uint aa) {
int x,bb;
for(x=0;x<aa;x++)
for(bb=0;bb<160;bb++); //1ms基准延时程序 } void qibi()
{
int i,j;
for(i=0;i<50;i++)
{
for(j=0;j<8;j++)
{
P1=qi_bi[j];
delay(2);
}
}
}
void luobi()
{
int i,j;
for(i=0;i<50;i++)
{
for(j=0;j<8;j++)
{
P1=luo_bi[j];
delay(3);
}
}
}
int gostright(int z) {
int i,j;
for(i=0;i<z;i++)
for(j=0;j<8;j++)
{
P0=zheng[j];
delay(1);
}
}
int goback(int z) {
int i,j;
for(i=0;i<z;i++)
for(j=0;j<8;j++)
{
P0=fan[j];
delay(1);
}
}
int turnleft(int z) //左转 { int i,j;
for(i=0;i<z;i++)
for(j=0;j<8;j++)
{
P0=zhuan1[j];
delay(2);
}
}
int turnright(int z) //右转
{
int i,j;
for(i=0;i<z;i++)
for(j=0;j<8;j++)
{
P0=zhuan2[j];
delay(2);
}
}
int turn45du_left(int time) //左转45度{
int dd=0;
for(dd=0;dd<time;dd++)
turnleft(155);
}
int xiao45du_left(int time) //左转4.5度{
int dd=0;
for(dd=0;dd<time;dd++)
turnleft(15);
}
int turn45du_right(int time) //右转45度{
int dd=0;
for(dd=0;dd<time;dd++)
turnright(155);
}
int xiao45du_right(int time) //右转4.5度{
int dd=0;
for(dd=0;dd<time;dd++)
turnright(15);
}
int gostright1cm(int time) //前进1cm { int dd=0;
for(dd=0;dd<time;dd++)
gostright(25);
}
int goback1cm(int time) //后退1cm {
int dd=0;
for(dd=0;dd<time;dd++)
goback(25);
}
void main()
{
while(1)
{ qibi();
//turn45du_left(2); gostright1cm(12); luobi();
goback1cm(12);
qibi(); //1
gostright1cm(17); turn45du_right(2); xiao45du_left(1); goback1cm(8);
//gostright1cm(10); luobi();
goback1cm(10);
qibi(); //2
gostright1cm(28);
// gostright1cm(10); turn45du_left(2); xiao45du_right(1); goback1cm(5);
//gostright1cm(10); luobi();
goback1cm(12);
qibi(); //3 gostright1cm(31); //gostright1cm(18); turn45du_left(2); goback1cm(8);
//gostright1cm(10); luobi();
goback1cm(10);
qibi(); //4
turn45du_left(2); gostright1cm(2); turn45du_right(2); gostright1cm(9); luobi();
goback1cm(6);
qibi(); // 1行
turn45du_left(2); xiao45du_right(1); gostright1cm(5); turn45du_right(2); gostright1cm(6);
luobi();
goback1cm(6);
qibi(); //2行
turn45du_left(2); gostright1cm(4); turn45du_right(2); gostright1cm(6); luobi();
goback1cm(6);
qibi(); // gostright1cm(21); turn45du_right(2); goback1cm(10); luobi();
goback1cm(8);
qibi();
gostright1cm(21); turn45du_left(1) ; goback1cm(19) ; luobi();
goback1cm(1) ;
qibi();
goback1cm(19) ;
//
/* gostright1cm(22); turn45du_left(2); xiao45du_right(2); goback1cm(17); */
}
}。

相关文档
最新文档