1
|
|
2
|
/*
|
3
|
Progetto : ManoBot - HackLab Terni
|
4
|
Marzo - Aprile 2012
|
5
|
Autore : Moreno Petrucci
|
6
|
*/
|
7
|
|
8
|
#include <Servo.h>
|
9
|
|
10
|
|
11
|
Servo ServoMot_1;
|
12
|
Servo ServoMot_2;
|
13
|
Servo ServoMot_3;
|
14
|
Servo ServoMot_4;
|
15
|
Servo ServoMot_5;
|
16
|
|
17
|
|
18
|
int melodia[]={100,350,600,200,100};
|
19
|
int durataNote[] = {250, 500, 250, 250, 250};
|
20
|
|
21
|
int analogValue_1 = 180;
|
22
|
int analogValue_2 = 180;
|
23
|
int analogValue_3 = 180;
|
24
|
int analogValue_4 = 180;
|
25
|
int analogValue_5 = 180;
|
26
|
|
27
|
|
28
|
void setup()
|
29
|
{
|
30
|
|
31
|
ServoMot_1.attach(8);
|
32
|
ServoMot_2.attach(9);
|
33
|
ServoMot_3.attach(10);
|
34
|
ServoMot_4.attach(11);
|
35
|
ServoMot_5.attach(12);
|
36
|
|
37
|
ServoMot_1.write(10);
|
38
|
ServoMot_2.write(10);
|
39
|
ServoMot_3.write(10);
|
40
|
ServoMot_4.write(10);
|
41
|
ServoMot_5.write(10);
|
42
|
|
43
|
|
44
|
Serial.begin(9600);
|
45
|
|
46
|
}
|
47
|
|
48
|
|
49
|
void loop()
|
50
|
{
|
51
|
|
52
|
//Lettura segnale analogico proveniente da Sensore Flex
|
53
|
analogValue_1 = constrain(map(analogRead(2),300,240,9,180),9,180);
|
54
|
analogValue_2 = constrain(map(analogRead(0),350,260,9,180),9,180);
|
55
|
analogValue_3 = constrain(map(analogRead(1),270,130,9,180),9,180);
|
56
|
analogValue_4 = constrain(map(analogRead(4),285,220,9,180),9,180);
|
57
|
analogValue_5 = constrain(map(analogRead(3),300,250,9,180),9,180);
|
58
|
|
59
|
// 1 - P O L L I C E
|
60
|
// Azionamento Servomotore in base al segnale analogico entrante
|
61
|
if (analogValue_1 > 35) {ServoMot_1.write(analogValue_1);}
|
62
|
// Riproduzione tono musicale
|
63
|
if (analogValue_1 > 40) {tone(13, melodia[0],durataNote[0]);} //if (analogValue_1 > 150) {tone(8, melodia[2] + analogValue_1,durataNote[0]);
|
64
|
|
65
|
// 2 - I N D I C E
|
66
|
// Azionamento Servomotore in base al segnale analogico entrante
|
67
|
if (analogValue_2 > 25) {ServoMot_2.write(analogValue_2);}
|
68
|
// Riproduzione tono musicale
|
69
|
if (analogValue_2 > 80) {tone(13, melodia[1],durataNote[1]);} //if (analogValue_1 > 150) {tone(8, melodia[2] + analogValue_1,durataNote[0]);
|
70
|
|
71
|
// 3 - M E D I O
|
72
|
// Azionamento Servomotore in base al segnale analogico entrante
|
73
|
if (analogValue_3 > 15) {ServoMot_3.write(analogValue_3);}
|
74
|
// Riproduzione tono musicale
|
75
|
if (analogValue_3 > 50) {tone(13, melodia[2],durataNote[2]);} //if (analogValue_1 > 150) {tone(8, melodia[2] + analogValue_1,durataNote[0]);
|
76
|
|
77
|
// 4 - A N U L A R E
|
78
|
// Azionamento Servomotore in base al segnale analogico entrante
|
79
|
if (analogValue_4 > 15) {ServoMot_4.write(analogValue_4);}
|
80
|
// Riproduzione tono musicale
|
81
|
if (analogValue_4 > 70) {tone(13, melodia[3],durataNote[3]);} //if (analogValue_1 > 150) {tone(8, melodia[2] + analogValue_1,durataNote[0]);
|
82
|
//
|
83
|
// 5 - M I G N O L O
|
84
|
// Azionamento Servomotore in base al segnale analogico entrante
|
85
|
if (analogValue_5 > 15) {ServoMot_5.write(analogValue_5);}
|
86
|
// Riproduzione tono musicale
|
87
|
if (analogValue_5 > 50) {tone(13, melodia[4],durataNote[4]);} //if (analogValue_1 > 150) {tone(8, melodia[2] + analogValue_1,durataNote[0]);
|
88
|
|
89
|
|
90
|
Serial.println(analogRead(2), DEC);
|
91
|
|
92
|
delay(100);
|
93
|
|
94
|
}
|