羞花是什么意思?一分钟带你了解古代四大美女之一!

天美资源网

今天跟大家伙儿唠唠我做的“羞花”这个事儿,别想歪,我说的是我最近捣鼓的一个小玩意儿,灵感来自杨贵妃“羞花”的典故。

话说那天,我在花鸟市场溜达,看到一盆含羞草,叶子绿油油的,挺招人喜欢。突然就想,能不能搞点什么,把这“羞花”的意境给整出来。

我先是琢磨,怎么能让它“羞”得更有意思。直接碰肯定不行,没啥技术含量。得有点科技感,有点仪式感。

羞花是什么意思?一分钟带你了解古代四大美女之一!

第一步,选材料!

  • 含羞草一盆,这个是主角。
  • Arduino Uno 开发板一块,我的老伙计。
  • 超声波传感器一个,用来感应距离。
  • 舵机一个,控制杆子去碰含羞草。
  • 羞花是什么意思?一分钟带你了解古代四大美女之一!

  • 一些杜邦线,连接各种东西。
  • 一个好看的小盒子,用来装电路。

第二步,开始搭电路!

超声波传感器连到 Arduino 上,主要是 VCC 接 5V,GND 接地,Trig 和 Echo 分别接两个数字 IO 口。舵机也一样,信号线接一个数字 IO 口,电源地线也接这步没啥难度,网上一搜一大堆教程。

第三步,写代码!

羞花是什么意思?一分钟带你了解古代四大美女之一!

这块儿稍微有点费劲,毕竟我不是专业的程序员。我的想法是,当超声波传感器检测到有人靠近时,就触发舵机,让它动一下,碰一下含羞草。

arduino

#include

Servo myservo; // 创建舵机对象

int trigPin = 9; // 超声波发射端

int echoPin = 10; // 超声波接收端

羞花是什么意思?一分钟带你了解古代四大美女之一!

int servoPin = 8; // 舵机信号线

long duration;

int distance;

void setup() {

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

羞花是什么意思?一分钟带你了解古代四大美女之一!

*(servoPin); // 连接舵机到引脚

*(9600);

void loop() {

// 超声波测距

digitalWrite(trigPin, LOW);

羞花是什么意思?一分钟带你了解古代四大美女之一!

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

distance = duration 0.034 / 2;

羞花是什么意思?一分钟带你了解古代四大美女之一!

*("Distance: ");

*(distance);

*(" cm");

// 如果距离小于 20cm,就让舵机动一下

if (distance < 20) {

*(90); // 舵机转到 90 度

羞花是什么意思?一分钟带你了解古代四大美女之一!

delay(500);

*(0); // 舵机回到 0 度

delay(1000);

delay(100);

羞花是什么意思?一分钟带你了解古代四大美女之一!

这段代码就是,先测距离,如果距离小于 20 厘米,舵机就转一下,模拟碰花。

第四步,组装!

把 Arduino、超声波传感器、舵机啥的都塞到那个小盒子里。舵机上连个小杆,杆对着含羞草。这步得有点耐心,线路啥的都得理顺。

第五步,测试!

插上电,把手放到超声波传感器前面,含羞草“害羞”!成!

羞花是什么意思?一分钟带你了解古代四大美女之一!

分享点心得:

这玩意儿挺简单的,关键是要有想法。

代码可以再优化,比如加个光敏传感器,白天“羞”,晚上不“羞”。

那个小盒子一定要选好看的,毕竟是门面。

这回“羞花”实践还是挺有意思的,把科技和文化结合一下,也算是给自己找点乐子。

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。