




已阅读5页,还剩94页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
arduino学习笔记21 - 舵机控制实验2012-04-12 11:18 小 大 来源: 未知 转发至: 了,详情请看论坛里舵机详解帖子这里使用arduino duemilanove通过电位器控制一个舵机转动使用原件:arduino duemilanove一块10K电位器一个舵机一个面包板一个面包板连接线若干这里要注意,不要使用电脑usb供电,因为如果电流需求大于500ma,会有烧毁usb的可能,推荐使用电池外置供电。电位器左右两脚分别接3.3V和GND,中间接模拟口0。舵机接5V和GND,信号口接数字7号口。先上硬件连接图把下面代码下载进入arduino,然后再进行线路连接,运行时一定要使用电池供电。 普通浏览复制代码1. int readPin = 0; /用来连接电位器2. int servopin = 7; /定义舵机接口数字接口73.4. void servopulse(int angle)/定义一个脉冲函数5. 6. int pulsewidth=(angle*11)+500; /将角度转化为500-2480的脉宽值7. digitalWrite(servopin,HIGH); /将舵机接口电平至高8. delayMicroseconds(pulsewidth); /延时脉宽值的微秒数9. digitalWrite(servopin,LOW); /将舵机接口电平至低10. delayMicroseconds(20000-pulsewidth);11. 12.13. void setup()14. 15. pinMode(servopin,OUTPUT);/设定舵机接口为输出接口16. 17.18. void loop()19. 20. /读取电位器(传感器)的读数,接到3.3V,值范围从0到660左右21. int readValue = analogRead(readPin);22. /把值的范围映射到0到165左右23. int angle = readValue / 4;24. /发送50个脉冲25. for(int i=0;i50;i+)26. 27. /引用脉冲函数28. servopulse(angle);29. 30. arduino学习笔记22 - 扬声器实验2012-04-12 11:19 小 大 来源: 未知 转发至: 实验材料:arduino duemilanove一块8 0.5W 喇叭一个电位器一个面包板一个面包板连接线若干电位器作用就是调节音量,一般是要求与喇叭阻抗匹配,本次实验没找到小阻值电位器,所以用了一个5K的。注意:因为扬声器驱动电压要求比较小,远远小于5V,所以需要在扬声器上串联一个大于10uf的电解电容,电解电容负极连接喇叭的正极,电容正极连接另外一端。不接电容长时间使用,会烧毁扬声器。串联一个100电阻也可以(因为电位器最小电阻为0)上硬件连接图:本次实验arduino命令中最重要的就是tone()命令。tone()tone(pin, frequency, duration)tone(pin, frequency)*pin代表连接扬声器的引脚,frequency代表发声频率,duration代表持续的时间,单位是毫秒。描述:在一个端口生成一个特定频率的方波,可以指定持续的时间。如果没有指定持续时间,就需要使用noTone()命令终止。端口用来连接到蜂鸣器或者是喇叭播放特定频率声音。在同一时间,只能产生一个音调。如果已经有音调在某个端口播放,那这时再使用tone()命令将没有效果。如果新的tone()命令是作用在同一端口,将用新的音调替代。使用tone()命令会干扰3号与11号的PWM输出(除mega以外的其他板子)。注意:如果想要在不同的端口发出不同的音调,需要在下一个tone()命令前,先使用noTone()命令终止前面音调。把下面的代码编译后上传进入arduino控制板: 普通浏览复制代码1. /*2. Play Super Mario theme song with Arduino and speaker3.4. circuit:5. * 8-ohm speaker on digital pin 86.7. created 4 June 20118. by 9.10. reference:11.12. http:/arduino.cc/en/Tutorial/Tone13.14. */15. #define NOTE_B0 3116. #define NOTE_C1 3317. #define NOTE_CS1 3518. #define NOTE_D1 3719. #define NOTE_DS1 3920. #define NOTE_E1 4121. #define NOTE_F1 4422. #define NOTE_FS1 4623. #define NOTE_G1 4924. #define NOTE_GS1 5225. #define NOTE_A1 5526. #define NOTE_AS1 5827. #define NOTE_B1 6228. #define NOTE_C2 6529. #define NOTE_CS2 6930. #define NOTE_D2 7331. #define NOTE_DS2 7832. #define NOTE_E2 8233. #define NOTE_F2 8734. #define NOTE_FS2 9335. #define NOTE_G2 9836. #define NOTE_GS2 10437. #define NOTE_A2 11038. #define NOTE_AS2 11739. #define NOTE_B2 12340. #define NOTE_C3 13141. #define NOTE_CS3 13942. #define NOTE_D3 14743. #define NOTE_DS3 15644. #define NOTE_E3 16545. #define NOTE_F3 17546. #define NOTE_FS3 18547. #define NOTE_G3 19648. #define NOTE_GS3 20849. #define NOTE_A3 22050. #define NOTE_AS3 23351. #define NOTE_B3 24752. #define NOTE_C4 26253. #define NOTE_CS4 27754. #define NOTE_D4 29455. #define NOTE_DS4 31156. #define NOTE_E4 33057. #define NOTE_F4 34958. #define NOTE_FS4 37059. #define NOTE_G4 39260. #define NOTE_GS4 41561. #define NOTE_A4 44062. #define NOTE_AS4 46663. #define NOTE_B4 49464. #define NOTE_C5 52365. #define NOTE_CS5 55466. #define NOTE_D5 58767. #define NOTE_DS5 62268. #define NOTE_E5 65969. #define NOTE_F5 69870. #define NOTE_FS5 74071. #define NOTE_G5 78472. #define NOTE_GS5 83173. #define NOTE_A5 88074. #define NOTE_AS5 93275. #define NOTE_B5 98876. #define NOTE_C6 104777. #define NOTE_CS6 110978. #define NOTE_D6 117579. #define NOTE_DS6 124580. #define NOTE_E6 131981. #define NOTE_F6 139782. #define NOTE_FS6 148083. #define NOTE_G6 156884. #define NOTE_GS6 166185. #define NOTE_A6 176086. #define NOTE_AS6 186587. #define NOTE_B6 197688. #define NOTE_C7 209389. #define NOTE_CS7 221790. #define NOTE_D7 234991. #define NOTE_DS7 248992. #define NOTE_E7 263793. #define NOTE_F7 279494. #define NOTE_FS7 296095. #define NOTE_G7 313696. #define NOTE_GS7 332297. #define NOTE_A7 352098. #define NOTE_AS7 372999. #define NOTE_B7 3951100. #define NOTE_C8 4186101. #define NOTE_CS8 4435102. #define NOTE_D8 4699103. #define NOTE_DS8 4978104.105. / notes in the melody:106. int melody = 107. NOTE_E4, NOTE_E4, NOTE_E4, NOTE_C4, NOTE_E4, NOTE_G4, NOTE_G3,108. NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3,109. NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3,110. NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_C5, NOTE_C5, NOTE_C5,111. NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_DS4, NOTE_D4, NOTE_C4,112. NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4,113. NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3114. ;115.116. / note durations: 4 = quarter note, 8 = eighth note, etc.:117. int noteDurations = 118. 8,4,4,8,4,2,2,119. 3,3,3,4,4,8,4,8,8,8,4,8,4,3,8,8,3,120. 3,3,3,4,4,8,4,8,8,8,4,8,4,3,8,8,2,121. 8,8,8,4,4,8,8,4,8,8,3,8,8,8,4,4,4,8,2,122. 8,8,8,4,4,8,8,4,8,8,3,3,3,1,123. 8,4,4,8,4,8,4,8,2,8,4,4,8,4,1,124. 8,4,4,8,4,8,4,8,2125. ;126.127. void setup() 128. / iterate over the notes of the melody:129. for (int thisNote = 0; thisNote 98; thisNote+) 130.131. / to calculate the note duration, take one second132. / divided by the note type.133. /e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.134. int noteDuration = 1000/noteDurationsthisNote;135. tone(8, melodythisNote,noteDuration);136.137. / to distinguish the notes, set a minimum time between them.138. / the notes duration + 30% seems to work well:139. int pauseBetweenNotes = noteDuration * 1.30;140. delay(pauseBetweenNotes);141. / stop the tone playing:142. noTone(8);143. 144. 145.146. void loop() 147. / no need to repeat the melody.148. arduino学习笔记23 - 任意输出舵机角度实验2012-04-12 11:20 小 大 来源: 未知 转发至: 上次舵机实验比较简单,这次使用串口输入舵机转动角度发送给arduino,arduino控制舵机转动到制定角度。本次实验的器材非常简单,arduino控制板一个,标准舵机一个,电池盒(外接电源)一个。(一定要使用外接电源,直接使用USB供电,有烧毁USB的危险。)先上硬件连接图然后把下面代码编译,下载进入arduino控制板中。(感谢坏鸟童鞋提供的代码) 普通浏览复制代码1. int i,val;2. char a3;3. boolean display;4. #include 5. Servo servo1;6.7. void setup()8. 9. Serial.begin(9600);10. servo1.attach(4);/舵機一接pin411. 12.13. void loop()14. 15. if (Serial.available() /如果有数据输入.16. delay(30); /等待30毫秒让所有输入数据从串口传输完毕.17. if (Serial.available() = 3) /如果输入数据位数3.24. Serial.flush(); /刷新串口输入缓存25. 26. 27. /*=直接通过串口返回输入数值模块=28. if (display) /如果显示输出开关被打开则显示数组a的数据29. 30. for (i = 0; i = sizeof(a); i+)31. 32. Serial.print(a);33. Serial.print(i);34. Serial.print(= );35. Serial.print(ai);36. Serial.print( | );37. 38. Serial.println();39. display = 0; /显示完毕关闭显示输出开关40. Serial.flush(); /刷新串口输入缓存41. for (i = 0; i = 3; i+) /重置数组a42. 43. ai = 0;44. 45. i = 0; /重置计数变量i46. 47. /=通过加减符号控制舵机增减一度转动=*/48. if (a0 = 43 & display)49. val+;50. servo1.write(val);51. Serial.println(val);52. display = 0; /显示完毕关闭显示输出开关53. Serial.flush(); /刷新串口输入缓存54. for (i = 0; i = 3; i+) /重置数组a55. 56. ai = 0;57. 58. i = 0; /重置计数变量i59. 60. if (a0 = 45 & display)61. val-;62. servo1.write(val);63. Serial.println(val);64. display = 0; /显示完毕关闭显示输出开关65. Serial.flush(); /刷新串口输入缓存66. for (i = 0; i = 3; i+) /重置数组a67. 68. ai = 0;69. 70. i = 0; /重置计数变量i71. 72.73. /=判断及修正输入数据位数模块=74. if (display) /如果显示输出开关被打开则显示数组a的数据75. 76. if (!a2) /如果输入数据为两位数(最后一位空)77. if (!a1) /如果输入数据为一位数(最后两位空)78. a2 = a0;79. a1 = 48;80. a0 = 48;81. 82. else 83. a2 = a1;84. a1 = a0;85. a0 = 48;86. 87. 88. /=转换变量类型后输出给舵机且通过串口返回结果值=89. for (i=0;i=3;i+) /变量类型:char to int (48为0的ASCII)90. ai -= 48;91. 92. val = 100*a0 + 10*a1 + a2;93. / Serial.print(val: );94. servo1.write(val);95. Serial.println(val);96.97. /* int val2 = random(50); /int型变量加法测试98. val += val2;99. Serial.print(+);100. Serial.print(val2);101. Serial.print(=);102. Serial.println(val);103. */104. display = 0; /显示完毕关闭显示输出开关105. Serial.flush(); /刷新串口输入缓存106. for (i = 0; i = 3; i+) /重置数组a107. 108. ai = 0;109. 110. i = 0; /重置计数变量i111. / val = 0;112. 113. 点击下图箭头指示按钮,打开串口监视器。arduino学习笔记24 - PS2无线手柄实验2012-04-12 11:21 小 大 来源: 未知 转发至: 用无线手柄通过arduino控制电机或者舵机之类的,是不是感觉很遥远。光那底层的通信协议就吓跑了。不用怕。有开源社区贡献的arduino PS2X库,一切皆有可能。先说明一下手柄的要求,此PS2X库,尽量是使用PS2原装手柄,或者与之外观一样的。无线手柄可以直接接arduino使用,有线手柄因为arduino的3.3V供电不足,需要单独供电。市面上也有不少PS2手柄,但是长得和PS2原装手柄有区别,这种手柄可以在PS2主机上使用,不一定可以配合此库使用,笔者就遇到这个问题。买回来的罗技手柄虽然手感一流,但是部分按键反应不灵敏(PS2主机上完美)。这也是因为这个库是逆向破解PS2协议的原因,所以肯定有哪里不太完美。先上硬件连接图,按照图示把线接好。然后把论坛附件中的PS2X库解压缩后放入IDE的libraries文件夹中。把下面代码复制进IDE编译,下载到arduino板子上。此代码就是PS2X库的示例,详细库使用方法请查看库中的说明文件 普通浏览复制代码1. #include /for v1.62.3. PS2X ps2x; / create PS2 Controller Class4.5. /right now, the library does NOT support hot pluggable controllers, meaning 6. /you must always either restart your Arduino after you conect the controller, 7. /or call config_gamepad(pins) again after connecting the controller.8. int error = 0;9. byte type = 0;10. byte vibrate = 0;11.12. void setup()13. Serial.begin(57600);14.15. /CHANGES for v1.6 HERE! *PAY ATTENTION*16.17. error = ps2x.config_gamepad(13,11,10,12, true, true); /setup pins and settings: GamePad(clock, command, attention, data, Pressures?, Rumble?) check for error18.19. if(error = 0)20. Serial.println(Found Controller, configured successful);21. Serial.println(Try out all the buttons, X will vibrate the controller, faster as you press harder;);22. Serial.println(holding L1 or R1 will print out the analog stick values.);23. Serial.println(Go to for updates and to report bugs.);24. 25.26. else if(error = 1)27. Serial.println(No controller found, check wiring, see readme.txt to enable debug. visit for troubleshooting tips);28.29. else if(error = 2)30. Serial.println(Controller found but not accepting commands. see readme.txt to enable debug. Visit for troubleshooting tips);31.32. else if(error = 3)33. Serial.println(Controller refusing to enter Pressures mode, may not support it. );34.35. /Serial.print(ps2x.Analog(1), HEX);36.37. type = ps2x.readType();38. switch(type) 39. case 0:40. Serial.println(Unknown Controller type);41. break;42. case 1:43. Serial.println(DualShock Controller Found);44. break;45. case 2:46. Serial.println(GuitarHero Controller Found);47. break;48. 49.50. 51.52. void loop()53. /* You must Read Gamepad to get new values54. Read GamePad and set vibration values55. ps2x.read_gamepad(small motor on/off, larger motor strenght from 0-255)56. if you dont enable the rumble, use ps2x.read_gamepad(); with no values57.58. you should call this at least once a second59. */3. if(error = 1) /skip loop if no controller found64. return;65.66. if(type = 2) /Guitar Hero Controller67.68. ps2x.read_gamepad(); /read controller 69.70. if(ps2x.ButtonPressed(GREEN_FRET)71. Serial.println(Green Fret Pressed);72. if(ps2x.ButtonPressed(RED_FRET)73. Serial.println(Red Fret Pressed);74. if(ps2x.ButtonPressed(YELLOW_FRET)75. Serial.println(Yellow Fret Pressed);76. if(ps2x.ButtonPressed(BLUE_FRET)77. Serial.println(Blue Fret Pressed);78. if(ps2x.ButtonPressed(ORANGE_FRET)79. Serial.println(Orange Fret Pressed);80.81.82. if(ps2x.ButtonPressed(STAR_POWER)83. Serial.println(Star Power Command);84.85. if(ps2x.Button(UP_STRUM) /will be TRUE as long as button is pressed86. Serial.println(Up Strum);87. if(ps2x.Button(DOWN_STRUM)88. Serial.println(DOWN Strum);89.90.91. if(ps2x.Button(PSB_START) /will be TRUE as long as button is pressed92. Serial.println(Start is being held);93. if(ps2x.Button(PSB_SELECT)94. Serial.println(Select is being held);95.96.97. if(ps2x.Button(ORANGE_FRET) / print stick value IF TRUE98. 99. Serial.print(Wammy Bar Position:);100. Serial.println(ps2x.Analog(WHAMMY_BAR), DEC);101. 102. 103.104. else /DualShock Controller105.106. ps2x.read_gamepad(false, vibrate); /read controller and set large motor to spin at vibrate speed107.108. if(ps2x.Button(PSB_START) /will be TRUE as long as button is pressed109. Serial.println(Start is being held);110. if(ps2x.Button(PSB_SELECT)111. Serial.println(Select is being held);112.113.114. if(ps2x.Button(PSB_PAD_UP) /will be TRUE as long as button is pressed115. Serial.print(Up held this hard: );116. Serial.println(ps2x.Analog(PSAB_PAD_UP), DEC);117. 118. if(ps2x.Button(PSB_PAD_RIGHT)119. Serial.print(Right held this hard: );120. Serial.println(ps2x.Analog(PSAB_PAD_RIGHT), DEC);121. 122. if(ps2x.Button(PSB_PAD_LEFT)123. Serial.print(LEFT held this hard: );124. Serial.println(ps2x.Analog(PSAB_PAD_LEFT), DEC);125. 126. if(ps2x.Button(PSB_PAD_DOWN)127. Serial.print(DOWN held this hard: );128. Serial.println(ps2x.Analog(PSAB_PAD_DOWN), DEC);129. 130.131.132. vibrate = ps2x.Analog(PSAB_BLUE); /this will set the large motor vibrate speed based on 133. /how hard you press the blue (X) button 134.135. if (ps2x.NewButtonState() /will be TRUE if any button changes state (on to off, or off to on)136. 40. if(ps2x.Button(PSB_L3)141. Serial.println(L3 pressed);142. if(ps2x.Button(PSB_R3)143. Serial.println(R3 pressed);144. if(ps2x.Button(PSB_L2)145. Serial.println(L2 pressed);146. if(ps2x.Button(PSB_R2)147. Serial.println(R2 pressed);148. if(ps2x.Button(PSB_GREEN)149. Serial.println(Triangle pressed);150.151. 152.153.154. if(ps2x.ButtonPressed(PSB_RED) /will be TRUE if button was JUST pressed155. Serial.println(Circle just pressed);156.157. if(ps2x.ButtonReleased(PSB_PINK) /will be TRUE if button was JUST released158. Serial.println(Square just released); 159.160. if(ps2x.NewButtonState(PSB_BLUE) /will be TRUE if button was JUST pressed OR released161. Serial.println(X just changed); 162.163.164. if(ps2x.Button(PSB_L1) | ps2x.Button(PSB_R1) / print stick values if either is TRUE165. 166. Serial.print(Stick Values:);167. Serial.print(ps2x.Analog(PSS_LY), DEC); /Left stick, Y axis. Other options: LX, RY, RX 168. Serial.print(,);169. Serial.print(ps2x.Analog(PSS_LX), DEC);170. Serial.print(,);171. Serial.print(ps2x.Analog(PSS_RY), DEC);172. Serial.print(,);173. Serial.println(ps2x.Analog(PSS_RX), DEC);174. 175.176.177. 178.179.180. delay(50);181.182. 然后打开串口监视器,看看实验效果吧。PS2手柄按键按下后,串口监视器就会传回是哪个按键,L1和R1按下后好像是读取几个口的模拟量 arduino学习笔记26 - ENC28J60以太网模块实验2012-04-12 11:21 小 大 来源: 未知 转发至: 除了官方的W5100以太网模块,使用最广的就要数ENC28J60模块了。此模块经过众多高手完善第三方库,已经和官方模块功能一样先看看本次使用的硬件,一块arduino uno,外加一个以太网扩展板。如果大家不是使用的这种大板,而是使用的下图的小板,就需要自己接线。上面各个口定义如下如果是下图这种标了1,2,3的。1号口对应的是VCC。与arduino控制板连接对应表如下。首先需要进入IDE的libraries文件夹中,把官方的以太库文件夹Ethernet删掉,或者移出文件夹,因为ENC28J60的函数名称和官方的一模一样,如果同时放入,就会编译错误或者下载出错。无法正常使用。然后把本次使用的ENC28J60库文件拷入libraries文件夹打开IDE,在Examples中,打开ENC28J60的演示例子WebServer。直接把代码从这里复制进去也可以。 普通浏览复制代码1. /*2. * Web Server3. *4. * A simple web server that shows the value of the analog input pins.5. */6.7. #include 8.9. byte mac = 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED ;10. byte ip = 192, 168, 1, 177 ;11.12. Server server(80);13.14. void setup()15. 16. Ethernet.begin(mac, ip);17. server.begin();18. 19.20. void loop()21. 22. Client client = server.available();23. if (client) 24. / an http request ends with a blank line25. boolean current_line_is_blank = true;26. while (client.connected() 27. if (client.available() 28. char c = client.read();29. / if weve gotten to the end of the line (received a newline30. / character) and the line is blank, the http request has ended,31. / so we can send a reply32. if (c = n & current_line_is_blank) 33. / send a standard http response header34. client.println(HTTP/1.1 200 OK);35. client.println(Content-Type: text/html);36. client.println();37.38. / output the value of each analog input pin39. for (int i = 0; i 6; i+) 40. client.print(analog input );41. client.print(i);42. client.print( is );43. client.print(analogRead(i);44. client.println();45. 46. break;47. 48. if (c = n) 49. / were starting a new line50. current_line_is_blank = true;51. else if (c != r) 52
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全法律培训文案简短课件
- 中国精算师职业资格考试(准精算师概率论与数理统计)模拟试题及答案 (2025年商丘)
- 减免租金申请书2022
- 设立司法鉴定机构申请书
- 2025-2030工业机器人核心零部件产业发展趋势与投资机会分析研究报告
- 2025-2030工业无人机巡检服务定价模型与客户付费意愿分析报告
- 2025-2030工业废气处理设备技术路线比较与政策导向研究报告
- 2025-2030工业大数据平台建设现状与行业应用价值分析研究报告
- 安全气囊车缝培训课件
- 贫困餐券申请书
- 法警安全检查培训课件
- AI+智慧医院高质量发展 信息化建设方案
- 人员密集场所安全培训教学课件
- 村干部笔试试题及答案
- 项目管理业务知识培训课件
- 知识产权保护与运用培训课件
- 2025年广东省政府采购评审专家考试真题含答案
- 小猪逛果园课件
- 新疆省中考英语真题全解析
- Unit 2 Home Sweet Home 单元全真模拟培优卷(含答案解析)八年级上册英语人教版
- 2025年贵州省中考语文真题(含答案)
评论
0/150
提交评论