5554| 5
|
#DFRobot2018 光棱坦克(3D)+ 夜晚防盗系统(电子) |
本帖最后由 shun2345 于 2019-1-22 17:57 编辑 本团队作品包含: 1.光棱坦克(3D):https://www.tinkercad.com/things/jgS3LzUsNt8-dfrobot2018 2.展品防盗系统(电子):https://www.tinkercad.com/things/kSNuEoFDlzu-dfrobot2018 本团队组成与分工: 四人团队,第一次组队,互相了解,互相磨合 20岁的张永骏,电子电路主负责; 30岁的林君秋,发圈组队做后勤; 40岁的薛浩,交流讨论出主意; 50岁的石生俊,创意建模擅作诗。 本团队工作方式: 完成两个作品时均由一位成员主负责,其他成员根据自身特长进行分工,每位队员负责完成不同的部件建模或调试,最终通过复制粘贴加统整调试的方式,将所有部件放在同一个设计里面组成完整的作品。作品均在tinkercad平台上完成,未借助其他软件。 本团队作品特色: 1. 趣味性与创新性:光棱坦克是唤起大家对“红警”美好回忆的模型,展品防盗系统则是为光棱坦克制作完成后准备的防盗设备。二者合一,令人放松地沉浸其中。 2. 完整性与可应用性:从构思、操作流程、作品到总结,均清晰记录,详见下方介绍。且两个作品均能实际能生产出来,解决实际生活问题。 |
作品之一:光棱坦克 2000年,一款RNS(即时战略游戏)火爆了全世界,那就是西木公司(Westwood)发售的红色警戒2,也成为了不少人童年时印象深刻的游戏之一。 作为盟军T3主力的光棱坦克也受到了玩家们的热爱,高效的激光打击也使敌人的部队以及防御建筑灰飞烟灭。 Tinkercad这个3D创作平台也给了我设计光棱坦克的机会,在带有丰富基础图形的同时也可以在全部3D建模库中寻找其他建模大佬的作品进行利用,着实提供了不少的便利; 其次,Tinkercad省略了平面的概念,使不同平面的物体可以通过上下左右移动来达到组合的目的,也使建模坦克方便了不少。 下面分享一下坦克各零部件制作过程: 1.轮毂部分:通过椭圆和梯形角度上的组合创造出履带的样式,再通过Tinkercad自带的模型编辑库中的轮子造型打造出车轮的效果 2.坦克主体部分:同轮毂部分一样,将椭圆与梯形通过角度的变化达到与坦克前钢板的相似弧度,再利用大矩形将椭圆多余部分加以修理。将四个图形叠放在一起形成坦克主体 3.激光炮:由四个较为复杂的部件拼凑而成,也是制作过程中最复杂的环节 4.主炮:由圆锥,圆,矩形切割得来 |
本帖最后由 shun2345 于 2019-1-22 17:53 编辑 作品之二:展品防盗系统 材料: 连接图: 作用: 展品防盗系统。此系统的lcd能够展示作品的名称。 在夜晚,当有人靠近展品时,led灯会亮起,压电会发出警报,伺服电机会将展品翻转,起到报警以及防护的作用。 原理: 超声波传感器测量距离,光敏电阻传感器测量光线强度。通过程序编程,当距离小于30厘米,处于无光的情况下,达到触发条件(led灯会亮起,压电会发出警报,伺服电机转动)。两个条件缺一,不触发。 程序: #include <LiquidCrystal.h> #include <Servo.h> LiquidCrystal lcd(5,6,7,8,9,10); const int ting=2; const int echo=3; int guangmin=1; int Rled=4; float cm; int guangliang; Servo myservo; int i=0; byte a[8]={ B00010, B00100, B01100, B10100, B00100, B00100, B00100, B00100, }; byte b[8]={ B00100, B01000, B10111, B00100, B00111, B00100, B00111, B00100, }; byte c[8]={ B00011, B00010, B00010, B00011, B11110, B10010, B10010, B11110, }; byte d[8]={ B11000, B01000, B01000, B11000, B01111, B01001, B01001, B01111, }; byte e[8]={ B00000, B00000, B00100, B00000, B00000, B00100, B00000, B00000, }; void setup() { Serial.begin(9600); pinMode(12,OUTPUT); pinMode(ting,OUTPUT); pinMode(echo,INPUT); pinMode(guangmin,INPUT); pinMode(Rled,OUTPUT); Serial.println("ultrasonic sensor"); lcd.begin(16, 2); lcd.createChar(1,a); lcd.createChar(2,b); lcd.createChar(3,c); lcd.createChar(4,d); lcd.createChar(5,e); lcd.clear(); myservo.attach(11); } void loop() { guangliang=analogRead(guangmin); //读取光敏 digitalWrite(ting,LOW); //测距 delayMicroseconds(2); digitalWrite(ting,HIGH); delayMicroseconds(10); digitalWrite(ting,LOW); cm=pulseIn(echo,HIGH)/58.00; cm=(int(cm*100))/100; Serial.print(cm); Serial.print("cm"); Serial.println(); Serial.println(guangliang); delay(100); lcd.setCursor(2, 0); //lcd显示 lcd.write(1); lcd.write(2); lcd.write(3); lcd.write(4); lcd.write(5); lcd.setCursor(1, 1); lcd.print("Wonderful Life"); delay(300); if(guangliang<400&&cm<30) {digitalWrite(Rled,HIGH); myservo.write(120); tone(12,523,1000); delay(1000); } else {digitalWrite(Rled,LOW);} myservo.write(0);} |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed