0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在空中控制计算机

454398 来源:网络整理 作者:网络整理 2019-11-14 11:46 次阅读

第1步:所需材料

跳跃Motion支持PythonJava,C ++,C#,Javascript。在本教程中,我们将使用Java。

因此,在开始制作程序之前,我们需要查看此构建所需的材料:

1。飞跃运动控制器(在此处购买)

2。面向Java开发人员的Eclipse IDE(在此处下载

3。 Leap Motion设置文件(在此处下载)

4。 Leap Motion SDK(在此处下载)

5。 Java SE 7(在此处下载)(下载JDK和JRE )

( * Leap Motion库仅适用于Java 6或Java 7 )

如果您不知道如何设置eclipse,那么我推荐此Java系列入门教程:在此处观看

好,现在让我们转到涉及的步骤创建程序。

步骤2:软件设置

跳跃运动支持多种编程语言,例如C ++,C#,Python,Java和Javascript。

在本教程中,我们将使用Java进行编程。

初始设置:

1。首先转到https://www.leapmotion.com/setup并下载Leap Motion设置文件,然后安装该应用程序。它会安装所有内容,以将the动控制器连接到您的计算机。

2。接下来转到https://developer.leapmotion.com/(开发人员门户)并创建一个帐户。然后下载Leap Motion SDK。

3。然后将zip文件中的所有文件提取到您选择的任何文件夹中。

配置类路径:

在此本教程将使用面向Java开发人员的Eclipse IDE。

1。打开Eclipse,然后单击File》 New》 Java Project。

2。为项目命名,并确保将执行运行时环境JRE设置为Java SE 1.7,如图所示。

3。然后单击“下一步”,打开“库”选项卡,然后选择“添加外部JAR”并导航到先前提取的文件夹。

4。然后打开LeapSDK文件夹并转到libs文件夹并选择LeapJava.jar文件。

5。接下来,单击LeapJava.jar旁边的三角形下拉按钮,然后从“下拉菜单”中单击“本机库位置”,然后单击“编辑”,如图所示。

6。然后单击“外部文件夹”,然后导航到LeapSDK文件夹》 lib》,然后根据您的操作系统选择 x64 或 x86 文件夹,然后单击“确定”,然后单击“完成”。

我们现在在我们的项目中安装了LeapMotion,现在开始进行一些编码!

第3步:跳跃运动监听器

Now that we are done importing the libraries , let us start working on the project.

初始设置:

1。首先,我们需要在源文件夹中创建一个新类,单击项目文件夹旁边的三角形下拉箭头。

2。在您的项目文件夹中,右键单击src文件夹,转到new》,然后单击class创建一个新的Java类。

3。给班级起个名字,然后单击完成。

现在,让我们从代码开始:

1。首先,我们创建一个Leap Motion侦听器:(注意:导入必要的库),侦听的侦听器是何时将Jump Motion控制器连接到计算机的。

package starkmouse;

import java.io.IOException;

import java.awt.AWTException;

import java.awt.GraphicsDevice;

import java.awt.GraphicsEnvironment;

import java.awt.MouseInfo;

import java.awt.Point;

import java.awt.Robot;

import java.awt.event.InputEvent;

import java.awt.event.KeyEvent;

import com.leapmotion.leap.*;

import com.leapmotion.leap.Controller.PolicyFlag;

public class leapmoues {

public static void main(String[] args) throws AWTException {

Controller controller = new Controller();

controller.setPolicyFlags(PolicyFlag.POLICY_BACKGROUND_FRAMES);

SampleListener listener = new SampleListener();

controller.addListener(listener);

// controller.enableGesture(Gesture.Type.TYPE_SCREEN_TAP);

// controller.enableGesture(Gesture.Type.TYPE_SWIPE);

controller.enableGesture(Gesture.Type.TYPE_CIRCLE);

System.out.println(“Press Enter to quit.。.”);

try {

System.in.read();

} catch (IOException e) {

e.printStackTrace();

}

controller.removeListener(listener);

}

}

class SampleListener extends Listener {

boolean readyForControl = false;

int screenWidth;

int screenHeight;

boolean iBoxGet = false;

InteractionBox iBox = null;

Robot robot;

boolean isMoving = false;

boolean unGrip = false;

boolean wasFacingDown = true;

boolean wasInTabState = false;

boolean wasTabbing = false;

boolean justCircleGestured = false;

boolean isResizing = false;

public void onConnect(Controller controller) {

System.out.println(“Connected”);

GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment()

.getDefaultScreenDevice();

screenWidth = gd.getDisplayMode().getWidth();

screenHeight = gd.getDisplayMode().getHeight();

System.out.println(“Screen Resolution: X: ” + screenWidth + “, H: ”

+ screenHeight);

readyForControl = true;

try {

robot = new Robot();

robot.setAutoDelay(5);

} catch (AWTException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

步骤4:帧和手势数据

跳跃运动帧数据,其中包括手势(圆形,捏,掌面朝下和所有其他手势)

跳跃运动有两个红外摄像机和三个红外LED。跳跃运动使用三个IR Led形成IR点图案,从而形成3D数据收集,IR相机拍摄称为帧的图片。帧从跳跃运动设备发送到计算机,我们可以对其进行编程。

跳跃运动使用复杂的数学分析图片和点定位,然后比较红外拍摄的两张图片的数据相机并使用两个2D表示形式获得3D表示形式。

跳跃运动设备以300 fps的速度捕获。然后,我们对发送到计算机的每个帧进行处理。

代码:

public void onFrame(Controller controller) {

Frame frame = controller.frame(); // The latest frame

// Frame previous = controller.frame(1); //The previous frame

// System.out.println(“Frame available”);

if (!iBoxGet) {

iBox = frame.interactionBox();

iBoxGet = true;

System.out.println(“Interaction box set!”);

}

// Pointable furthestFront = frame.pointables().frontmost();

Hand rightHand = frame.hands().rightmost();

Vector palmV = rightHand.palmVelocity();

// System.out.println(“Velocity: X: ” + palmV.getX() + “, Y: ” +

// palmV.getY()

// + “, Z: ” + palmV.getZ());

Vector palmN = rightHand.palmNormal();

// System.out.println(“Normal: X: ” + palmN.getX() + “, Y: ”

// + palmN.getY() + “, Z: ” + palmN.getZ());

Point mouseLoc = MouseInfo.getPointerInfo().getLocation();

int currentMouseX = mouseLoc.x;

int currentMouseY = mouseLoc.y;

if (readyForControl && rightHand.confidence() 》 .15) {

if (!isMoving && !wasInTabState && frame.hands().count() 》 1) {

Hand leftHand = frame.hands().leftmost();

if (leftHand.pinchStrength() 》 .8

&& rightHand.pinchStrength() 》 .8) {

if (!isResizing) {

System.out.println(“Resizing.。.”);

robot.keyPress(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_S);

robot.keyRelease(KeyEvent.VK_S);

robot.keyPress(KeyEvent.VK_DOWN);

robot.keyPress(KeyEvent.VK_RIGHT);

robot.keyRelease(KeyEvent.VK_DOWN);

robot.keyRelease(KeyEvent.VK_RIGHT);

isResizing = true;

}

}else{

if(isResizing){

System.out.println(“Resizing complete!”);

robot.mousePress(InputEvent.BUTTON1_MASK);

robot.mouseRelease(InputEvent.BUTTON1_MASK);

isResizing = false;

}

}

}

// System.out.println(“Confidence: ” + rightHand.confidence());

if (rightHand.grabStrength() 》 .99 && !wasInTabState && !isResizing) {

if (!isMoving && palmN.getY() 《 .8) {

robot.keyPress(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_R);

robot.keyRelease(KeyEvent.VK_R);

robot.keyPress(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_M);

robot.keyRelease(KeyEvent.VK_M);

robot.keyPress(KeyEvent.VK_DOWN);

robot.keyRelease(KeyEvent.VK_DOWN);

isMoving = true;

}

// System.out.println(rightHand.grabStrength());

}

else {

// System.out.println(“Not grabbing”);

if (isMoving) {

robot.mousePress(InputEvent.BUTTON1_MASK);

robot.mouseRelease(InputEvent.BUTTON1_MASK);

isMoving = false;

if (palmN.getX() != 0 && palmN.getY() != 0 && palmN.getZ() != 0) {

if (palmN.getY() 《 -.1 && palmN.getZ() 》 -.8) {

if (currentMouseY 《= 8) {

robot.keyPress(KeyEvent.VK_WINDOWS);

robot.keyPress(KeyEvent.VK_UP);

robot.keyRelease(KeyEvent.VK_WINDOWS);

robot.keyRelease(KeyEvent.VK_UP);

}

else {

if (screenWidth - currentMouseX 《= 12) {

robot.keyPress(KeyEvent.VK_WINDOWS);

robot.keyPress(KeyEvent.VK_RIGHT);

robot.keyRelease(KeyEvent.VK_WINDOWS);

robot.keyRelease(KeyEvent.VK_RIGHT);

} else if (currentMouseX 《= 12) {

robot.keyPress(KeyEvent.VK_WINDOWS);

robot.keyPress(KeyEvent.VK_LEFT);

robot.keyRelease(KeyEvent.VK_WINDOWS);

robot.keyRelease(KeyEvent.VK_LEFT);

}

}

} else {

System.out.println(“Normal: X: ” + palmN.getX()

+ “, Y: ” + palmN.getY() + “, Z: ”

+ palmN.getZ());

robot.keyPress(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_N);

robot.keyRelease(KeyEvent.VK_N);

}

}

}

}

if (!isMoving && !isResizing) {

if (palmN.getY() 《 -.8 && palmN.getZ() 》 -.5) {

wasFacingDown = true;

wasTabbing = false;

if (wasInTabState) {

robot.keyPress(KeyEvent.VK_ENTER);

robot.keyRelease(KeyEvent.VK_ENTER);

wasInTabState = false;

}

} else if (palmN.getY() 》= .8 && wasFacingDown

&& !wasInTabState) {

System.out.println(“Alt tabbing”);

wasFacingDown = false;

wasInTabState = true;

wasTabbing = false;

robot.keyPress(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_CONTROL);

robot.keyPress(KeyEvent.VK_TAB);

robot.delay(100);

robot.keyRelease(KeyEvent.VK_TAB);

robot.keyRelease(KeyEvent.VK_CONTROL);

robot.keyRelease(KeyEvent.VK_ALT);

try {

Runtime.getRuntime().exec(

“cmd /c start ” + “C:WindowSwitcher.lnk”);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

robot.delay(300);

} else if (wasInTabState && !wasFacingDown && !wasTabbing

&& palmN.getY() 《 .45) {

wasTabbing = true;

} else if (wasInTabState && !wasFacingDown && wasTabbing

&& palmN.getY() 》 .75) {

robot.keyPress(KeyEvent.VK_TAB);

robot.keyRelease(KeyEvent.VK_TAB);

wasTabbing = false;

}

}

/*

* if (!isMoving && !wasInTabState) { /* if(palmN.getZ() 《= -.7 &&

* rightHand.grabStrength() 《 .1){

* System.out.println(“Palm vertical velocity: ” +

* rightHand.palmVelocity().getY()); //float resultVerticalV =

* Math.round(Math.abs(rightHand.palmVelocity().getY()) - 1);

* //if(resultVerticalV 》 0){ robot.mouseWheel((int)

* Math.round(((rightHand.palmVelocity().getY()) / 500))); //}

* }else{

*/

if (!isMoving && !wasInTabState && frame.gestures().count() 》 0

&& frame.hands().count() == 1 && !isResizing) {

CircleGesture circleGesture = new CircleGesture(frame

.gestures().get(0));

// System.out.println(“Pinch strength: ” +

// rightHand.pinchStrength());

if (circleGesture.durationSeconds() 》 .5 && !justCircleGestured

&& rightHand.pinchStrength() 》 .8) {

System.out.println(“Closed a window!”);

robot.keyPress(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_F4);

robot.keyRelease(KeyEvent.VK_F4);

robot.keyRelease(KeyEvent.VK_ALT);

justCircleGestured = true;

}

} else {

justCircleGestured = false;

}

float xSpeed = (palmV.getX() / 6);

float ySpeed = (palmV.getY() / 6);

// System.out.println(“xSpeed: ” + xSpeed + “, ySpeed: ” + ySpeed);

robot.mouseMove((int) (currentMouseX + xSpeed),

(int) (currentMouseY - ySpeed));

// }

}

}

}

步骤5:完成代码!

package starkmouse;

import java.io.IOException;

import java.awt.AWTException;

import java.awt.GraphicsDevice;

import java.awt.GraphicsEnvironment;

import java.awt.MouseInfo;

import java.awt.Point;

import java.awt.Robot;

import java.awt.event.InputEvent;

import java.awt.event.KeyEvent;

import com.leapmotion.leap.*;

import com.leapmotion.leap.Controller.PolicyFlag;

public class leapmoues {

public static void main(String[] args) throws AWTException {

Controller controller = new Controller();

controller.setPolicyFlags(PolicyFlag.POLICY_BACKGROUND_FRAMES);

SampleListener listener = new SampleListener();

controller.addListener(listener);

// controller.enableGesture(Gesture.Type.TYPE_SCREEN_TAP);

// controller.enableGesture(Gesture.Type.TYPE_SWIPE);

controller.enableGesture(Gesture.Type.TYPE_CIRCLE);

System.out.println(“Press Enter to quit.。.”);

try {

System.in.read();

} catch (IOException e) {

e.printStackTrace();

}

controller.removeListener(listener);

}

}

class SampleListener extends Listener {

boolean readyForControl = false;

int screenWidth;

int screenHeight;

boolean iBoxGet = false;

InteractionBox iBox = null;

Robot robot;

boolean isMoving = false;

boolean unGrip = false;

boolean wasFacingDown = true;

boolean wasInTabState = false;

boolean wasTabbing = false;

boolean justCircleGestured = false;

boolean isResizing = false;

public void onConnect(Controller controller) {

System.out.println(“Connected”);

GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment()

.getDefaultScreenDevice();

screenWidth = gd.getDisplayMode().getWidth();

screenHeight = gd.getDisplayMode().getHeight();

System.out.println(“Screen Resolution: X: ” + screenWidth + “, H: ”

+ screenHeight);

readyForControl = true;

try {

robot = new Robot();

robot.setAutoDelay(5);

} catch (AWTException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void onFrame(Controller controller) {

Frame frame = controller.frame(); // The latest frame

// Frame previous = controller.frame(1); //The previous frame

// System.out.println(“Frame available”);

if (!iBoxGet) {

iBox = frame.interactionBox();

iBoxGet = true;

System.out.println(“Interaction box set!”);

}

// Pointable furthestFront = frame.pointables().frontmost();

Hand rightHand = frame.hands().rightmost();

Vector palmV = rightHand.palmVelocity();

// System.out.println(“Velocity: X: ” + palmV.getX() + “, Y: ” +

// palmV.getY()

// + “, Z: ” + palmV.getZ());

Vector palmN = rightHand.palmNormal();

// System.out.println(“Normal: X: ” + palmN.getX() + “, Y: ”

// + palmN.getY() + “, Z: ” + palmN.getZ());

Point mouseLoc = MouseInfo.getPointerInfo().getLocation();

int currentMouseX = mouseLoc.x;

int currentMouseY = mouseLoc.y;

if (readyForControl && rightHand.confidence() 》 .15) {

if (!isMoving && !wasInTabState && frame.hands().count() 》 1) {

Hand leftHand = frame.hands().leftmost();

if (leftHand.pinchStrength() 》 .8

&& rightHand.pinchStrength() 》 .8) {

if (!isResizing) {

System.out.println(“Resizing.。.”);

robot.keyPress(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_S);

robot.keyRelease(KeyEvent.VK_S);

robot.keyPress(KeyEvent.VK_DOWN);

robot.keyPress(KeyEvent.VK_RIGHT);

robot.keyRelease(KeyEvent.VK_DOWN);

robot.keyRelease(KeyEvent.VK_RIGHT);

isResizing = true;

}

}else{

if(isResizing){

System.out.println(“Resizing complete!”);

robot.mousePress(InputEvent.BUTTON1_MASK);

robot.mouseRelease(InputEvent.BUTTON1_MASK);

isResizing = false;

}

}

}

// System.out.println(“Confidence: ” + rightHand.confidence());

if (rightHand.grabStrength() 》 .99 && !wasInTabState && !isResizing) {

if (!isMoving && palmN.getY() 《 .8) {

robot.keyPress(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_R);

robot.keyRelease(KeyEvent.VK_R);

robot.keyPress(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_M);

robot.keyRelease(KeyEvent.VK_M);

robot.keyPress(KeyEvent.VK_DOWN);

robot.keyRelease(KeyEvent.VK_DOWN);

isMoving = true;

}

// System.out.println(rightHand.grabStrength());

} else {

// System.out.println(“Not grabbing”);

if (isMoving) {

robot.mousePress(InputEvent.BUTTON1_MASK);

robot.mouseRelease(InputEvent.BUTTON1_MASK);

isMoving = false;

if (palmN.getX() != 0 && palmN.getY() != 0

&& palmN.getZ() != 0) {

if (palmN.getY() 《 -.1 && palmN.getZ() 》 -.8) {

if (currentMouseY 《= 8) {

robot.keyPress(KeyEvent.VK_WINDOWS);

robot.keyPress(KeyEvent.VK_UP);

robot.keyRelease(KeyEvent.VK_WINDOWS);

robot.keyRelease(KeyEvent.VK_UP);

} else {

if (screenWidth - currentMouseX 《= 12) {

robot.keyPress(KeyEvent.VK_WINDOWS);

robot.keyPress(KeyEvent.VK_RIGHT);

robot.keyRelease(KeyEvent.VK_WINDOWS);

robot.keyRelease(KeyEvent.VK_RIGHT);

} else if (currentMouseX 《= 12) {

robot.keyPress(KeyEvent.VK_WINDOWS);

robot.keyPress(KeyEvent.VK_LEFT);

robot.keyRelease(KeyEvent.VK_WINDOWS);

robot.keyRelease(KeyEvent.VK_LEFT);

}

}

} else {

System.out.println(“Normal: X: ” + palmN.getX()

+ “, Y: ” + palmN.getY() + “, Z: ”

+ palmN.getZ());

robot.keyPress(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_SPACE);

robot.keyRelease(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_N);

robot.keyRelease(KeyEvent.VK_N);

}

}

}

}

if (!isMoving && !isResizing) {

if (palmN.getY() 《 -.8 && palmN.getZ() 》 -.5) {

wasFacingDown = true;

wasTabbing = false;

if (wasInTabState) {

robot.keyPress(KeyEvent.VK_ENTER);

robot.keyRelease(KeyEvent.VK_ENTER);

wasInTabState = false;

}

} else if (palmN.getY() 》= .8 && wasFacingDown

&& !wasInTabState) {

System.out.println(“Alt tabbing”);

wasFacingDown = false;

wasInTabState = true;

wasTabbing = false;

robot.keyPress(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_CONTROL);

robot.keyPress(KeyEvent.VK_TAB);

robot.delay(100);

robot.keyRelease(KeyEvent.VK_TAB);

robot.keyRelease(KeyEvent.VK_CONTROL);

robot.keyRelease(KeyEvent.VK_ALT);

try {

Runtime.getRuntime().exec(

“cmd /c start ” + “C:WindowSwitcher.lnk”);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

robot.delay(300);

} else if (wasInTabState && !wasFacingDown && !wasTabbing

&& palmN.getY() 《 .45) {

wasTabbing = true;

} else if (wasInTabState && !wasFacingDown && wasTabbing

&& palmN.getY() 》 .75) {

robot.keyPress(KeyEvent.VK_TAB);

robot.keyRelease(KeyEvent.VK_TAB);

wasTabbing = false;

}

}

/*

* if (!isMoving && !wasInTabState) { /* if(palmN.getZ() 《= -.7 &&

* rightHand.grabStrength() 《 .1){

* System.out.println(“Palm vertical velocity: ” +

* rightHand.palmVelocity().getY()); //float resultVerticalV =

* Math.round(Math.abs(rightHand.palmVelocity().getY()) - 1);

* //if(resultVerticalV 》 0){ robot.mouseWheel((int)

* Math.round(((rightHand.palmVelocity().getY()) / 500))); //}

* }else{

*/

if (!isMoving && !wasInTabState && frame.gestures().count() 》 0

&& frame.hands().count() == 1 && !isResizing) {

CircleGesture circleGesture = new CircleGesture(frame

.gestures().get(0));

// System.out.println(“Pinch strength: ” +

// rightHand.pinchStrength());

if (circleGesture.durationSeconds() 》 .5 && !justCircleGestured

&& rightHand.pinchStrength() 》 .8) {

System.out.println(“Closed a window!”);

robot.keyPress(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_F4);

robot.keyRelease(KeyEvent.VK_F4);

robot.keyRelease(KeyEvent.VK_ALT);

justCircleGestured = true;

}

} else {

justCircleGestured = false;

}

float xSpeed = (palmV.getX() / 6);

float ySpeed = (palmV.getY() / 6);

// System.out.println(“xSpeed: ” + xSpeed + “, ySpeed: ” + ySpeed);

robot.mouseMove((int) (currentMouseX + xSpeed),

(int) (currentMouseY - ySpeed));

// }

}

}

}

步骤6:运行程序和结果:

现在我们已经完成了对Leap Motion控制器的编程,我们可以在Eclipse中运行该程序了。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16207

    浏览量

    177442
  • JAVA
    +关注

    关注

    19

    文章

    2959

    浏览量

    104555
收藏 人收藏

    评论

    相关推荐

    计算机控制系统实践报告

    计算机控制技术实践报告
    发表于 10-17 13:45 0次下载

    微处理器如何控制计算机系统

    微处理器,作为计算机系统的核心部件,承担着控制整个计算机系统运行的重要任务。它不仅是计算机的运算中心,还是控制中心,负责执行程序指令、处理数
    的头像 发表于 08-22 14:21 445次阅读

    简述计算机的I/O控制方式

    计算机的I/O(输入/输出)控制方式是计算机系统中至关重要的部分,它决定了CPU与外设之间数据交换的方式和效率。随着计算机技术的不断发展,I/O控制
    的头像 发表于 08-20 10:55 687次阅读

    计算机控制器的结构和功能

    随着信息技术的迅猛发展,计算机已经深入我们生活的方方面面。而计算机控制器,作为计算机系统的核心部件之一,承担着协调各部件工作、指挥整个计算机按程序运行的重要任务。本文将详细介绍
    的头像 发表于 06-17 15:47 1460次阅读

    工业控制计算机的体系结构是什么

    工业控制计算机是一种专门为工业自动化控制领域设计的计算机系统,具有高性能、高可靠性、实时性、可扩展性等特点。本文将详细介绍工业控制
    的头像 发表于 06-16 11:38 919次阅读

    工业控制计算机的硬件组成有哪些

    工业控制计算机(Industrial Personal Computer,IPC)是一种专门为工业环境设计的计算机系统,具有高可靠性、高稳定性、高实时性等特点。在工业自动化、智能制造等领域中,工业
    的头像 发表于 06-16 11:33 1488次阅读

    工业控制计算机的特点 工业控制计算机的应用领域

    工业控制计算机是一种专门为工业自动化和控制系统设计的计算机。它具有高度的可靠性、稳定性和实时性,能够满足工业生产过程中对控制精度和响应速度的
    的头像 发表于 06-16 11:30 1387次阅读

    工业控制计算机的特点和要求

    工业控制计算机是一种专门设计用于工业环境的计算机系统,它们在自动化、监控和控制工业生产过程中发挥着关键作用。由于工业环境的特殊性,工业控制
    的头像 发表于 06-11 10:48 1084次阅读

    工业控制计算机与普通个人计算机相比有何区别?

    引言 随着科技的不断发展,计算机在各个领域的应用越来越广泛。在众多计算机类型中,工业控制计算机和普通个人计算机是两种常见的
    的头像 发表于 06-11 10:45 878次阅读

    工业计算机与普通计算机的区别

    在信息化和自动化日益发展的今天,计算机已经成为了我们日常生活和工作中不可或缺的工具。然而,在计算机领域中,工业计算机和普通计算机虽然都具备基本的计算
    的头像 发表于 06-06 16:45 1224次阅读

    什么是工业控制计算机?它有哪些特点?

    在工业自动化与智能化不断发展的今天,工业控制计算机(Industrial Personal Computer,简称IPC)作为工业自动化系统的核心部件,发挥着至关重要的作用。本文将对工业控制
    的头像 发表于 06-06 16:34 1291次阅读

    工业计算机是什么?如何在不同行业中使用?

    工业电脑是专为在工业环境中使用而设计的计算机。它们可用于各个行业,包括制造、运 输和能源。它们通常比普通计算机更强大,并且能够在大多数计算机无法运行的环境中运行。在本文中,我们将更深入地了解什么是工业
    的头像 发表于 04-01 15:45 752次阅读
    工业<b class='flag-5'>计算机</b>是什么?如<b class='flag-5'>何在</b>不同行业中使用?

    【量子计算机重构未来 | 阅读体验】+ 初识量子计算机

    欣喜收到《量子计算机——重构未来》一书,感谢电子发烧友论坛提供了一个让我了解量子计算机的机会! 自己对电子计算机有点了解,但对量子计算机真是一无所知,只是听说过量子纠缠、超快的运算速
    发表于 03-05 17:37

    微机原理和计算机组成原理的区别

    来看微机原理和计算机组成原理的区别。微机原理是指微型计算机的工作原理,主要包括计算机的基本组成和运行原理,如中央处理器(CPU)、存储器、输入输出设备等,以及它们之间的连接方式和控制
    的头像 发表于 01-14 14:56 3197次阅读

    工业计算机与商用计算机的区别

    与商用计算机的区别。 一、功能和设计 工业计算机通常用于工业控制和自动化系统中,其主要功能是提供数据采集、实时控制和监测等功能。它们通常需要具备高可靠性、稳定性和冗余性,以适应恶劣的工
    的头像 发表于 12-27 10:50 596次阅读