导航:首页 > 软件知识 > ev3电梯的程序怎么编写

ev3电梯的程序怎么编写

发布时间:2022-10-31 10:36:35

① 电梯的工作程序代码用JAVA语言可以吗可以的话速求!

java 肯定可以,首先要解决虚拟机,就是电梯程序当中要有虚拟机运行,然后在虚拟机的基础上编写java程序去执行。

但是一般直接和硬件交互 一般用PLC

② 乐高ev3单光感巡线程序怎么编

采用反光强度模式,设置一个阈值,低于阈值左转,高于阈值右转。右侧巡线模式。

③ c语言编写乐高ev3的软件及基本算法最好有图。

#include<stdlib.h> #include<stdio.h> /*n表示几等分,n+1表示他输出的个数*/ int RungeKutta(double y0,double a,double b,int n,double *x,double *y,int style,double (*function)(double,double)) { double h=(b-a)/n,k1,k2,k3,k4; int i; // x=(double*)malloc((n+1)*sizeof(double)); // y=(double*)malloc((n+1)*sizeof(double)); x[0]=a; y[0]=y0; switch(style) { case 2: for(i=0;i<n;i++) { x[i+1]=x[i]+h; k1=function(x[i],y[i]); k2=function(x[i]+h/2,y[i]+h*k1/2); y[i+1]=y[i]+h*k2; } break; case 3: for(i=0;i<n;i++) { x[i+1]=x[i]+h; k1=function(x[i],y[i]); k2=function(x[i]+h/2,y[i]+h*k1/2); k3=function(x[i]+h,y[i]-h*k1+2*h*k2); y[i+1]=y[i]+h*(k1+4*k2+k3)/6; } break; case 4: for(i=0;i<n;i++) { x[i+1]=x[i]+h; k1=function(x[i],y[i]); k2=function(x[i]+h/2,y[i]+h*k1/2); k3=function(x[i]+h/2,y[i]+h*k2/2); k4=function(x[i]+h,y[i]+h*k3); y[i+1]=y[i]+h*(k1+2*k2+2*k3+k4)/6; }

④ 乐高ev3编程课程怎么上的

乐高EV3是模块化编程,使用鼠标拖拽可以实现编程。

对于Python爱好者,ev3dev是个不错的选择,它和LeJOS的环境准备很相似,也需要microSD卡来制作操作系统,用VS Code里面的扩展可以很

容易的进行开发、下载程序到EV3。

对于刚开始接触编程的小朋友(如果上初中了,别再搭积木了,还是开始学编程语言吧),可能直接学习编程语言稍有困难,Scratch 这样的拖拽

积木(我习惯称之为功能块)倒是不错的选择。Scratch升级到3.0后,除了界面发生变化,还提供了和EV3相关的扩展功能块。

⑤ 急求电梯的汇编程序代码

经过两天的编写,,写了一个大概样子吧
功能如下:1,先假设没上楼之前,楼层运行看不到(没图形),可以当做随机看待。
2。当在某层按电梯开关后,在屏幕显示电梯停到该指定楼层的图形状态。
3。随后可以按想去的楼层,在屏幕显示电梯运动过程,,
4,可选择是否还执行本程序(坐电梯)
汇编运行本程序过程:
FLOOR YOU SIT NOW(1-9H): (输入某要在的楼层)
FLOOR YOU WANT GO(1-9H); (输入某想去的楼层)
WANT EXPERIENCE AGAIN(Y/N).. (选择是否继续)

源程序如下:(其中由于时间有限解释得不是很细)

;用于在模拟楼房方框左边显示楼层号码
.8086
FNUM MACRO
LOCAL ML1
PUSH CX
PUSH AX
PUSH DX
PUSH SI
MOV CH,13H
MOV CL,31H
MOV SI,9
ML1: MOV AH,02H
MOV DH,CH
MOV DL,1FH
INT 10H
MOV AH,02H
MOV DL,CL
INT 21H
DEC CH
INC CL
DEC SI
JNZ ML1
POP SI
POP DX
POP AX
POP CX

ENDM

;用于显示未上电梯时的模拟状态图形
SITUATION MACRO NOWF
LOCAL L1,L2,L3,L4,L5,L6,L7,L8,PASS1
MOV AH,03H
INT 10H
FNUM
MOV AH,02H
INT 10H
MOV SI,101H
L0: MOV AH,0CH
MOV DX,LASTF
MOV CX,SI
MOV AL,0
INT 10H
INC SI
CMP SI,120H
JNE L0
MOV BH,1H
MOV SI,100H
L1: MOV AH,0CH
MOV DX,20H
MOV CX,SI
MOV AL,BH
INT 10H
ADD SI,1H
INC BH
CMP SI,120H
JNE L1
MOV SI,20H
MOV BH,1H
L2: MOV AH,0CH
MOV DX,SI
MOV CX,100H
MOV AL,BH
INT 10H
ADD SI,1H
INC BH
CMP SI,9BH
JNE L2
MOV SI,100H
MOV BH,1H
L3: MOV AH,0CH
MOV DX,9BH
MOV CX,SI
MOV AL,BH
INT 10H
INC BH
INC SI
CMP SI,120H
JNE L3
MOV SI,20H
MOV BH,1H
L4: MOV AH,0CH
MOV DX,SI
MOV CX,120H
MOV AL,BH
INT 10H
ADD SI,1H
INC BH
CMP SI,9BH
JNE L4
MOV FLAG1,1
MOV DI,NOWF ;NOWFLOOR
MOV SI,101H
L5: MOV AH,0CH
MOV DX,DI
MOV CX,SI
MOV AL,1
INT 10H
INC SI
CMP SI,120H
JNE L5
ENDM

;用于显示电梯运动
MOVEF MACRO NOWF,LASTF
LOCAL L1,L2,L3,L4,L5,L6,L7,L8,PASS1
MOV BH,1H
MOV SI,100H
L1: MOV AH,0CH
MOV DX,20H
MOV CX,SI
MOV AL,BH
INT 10H
ADD SI,1H
INC BH
CMP SI,120H
JNE L1
MOV SI,20H
MOV BH,1H
L2: MOV AH,0CH
MOV DX,SI
MOV CX,100H
MOV AL,BH
INT 10H
ADD SI,1H
INC BH
CMP SI,9BH
JNE L2
MOV SI,100H
MOV BH,1H
L3: MOV AH,0CH
MOV DX,9BH
MOV CX,SI
MOV AL,BH
INT 10H
INC BH
INC SI
CMP SI,120H
JNE L3
MOV SI,20H
MOV BH,1H
L4: MOV AH,0CH
MOV DX,SI
MOV CX,120H
MOV AL,BH
INT 10H
ADD SI,1H
INC BH
CMP SI,9BH
JNE L4
MOV FLAG1,1
MOV DI,NOWF ;NOWFLOOR
L6: MOV SI,101H
L5: MOV AH,0CH
MOV DX,DI
MOV CX,SI
MOV AL,1
INT 10H
INC SI
CMP SI,120H
JNE L5
MOV AX,FLAG1
CMP AX,1
JNE PASS1
XOR AX,AX
MOV FLAG1,AX
MOV AH,09H
MOV DX,OFFSET MSGEN
INT 21H
MOV DX,OFFSET MSG3
INT 21H
MOV AH,01H
INT 21H
PASS1:MOV BX,06FFH ;可修改速度
MOV CX,0FFFFH
TIME: LOOP TIME ;延时
DEC BX
CMP BX,0
JNE TIME
MOV SI,101H
L7: MOV AH,0CH
MOV DX,DI
MOV CX,SI
MOV AL,0
INT 10H
INC SI
CMP SI,120H
JNE L7
MOV AX,NOWF
CMP AX,LASTF
JA PASS2
INC DI
JMP PASS3
PASS2: CMP AX,LASTF
JNE PASS4
JMP PASS3
PASS4: DEC DI
PASS3:
CMP DI,LASTF ;LASTFLOOR
JNE L6

MOV SI,101H
L8: MOV AH,0CH
MOV DX,DI
MOV CX,SI
MOV AL,1
INT 10H
INC SI
CMP SI,120H
JNE L8

ENDM
;定义程序中要用到的数据段
DATA SEGMENT
MSG1 DB 'FLOOR YOU SIT NOW(JUST 1-9F):$'
MSG2 DB 'FLOOR YOU WANT GO(JUST 1-9F):$'
MSG3 DB 'INPUT ANY KEY TO START...$'
MSG4 DB 'WANT EXPERIENCE AGAIN (Y/N)..$'
MSGEN DB 0AH,0DH,'$'
NOWF DW ? ;NOWF变量表示原在楼层号码
LASTF DW ? ;LASTF表示目的楼层号码
FLAG1 DW 1 ;起一定小作用的变量
DATA ENDS
;定义程序中用到的堆栈段
STACK SEGMENT
BUFS DB 100 DUP(?)
TOPS LABEL WORD
STACK ENDS
;主代码段CODE1用于程序的执行或结束
CODE1 SEGMENT
ASSUME CS:CODE1, DS:DATA, SS:STACK
MAIN PROC
START: MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV SP,TOPS
MOV AH,0H
MOV AL,04H
INT 10H
REPEAT1:
CALL FAR PTR ELEVATOR
MOV AH,09H
MOV DX,OFFSET MSGEN
INT 21H
MOV DX,OFFSET MSG4
INT 21H
MOV AH,01H
INT 21H
CMP AL,'Y'
JE REPEAT1
CMP AL,'y'
JE REPEAT1
MOV AH,4CH
INT 21H
RET
MAIN ENDP
CODE1 ENDS
;子段码CODE2用于控制楼层状态和运动
CODE2 SEGMENT
ELEVATOR PROC FAR
ASSUME CS:CODE2, DS:DATA, SS:STACK
MOV AX,DATA
MOV DS,AX
MOV AX,SS
MOV SS,AX
REPUT1:MOV AH,09H
MOV DX,OFFSET MSGEN
INT 21H
MOV DX,OFFSET MSG1
INT 21H
MOV AH,01H
INT 21H
CMP AL,'1'
JB REPUT1
CMP AL,'9'
JA REPUT1
SUB AL,30H
XOR AH,AH
DEC AX
MOV DX,08H
MUL DX
MOV DX,AX
MOV AX,9BH
SUB AX,DX
MOV NOWF,AX
SITUATION NOWF
REPUT2: MOV AH,09H
MOV DX,OFFSET MSGEN
INT 21H
MOV DX,OFFSET MSG2
INT 21H
MOV AH,01H
INT 21H
XOR AH,AH
CMP AL,'1'
JB REPUT2
CMP AL,'9'
JG REPUT2
SUB AL,30H
XOR AH,AH
DEC AX
XOR DX,DX
MOV DX,AX
MOV AX,08H
SUB AX,DX
MOV DX,AX
MOV AX,08H
MUL DX
ADD AX,5BH
MOV LASTF,AX
CMP AX,NOWF
JE REPUT2
MOVEF NOWF,LASTF
RETF
ELEVATOR ENDP
CODE2 ENDS
END START

;声明:由于本人能力和时间有限不能把所有的功能都完善,如有需要,可留言
;星云制作

⑥ 基于arino电梯程序

一、工作原理

生活中的升降电梯组成比较复杂,包含轿厢系统、导向系统等等,如下图1所示。但是功能却相对好操作,就是按下对应的楼层时,轿厢系统就可以达到对应的楼层。

图1升降电梯的组成

那么这一简单的操作,背后的原因是怎样的?我们以三层楼为例,为了实现楼梯准确智能的切换,可以引入两个变量实现。开始设定一个变量a数值为0,电梯在1层;当按下3层时,变量b设为3。程序执行“b-a”的数值乘以运动一层的时间,即可到达3层的位置,并让b的值赋予a。同样如果此时再按下2层时,则变量b的值设为2,当“b-a”小于0时,则反转,乘以一层运动的时间,就可以到达2层啦。

二、硬件装置

那么如何控制电梯的升降?需要开源硬件Arino、按钮、电机驱动板和电机等材料。

制作本作品所需要的材料和说明如表 1所示:

表 1 实验材料

名称

数量

说明

Arino UNO 主板

1个

控制器

Arino 扩展板

1个

扩展接口

按钮

3个

控制楼层

电机驱动板

1个

控制电机的运动

楼梯模型

1个

骨架材料

小电机

1个

驱动轿厢移动

三、L298N电机驱动板的使用

可能大部分老师同学对Arino的使用比较熟练,但是对于电机驱动板的使用还不是熟悉。L298N电机驱动板具体的功能,如下图2和3所示。

图2 L298N电机驱动板的功能图

图3 针脚的功能

在这里需要提醒的是:1.当IN1和IN2的电平不一样时,才能控制输出A电机的方向;同样,IN3和IN4也是一样的;2.ENA和ENB针脚分别控制M1和M2的PWM,也就是电机的转速;

四、代码编写

原理清晰了,代码就比较简单书写,本案例我们使用Mixly编程软件。具体如图4和5所示。

图4 主程序

图5 控制上升下降的函数

程序介绍:刚开始设置两个变量a和b,分别赋值为1和0。如果按下2楼时,则b赋值为2,执行“控制上升下降的函数”。在这个函数中,通过两者差值的大小乘以一层楼运行的时间,来控制到达的楼层;如果b>a,则向上运动;如果b<a,则改变管脚2和3的高电平和低电平,改变运动方向;待执行完之后,将b的值赋予给a。如果按下3层时,b的值为3,同样通过判断a和b的值,执行“控制上升下降的函数””,来执行电梯移动到指定的位置,不断循环。

五、运行效果

根据要求,将各硬件材料组装测试,如下图6所示。正如生活中的电梯一样,当按下对应的楼层按钮时,则电梯的轿厢可以到达对应的楼层

⑦ 用C语言编写一个关于电梯的程序

这是以前作的课程设计,是一个10层电梯的模拟,供楼主参考吧:
printf("上下选择:1-上楼,2-下楼\t");
scanf("%d",&input_direction);
fflush(stdin);
printf("输入该层的乘客想到达的楼层,以-1结束\n");
void check(liftor &myliftor) int flag1=0,flag2=0,flag3=0;
for(i=0;i<10;i++)
{
if(myliftor.stored_flare[i]!=0)
flag1=1;
if(myliftor.stored_flare[i]==1)
flag2=1;
if(myliftor.stored_flare[i]==2)
flag3=1;
}
if(!flag1) myliftor.set_direction(0);
else if(!flag2&&flag3) myliftor.set_direction(2);
else if(!flag3&&flag2) myliftor.set_direction(1);
int main(int argc, char *argv[])
liftor myliftor;
char flag;
int j;
myliftor.direction=1;
printf("**************************************\n");
printf("该程序用于模拟10(0-9)层的电梯控制\n");
printf("先输入按下电梯的层号及上下选\n择(类似电梯外的按钮)\n");
printf("每到一层时,输入乘客要到的楼\n层号(类似电梯内的按钮)\n");

⑧ ev3 程序会用到分支结构,有几种分支结构,分别是怎样的

三种
无论EV3程序多么复杂,都可以分解为三大程序结构(等待、切换、循环)与两大运行模式(顺序程序、并行程序)的组合。三大程序结构与两大运行模式多种组合方式的适用环境。结构由一些初始操作、一个包含主程序的循环和一些关闭操作组成。循环的主程序可能只是一个连续的程序。

⑨ 用Java编写程序,设计一个模拟电梯运行的类

最佳答案代码如下:

public class ElevatorModel implenent ElevatorModelListener{
ElevatorShaft elevatorShaft;//电梯车箱
Floor firstFloor;
Floor secondFloor;

public void addPerson(Person person);
//实现ElevatorModelListener接口的所有方法

}

public abstract class Location{
String locationName;//可能占据的三个位置firstFloor; secondFloor;elevator中的其中一个位置。

public Button getButton();
public Door getDoor();
}

public class Floor extends Location{
public Floor(String firstFloor,String secondFloor);

public Button getButton();//具体实现
public Door getDoor();//具体实现
public ElevatorShaft getElevatorShaft();
}

public class Door implenent ElevatorMoveListener{
boolean open;//门是开的关的
public void openDoor();//开门
public viod clossDoor();//关门
}

public class Button implenent ElevatorMoveListener{
boolean pressed;
public void pressButton();//按下按钮
public void resetButton();//释放按钮
public void elevatorArrived();//电梯到来
}

public class ElevatorShaft{//电梯乘箱
Elevator elevator;//电梯
Button firstFloorButton,secondFloorButton;//出发层的按钮和到达层的按钮 Door firstFloorDoor,secondFloorDoor;//出发的门和到达的门
Light firstFloorLight,secondFloorLight;//灯

//监听器
DoorListener doorListener;
ButtonListener buttonListener;
LightListener ligthListener;
BellListener bellListener;
ElevatorMoveListener elevatorMoveListener;
Set set;
}

public class Light implenent ElevatorMoveListener{
boolean lightOn;//代表灯的状态,亮或灭
public void turnOnLight();
public void turnOffLight();

public void elevatorDeparted();//具体实现
public void elevatorArrived();//具体实现
}

public class Bell implenent ElevatorMoveListener{
public void ringBell();
public void elevatorDeparted();//具体实现
public void elevatorArrived();//具体实现
}

public class Elevator extends Location implenets
ButtonListener,DoorListener,BellListener,Runable
{//电梯乘箱
boolean moving;
boolean summoned;//描述Elevator是在移动还是已经补召唤
Floor currentFloor;//当前正在提供服务的Floor
Floor destinationFloor ; //代表将要到达的Floor
Button elevatorButton;
Door elevatorDoor;
Bell bell;

public void run();// 实现
public void requestElevator();//请求Elevator并产生排队请求。 }

public class Person extends Thread{
Location类对象(或是位于Floor上,或是出处在Elevator中); int ID;
boolean moving;

public void run();//具体实现
public void enterAndRideElevator();
}

⑩ ev3机器人编程是什么

EV3是乐高公司开发的第三代MINDSTORMS机器人,它无需计算机也可实现编程,远远超出了人们对传统玩具的期待,成为少儿和成人皆宜的高级创意玩具。

EV3让拼砌玩家释放自己的创造力。拼砌出可行走、说话和思考的机器人,它们能完成你能想象到的任何事。

EV3与NXT的不同、机器人的搭建、机器人的改造,并为EV3编写巡线程序、地板清洁程序、扑克魔术程序等,同时还从菊链项目和扩展玩法等多个方面介绍EV3的强大功能。

《乐高EV3机器人编程超简单》:

是2018年9月人民邮电出版社出版的图书,作者是曾吉弘、卢玟攸、翁子麟、蔡雨锜、薛皓云。

本书由CAVEDU 教育团队编写,全面细致地介绍了乐高机器人的部件及EV3 编程技巧。全书包含12 章内容,不仅详细介绍了乐高机器人的发展史及其零部件,同时也通过丰富的设计案例教会读者实用的机器人设计及编程技巧。

除此之外,本书还以附录的形式给出了一系列补充资源,方便读者参考使用。读者可以通过循序渐进的学习来了解乐高机器人,并在详尽的操作指导下,更好地掌握编程技巧。

阅读全文

与ev3电梯的程序怎么编写相关的资料

热点内容
追星代言产品有哪些 浏览:987
瑞刷代理怎么分润账号 浏览:545
水产品加工的薪资如何 浏览:837
数据节点如何增加 浏览:715
如何用产品思维打造一家超级房企 浏览:800
做网络代理商需要什么条件 浏览:456
永州华为有哪些大数据产业园 浏览:223
igxe取回的物品多久能交易 浏览:584
菜市场排骨怎么做 浏览:461
牛市场有哪些地方 浏览:239
全球交易大师有哪些人 浏览:841
哪些医疗美容产品不让快递 浏览:544
腾讯游戏是怎么打开中国市场的 浏览:628
护肤品被工商查到过期产品怎么办 浏览:817
闲鱼交易猫上怎么和卖家联系 浏览:316
从网上买程序得多少钱 浏览:53
华为应用市场预约的手游怎么取消 浏览:121
医药代理产品怎么样 浏览:76
库兹马怎么一直不交易 浏览:40
江苏技术erp系统哪个好 浏览:525