AI 能否取代人工?
茶余饭后

AI 能否取代人工?

傻木
2023-02-23 / 0 评论 / 560 阅读 / 正在检测是否收录...

近期人工智能老火了,传说中 ChatGPT 没有不会的。

调查显示:OpenAI ChatGPT 将导致 26% 的欧洲软件和科技公司计划裁员。

这几天也测试了下,之前买了 Arduino 开发板和舵机,还在学习中,趁此机会问了 AI,以下是问的问题和 AI 回复的代码:


测试过程记录

问:使用 Arduino 写一段 9g 舵机控制代码,要求往复 90 度运行,使用一个开关控制暂停和开始,并给出接线图

答:

// 接线图 // 9g舵机:P0 // 开关:P1 // 代码 
void setup() { pinMode(P0, OUTPUT); pinMode(P1, INPUT); } 
void loop() {
if(digitalRead(P1) == HIGH) 
{ servoWrite(P0, 90); 
delay(1000); 
servoWrite(P0, -90); 
delay(1000); } }

问:舵机需要缓慢运转

答:

// 9g舵机:P0 // 开关:P1 // 代码 
void setup() { pinMode(P0, OUTPUT); pinMode(P1, INPUT); } 
void loop() { 
if(digitalRead(P1) == HIGH) 
{ for(int i=0; i<=90; i++) 
{ servoWrite(P0, i); delay(10); } 
for(int i=90; i>=-90; i--) 
{ servoWrite(P0, i); delay(10); 
} } }

问:写一段 Arduino 9g 舵机控制代码,要求往复 90 度舵缓慢运行,使用一个开关控制暂停和开始,并给出接线图

答:

//定义舵机引脚 
#define servoPin 9 
//定义开关引脚 
#define switchPin 8 
//定义舵机角度 
int servoAngle = 0; 
//定义开关状态 
int switchState = 0; 

void setup() { 
  //设置舵机引脚为输出 
  pinMode(servoPin, OUTPUT); 
  //设置开关引脚为输入 
  pinMode(switchPin, INPUT); 
} 

void loop() { 
  //读取开关状态 
  switchState = digitalRead(switchPin); 
  //如果开关状态为HIGH,则舵机开始运行 
  if (switchState == HIGH) { 
    //舵机角度从0度到90度 
    for (servoAngle = 0; servoAngle <= 90; servoAngle++) { 
      //设置舵机角度 
      servoWrite(servoPin, servoAngle); 
      //延时2毫秒 
      delay(2); 
    } 
    //舵机角度从90度到0度 
    for (servoAngle = 90; servoAngle >= 0; servoAngle--) { 
      //设置舵机角度 
      servoWrite(servoPin, servoAngle); 
      //延时2毫秒 
      delay(2); 
    } 
  } 
} 

//接线图 
//Arduino引脚9接舵机信号线 
//Arduino引脚8接开关信号线

问:Arduino 控制两个舵机

答:
可以使用 Arduino 来控制两个舵机,可以使用 Arduino 的 PWM 功能来控制舵机的转动角度。
可以使用 Arduino 的 Servo 库来控制舵机,也可以使用自定义的代码来控制舵机。

问:给出一段代码

答:

#include <Servo.h> 
Servo servo1; 
Servo servo2; 

void setup() {
  servo1.attach(9); 
  servo2.attach(10); 
} 

void loop() { 
  servo1.write(90); 
  servo2.write(180); 
  delay(1000); 
  servo1.write(0); 
  servo2.write(90); 
  delay(1000); 
}

问:要求 90 度往复缓慢运动

答:
可以使用以下代码来实现 90 度往复缓慢运动:

#include <Servo.h> 
Servo servo1; 
Servo servo2; 

void setup() { 
  servo1.attach(9); 
  servo2.attach(10); 
} 

void loop() { 
  for(int i=0;i<=90;i++){ 
    servo1.write(i); 
    servo2.write(180-i); 
    delay(20); 
  } 
  for(int i=90;i>=0;i--){ 
    servo1.write(i); 
    servo2.write(180-i); 
    delay(20); 
  } 
}

问:加一个开关控制暂停和开始

答:
可以使用一个开关来控制舵机的暂停和开始,可以使用 Arduino 的 digitalRead 函数来读取开关的状态,如果开关处于打开状态,则可以继续运行舵机,如果开关处于关闭状态,则可以暂停舵机的运行。
示例代码如下:

#include <Servo.h> 
Servo servo1; 
Servo servo2; 
int switchPin = 8; 

void setup() { 
  servo1.attach(9); 
  servo2.attach(10); 
  pinMode(switchPin, INPUT); 
} 

void loop() { 
  int switchState = digitalRead(switchPin); 
  if(switchState == HIGH){ 
    for(int i=0;i<=90;i++){ 
      servo1.write(i); 
      servo2.write(180-i); 
      delay(20); 
    } 
    for(int i=90;i>=0;i--){ 
      servo1.write(i); 
      servo2.write(180-i); 
      delay(20); 
    } 
  } 
}

总结与思考

整体来看,代码可用率非常高,仅需要做少许修改就可以使用。原因是因为 ChatGPT 自身就是代码构成,他当然更加懂代码。

因此,如果你问的是代码怎样写,ChatGPT 的输出可用率取决于你问问题的完整度。如果你不会问问题,那他的答复就是牛头不对马嘴,又或者是虎头蛇尾。

回到标题,AI 会不会取代人工?

我觉得这个是迟早的事,虽然现阶段他还有很多不懂的,只要给他喂足够的知识,迟早他会懂的。另外,目前他还不会给你接线,这个是什么难事吗?结合谷歌家的“阿特拉斯”,还有什么事做不好的?

也许不远的未来,人们会感叹:“成也 AI,败也 AI”。
偷懒催发了各种发明,各种发明导致越来越懒;
越来越懒发明了 AI,最终 AI 会不会取代人类?

看来机器人三大法则很快又要火起来了:

  • Law Ⅰ: A ROBOT MAY NOT INJURE A HUMAN BEING OR, THROUGH INACTION, ALLOW A HUMAN BEING TO COME TO HARM.
    第一定律: 机器人不得伤害人类个体,或者目睹人类个体将遭受危险而袖手不管。
  • Law Ⅱ: A ROBOT MUST OBEY ORDERS GIVEN IT BY HUMAN BEINGS EXCEPT WHERE SUCH ORDERS WOULD CONFLICT WITH THE FIRST LAW.
    第二定律: 机器人必须服从人给予它的命令,当该命令与第一定律冲突时例外。
  • Law Ⅲ: A ROBOT MUST PROTECT ITS OWN EXISTENCE AS LONG AS SUCH PROTECTION DOES NOT CONFLICT WITH THE FIRST OR SECOND LAW.
    第三定律: 机器人在不违反第一、第二定律的情况下要尽可能保护自己的生存。

实际运行状态

播放器载入中...

1

评论 (0)

取消