3979| 0
|
[项目] 教你用arduino的触控功能做一个实用的颈椎病预防器 |
本帖最后由 gada888 于 2018-11-26 22:12 编辑 我知道学生一般写作业都会写很晚。头不由自主的会前倾。时间久了颈椎久会变形。时间长了就是颈椎病。 这里教大家做一个颈椎前倾的物理提醒。它主要是通过Arduino的capacitance库来实现这个功能的。这里并不讲cap库的具体用法。大家有兴趣可以去google搜索。 除了这个触控功能,主要硬件就是arduino和一个电机驱动以及一个马达。这个马达可以在人的头部碰到触控点后。向左转3转。然后停止,再向右转3转。回到原位。当再次触发触控时候,马达重复以上动作。 一年前做的。电机可以用小型的减速电机。如果有3D打印机,打印一个直线驱动结构。用这个机构把弯曲的颈部给顶回来。那就更完美了。我没有3D打印机。无法完美呈现这种效果。 注意:主控可以是很小的arduino mini电机驱动也可以用很小的。完全可以做成可穿戴的。程序就是这个程序。’ [mw_shl_code=applescript,true]//============add lib============= #include <CapSense.h> //============define================ #define ON_PERCH 1500 #define CAP_SENSE 30 #define ONBOARD_LED 13 //==========placement============= CapSense foil_sensor = CapSense(10,7); int perch_value = 0; const int AIA = 5; const int AIB = 6; byte speed = 250; //==========setup=========== void setup() { // for serial window debugging Serial.begin(9600); // set pin for onboard led //pinMode(ONBOARD_LED, OUTPUT); pinMode(AIA, OUTPUT); // set pins to output pinMode(AIB, OUTPUT); } //============functions============= void SendPerchAlert(int perch_value, int perch_state) { digitalWrite(AIA, perch_state ? HIGH : LOW); digitalWrite(AIB, perch_state ? HIGH : LOW); if (perch_state) Serial.print("Perch arrival event, perch_value="); else Serial.print("Perch departure event, perch_value="); Serial.println(perch_value); } //============loop============ void loop() { delay(1000); perch_value = foil_sensor.capSense(CAP_SENSE); switch (perch_state) { case 0: if (perch_value >= ON_PERCH) { perch_state = 1; SendPerchAlert(perch_value, perch_state); } break; case 1: if (perch_value < ON_PERCH) { perch_state = 0; SendPerchAlert(perch_value, perch_state); forward(); delay(2000); STOP(); Serial.println( "Indietro..." ); backward(); delay(2000); STOP(); } break; } } void backward() { analogWrite(AIA, 0); analogWrite(AIB, speed); } void forward() { analogWrite(AIA, speed); analogWrite(AIB, 0); } void STOP() { analogWrite(AIA, 0); analogWrite(AIB, 0); delay (4000); }[/mw_shl_code] |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed