2019-04-10你喝过鸡尾酒么?是自己调制的么?我没有喝过,但是做了一个鸡尾酒主题Arduino交互伞?喜欢么?想自己试一试不?
2019-04-10 13:02
148 查看
你喝过鸡尾酒么?是自己调制的么?我没有喝过,但是做了一个鸡尾酒主题交互伞?喜欢么?想自己试一试不?可以私信我要源代码哦。对了,在此声明,此分享不是商业作品,非成套售卖品,感兴趣的可以私信我分享更多细节和资料,我的email是arduino.xyz@foxmail.com,然后自己动手做一个。
#include <SPI.h> #include <SD.h> #include "LcDef.h" #include <Wire.h> #include <Adafruit_PWMServoDriver.h> #include <LiquidCrystal.h> LiquidCrystal lcd(4, 6, 9, 11, 12, 13); File myFile; Adafruit_PWMServoDriver pwm1 = Adafruit_PWMServoDriver(0x40); Adafruit_PWMServoDriver pwm2 = Adafruit_PWMServoDriver(0x41); Adafruit_PWMServoDriver pwm3 = Adafruit_PWMServoDriver(0x42); Adafruit_PWMServoDriver pwm4 = Adafruit_PWMServoDriver(0x43); Adafruit_PWMServoDriver pwm5 = Adafruit_PWMServoDriver(0x44); Adafruit_PWMServoDriver pwm6 = Adafruit_PWMServoDriver(0x45); Adafruit_PWMServoDriver pwm7 = Adafruit_PWMServoDriver(0x46); Adafruit_PWMServoDriver pwm8 = Adafruit_PWMServoDriver(0x47); Adafruit_PWMServoDriver pwm9 = Adafruit_PWMServoDriver(0x48); Adafruit_PWMServoDriver pwm10 = Adafruit_PWMServoDriver(0x49); Adafruit_PWMServoDriver servoligne[10] {pwm10,pwm9,pwm8,pwm7,pwm6,pwm5,pwm4,pwm3,pwm2,pwm1}; int degremin=40; int degremax=120; int valeurmax=map(degremax,0,180,150,550); int valeurmin=map(degremin,0,180,150,550); int tabvaleurmin[10][16]; int tabvaleurmax[10][16]; int angleconsigne=degremin; #define bouton1on (!digitalRead(24)) #define bouton2on (!digitalRead(26)) #define bouton3on (!digitalRead(28)) #define bouton4on (!digitalRead(30)) byte bouton1onprevious=0; byte bouton2onprevious=0; byte bouton3onprevious=0; byte bouton4onprevious=0; int valeurbouton1=0; int valeurbouton2=0; int valeurbouton3=0; int valeurbouton4=0; byte ausuivant=0; int prochainecol=0; int angle[10 ] [ 16]; void setup() { pinMode(24,INPUT_PULLUP); pinMode(26,INPUT_PULLUP); pinMode(28,INPUT_PULLUP); pinMode(30,INPUT_PULLUP); for (int x=0;x<=9;x++) { servoligne[x].begin(); servoligne[x].setPWMFreq(60); } lcd.begin(16, 2); Serial.begin(9600); delay(1000); randomSeed(analogRead(0)); for(int y=0;y<=9; y++) { for( int x=0;x<=15;x++) { tabvaleurmin[y][x]=150; tabvaleurmax[y][x]=550; } } Serial.print("Initializing SD card...");// lcdaffiche("Initializing SD card...",""); if (!SD.begin(53)) {// * Serial.println("initialization failed!");// lcdaffiche("carte SD pas OK",""); delay(4000); //return;// * }// else{//* Serial.println("initialization done.");// lcdaffiche("carte SD OK",""); delay(4000); lecturecartesd("tabmin.txt",tabvaleurmin); lecturecartesd("tabmax.txt",tabvaleurmax); } } void loop() { reglage(); menu(); balle(); eclosion(); propagation(); mouvementsynchrone(); mouvementsinusoidal(); mouvementsinusimage(); lettre("HELLO[[["); if(quelboutonpese()==4){menu();} }
相关文章推荐
- 一个程序员的告白-失败源于没有经验,源于没有指引自己前进的方向,但是成功却是源于99次失败之后偶然的灵光一闪
- 小明同学喜欢体育锻炼,他常常去操场上跑步。跑道是一个圆形,在本题中,我们认为跑道是一个半径为R的圆形,设圆心的坐标原点(0,0)。小明跑步的起点坐标为(R,0),他沿着圆形跑道跑步,而且一直沿着一个方向跑步。回到家后,他查看了自己的计步器,计步器显示他跑步的总路程为L。小明想知道自己结束跑步时的坐标,但是他忘记自己是沿着顺时针方向还是逆时针方向跑的了。他想知道在这两种情况下的答案分别是多少。
- 你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能保证能供应所有颜色的颜料,所以你需要自己混合一些颜料。混合两种不一样的颜色A和颜色B颜料可以产生(A XOR B)这种颜色的颜料(新产生的颜料也可以用作继续混合产生新的颜色,XOR表示异或操作)。本着勤俭节约的
- 一个很简单但是自己就没有注意的问题
- 看别人代码的时候有时候查看个关键字,但是liteide没有整个项目搜索的功能,就自己随便写了一个.
- [导入](转贴)我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢?
- 如果你参与到一个项目中,发现他们使用 Tab 来缩进代码,但是你喜欢空格,你会怎么做?
- 昨天在微信里看到的一篇文章,应该不算是个新闻,但是还是值得仔细读一下。特别是对于那些在一个公司干了很多年却没有发展,或者每年跳槽两三次的同学确实应该反思看一看。原文地址 以下是正文 我曾经带过一个
- QT函数怎么样消除一个变量定义了,但是没有使用的警告
- 喜欢一个不喜欢自己的人是痛苦的!
- 自己写了一个链表功能还不完善但是简单的增删改查功能都已经实现了
- myeclipse导入别人的项目的时候,自己好不容易改成文件都没报错了,可是项目名那一个红色叉叉,下面文件明明没有错
- 【头像变更】自己瞎做一个头像,放真实头像做头像虽然真诚,但是心里实在不想!
- 我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢?
- 一个App与另一个App之间的交互,添加了自己的一些理解
- 做事的人总是要挨骂的,挨骂是一件好事。如果一个人不挨骂,肯定因为他没有做事。一个职业经理人,是否因为挨了几次骂就破罐破摔,随波逐流?一个职业经理人,你的责任是把自己的工作做好,作为市场总监,我的责任是告诉公司,明年我的品牌规划、产品规划、宣传形式是什么,这是责任。
- 如果你参与到一个项目中,发现他们使用 Tab 来缩进代码,但是你喜欢空格,你会怎么做?
- 自己写的一个TSP算法,算法思想没有参考任何人(当然可能一样的)
- 一个“错误”的vuex写法:vuex刷新了数据但是视图没有刷新
- 弄到现在才知道网页没有combobox,弄网上的服务器控件不方便,自己用textbox+dropdownlist用CSS组合起一个简单的combobox效果。