近期人工智能老火了,传说中ChatGPT没有不会的
调查显示:OpenAI ChatGPT 将导致 26% 的欧洲软件和科技公司计划裁员
这几天也测试了下,之前买了Arduino开发板和舵机
还在学习中,趁此机会,问了AI,以下是问的问题和AI回复的代码
问:使用 Arduino 写一段9g舵机控制代码,要求往复90度运行,使用一个开关控制暂停和开始,并给出接线图
答:
// 接线图 // 90g舵机: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.
第三定律:机器人在不违反第一、第二定律的情况下要尽可能保护自己的生存
以下是实际运行状态
评论 (0)