1
+ /*
2
+ * MultiTouchBlink_Polling.ino
3
+ *
4
+ * This example shows how to visualise the number of touch points, using the RGB LED.
5
+ *
6
+ * On each iteration of the loop, the touch points are obtained from the GT911 controller. If the touch points exist, then a message
7
+ * is sent to the Serial, and the LED is blinked the corresponding number of times. A 1 second delay is given after a touch is detected, to
8
+ * act as a basic debounce utility.
9
+ *
10
+ * For the interrupt version of this example, see MultiTouchBlink_IRQ.ino
11
+ *
12
+ * Instructions:
13
+ * 1. Connect your GIGA Display Shield (ASX00039) to a GIGA R1 WiFi (ABX00063) board.
14
+ * 2. Upload this sketch to your board.
15
+ * 3. Open the Serial Monitor.
16
+ * 4. Touch the screen with your finger(s).
17
+ * 5. The LED will blink, based on how many touch contact are recorded. Note that fingers need to be placed all at the same time.
18
+ *
19
+ * Initial author: Ali Jahangiri @aliphys
20
+ * Created: 12 June 2024
21
+ */
22
+
23
+ #include " Arduino_GigaDisplayTouch.h"
24
+
25
+ Arduino_GigaDisplayTouch touchDetector;
26
+
27
+ int contactPoints = 0 ;
28
+
29
+ void setup () {
30
+ Serial.begin (115200 );
31
+ while (!Serial) {}
32
+
33
+ if (touchDetector.begin ()) {
34
+ Serial.println (" Touch controller init - OK" );
35
+ } else {
36
+ Serial.println (" Touch controller init - FAILED" );
37
+ while (1 )
38
+ ;
39
+ }
40
+ }
41
+
42
+ void loop () {
43
+ uint8_t contacts;
44
+ GDTpoint_t points[5 ];
45
+ contactPoints = 0 ;
46
+
47
+ contactPoints = touchDetector.getTouchPoints (points);
48
+
49
+ if (contactPoints > 0 ) {
50
+ Serial.println (" Contact Detected! Will Blink " + String (contactPoints) + " times!" );
51
+ for (int i = 1 ; i <= contactPoints; i++) {
52
+ digitalWrite (LED_BUILTIN, LOW);
53
+ delay (250 );
54
+ digitalWrite (LED_BUILTIN, HIGH);
55
+ delay (250 );
56
+ }
57
+
58
+ delay (1000 );
59
+ }
60
+
61
+ delay (1 );
62
+ }
0 commit comments