Skip to content

Commit 4f31249

Browse files
Moved folder to correct place
1 parent e1886e2 commit 4f31249

18 files changed

+818
-0
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
software:
2+
- arduino-ide
3+
- arduino-cli
4+
- web-editor
5+
hardware:
6+
boards:
7+
- giga-r1-wifi
8+
carriers: ~
9+
shields: ~
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<EssentialsColumn title="First Steps">
2+
<EssentialElement title="Quickstart Guide" type="getting-started" link="/tutorials/giga-display-shield/basic-draw">
3+
A quick guide on how to use the GIGA Display Shield.
4+
</EssentialElement>
5+
6+
</EssentialsColumn>
7+
8+
<EssentialsColumn title="Suggested Libraries">
9+
10+
<EssentialElement link="https://github.com/arduino-libraries/Arduino_GigaDisplayTouch/" title="Arduino_GigaDisplayTouch" type="library">
11+
The library manages the touch controller of the GIGA Display Shield.
12+
</EssentialElement>
13+
14+
<EssentialElement link="https://github.com/arduino-libraries/ArduinoGraphics" title="Arduino Graphics" type="library">
15+
A Library with graphical features to produce visuals on the GIGA Display Shield.
16+
</EssentialElement>
17+
18+
<EssentialElement link="https://github.com/arduino-libraries/Arduino_BMI270_BMM150" title="Arduino_BMI270_BMM150.h" type="library">
19+
A Library for using the IMU sensor on the GIGA Display Shield.
20+
</EssentialElement>
21+
22+
23+
24+
</EssentialsColumn>
25+
26+
<EssentialsColumn title="Arduino Basics">
27+
<EssentialElement link="https://www.arduino.cc/en/Tutorial/BuiltInExamples" title="Built-in Examples" type="resource">
28+
Built-in Examples are sketches included in the Arduino IDE and demonstrate all basic Arduino commands.
29+
</EssentialElement>
30+
<EssentialElement link="/learn" title="Learn" type="resource">
31+
Discover interesting articles, principles and techniques related to the Arduino ecosystem.
32+
</EssentialElement>
33+
<EssentialElement link="https://www.arduino.cc/reference/en/" title="Language Reference" type="resource">
34+
Arduino programming language can be divided in three main parts: functions, values (variables and constants), and structure.
35+
</EssentialElement>
36+
</EssentialsColumn>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<FeatureDescription>
2+
3+
The GIGA Display Shield comes with a 3.97” 480x800 RGB touch screen, a digital microphone and on-board IMU, that can easily be mounted on the GIGA R1 WiFi board. An arducam connector is located at the top of the shield.
4+
5+
Using the fast dual core microcontroller (480MHz / 240MHz) of the GIGA R1 WiFi powerful visual solutions can be developed using the LVGL library or the ArduinoGraphics library.
6+
7+
</FeatureDescription>
8+
9+
<FeatureList>
10+
11+
<Feature title="3.97” 480x800 RGB touch screen" image="configurability">
12+
A back-light screen with the resolution of a 4.0" TFT-LCD which contains 480x800 pixels, and can display up to 16.7M colors.
13+
<FeatureLink title="" url=""/>
14+
</Feature>
15+
16+
<Feature title="MP34DT06JTR Digital microphone" image="microphone">
17+
The microphone on the shield is an ultra-compact, low-power, omnidirectional, digital MEMS microphone built with a capacitive sensing element and an IC interface.
18+
<FeatureLink title="datasheet" url="https://eu.mouser.com/datasheet/2/389/mp34dt06j-1387393.pdf"/>
19+
</Feature>
20+
21+
<Feature title="Bosch BMI270 6 Axis IMU" image="imu">
22+
The shield has an IMU that can provide precise acceleration, angular rate measurement and intelligent on-chip motion-triggered interrupt features.
23+
<FeatureLink title="datasheet" url="https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmi270-ds000.pdf"/>
24+
</Feature>
25+
26+
</FeatureList>
Lines changed: 108 additions & 0 deletions
Loading
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: GIGA Display Shield
3+
url_shop: https://store.arduino.cc/
4+
url_guide: /tutorials/basic-draw
5+
core: arduino:mbed_giga
6+
---
7+
8+
The **GIGA Display Shield** is a touch screen solution for quickly and easily deploying UI to your GIGA R1 projects.
9+
Featuring a 3.97” 480x800 RGB touch screen, an Arducam 20 pin camera connector, a Digital microphone (MP34DT06JTR) and a 6 Axis IMU (Bosch BMI270).
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Here you will find the technical specifications for the Arduino® GIGA Display Shield.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Board:
2+
Name: Arduino® GIGA Display Shield
3+
SKU: ASX00039
4+
Connectors:
5+
Camera: SOCKET 2ROW 20POS VERTICAL PASS THROUGH
6+
Display Video: F32Q-1A7H1-11020
7+
Display Touch: F32Q-1A7H1-11008
8+
Display:
9+
Size: 3.97”
10+
Resolution: 480x800 RGB
11+
Color: 16.7M
12+
Touch Mode: Five points and Gestures
13+
Interface: I2C
14+
Sensors:
15+
IMU: BMI270
16+
Microphone: MP34DT06JTR
17+
Power:
18+
Circuit operating voltage:
19+
Input voltage (VIN):
20+
DC Current per I/O Pin:
21+
Dimensions:
22+
Width:
23+
Length:
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
---
2+
title: Using Basic Draw Functions with the GIGA Display Shield
3+
description: 'Learn how to use basic draw functions to create images on the GIGA display shield'
4+
author: Benjamin Dannegård
5+
tags: [Display, Draw]
6+
---
7+
8+
The most basic use of the GIGA display shield is to draw an image on the screen using code. This is made easy by using the library `ArduinoGraphics`. In this tutorial we will go through how to draw the Arduino logo on the GIGA display shield with the commands provided by this library.
9+
10+
This is a great tutorial for getting started with your shield and exploring what possibilities the library gives us.
11+
12+
## Hardware & Software Needed
13+
14+
- [GIGA R1 WiFi](/hardware/giga-r1).
15+
- [GIGA Display Shield](/hardware/giga-display-shield)
16+
- [Arduino IDE](https://www.arduino.cc/en/software)
17+
- [ArduinoGraphics library](https://www.arduino.cc/reference/en/libraries/arduinographics/)
18+
19+
## Downloading the Library and Core
20+
21+
Make sure the latest GIGA Core is installed in the Arduino IDE. **Tools > Board > Board Manager...**. Here you need to look for the **Arduino Mbed OS Giga Boards** and install it. Now you have to install the library needed for the graphical display features. To do this, go to **Tools > Manage libraries..**, search for **ArduinoGraphics**, and install it.
22+
23+
## Using Draw Feature in a Sketch
24+
25+
First, we need to include the library that we will be using and define the display screen:
26+
27+
```arduino
28+
#include "Arduino_H7_Video.h"
29+
#include "ArduinoGraphics.h"
30+
31+
Arduino_H7_Video Display(800, 480, GigaDisplayShield);
32+
```
33+
34+
As we only want to draw something on the screen once, we can put all the drawing code in the `void setup()`. If we instead put this code in the `void loop()` function it will keep drawing the given image over and over.
35+
36+
Lets first draw the background of the image. Start by initializing the display class from the library with `Display.begin()`. Then to start drawing things on the screen we need to use `Display.beginDraw()`. Now the background color can be set with `Display.background(255, 255, 255)`, where RGB values are entered within the parentheses. `Display.clear()` will clear anything that has been drawn on the screen, but it will leave the background as it was set before.
37+
38+
39+
```arduino
40+
void setup() {
41+
Display.begin();
42+
43+
Display.beginDraw();
44+
Display.background(255, 255, 255);
45+
Display.clear();
46+
```
47+
48+
Next let's draw the circle that will be the base of the logo. First, set the color of the circle with `Display.fill(0x008184);`. Then draw the circle with the command `Display.circle()`. Inside the parentheses enter the x position, y position, and diameter of the circle. We can make the positioning easy by using the display's total width and height as a base for our position measurements.
49+
50+
```arduino
51+
Display.fill(0x008184);
52+
Display.circle(Display.width()/2, Display.height()/2, 300);
53+
```
54+
55+
Next, we want to draw the two circles that are in the bigger circle of the Arduino logo. First, we will set the color of the circles we are drawing. To change the color of the lines we are drawing use `Display.stroke()`, where the color of the stroke will be the RGB value entered into the parentheses, in this case they will be white. Then we use `Display.noFill()` to indicate that we don't want to fill the circles we are drawing. Lastly, to get the thickness of the circles we can use a simple `for` loop that will draw circles in a slightly changed position 30 times, to give the appearance of the thick circles in the logo.
56+
57+
```arduino
58+
Display.stroke(255, 255, 255);
59+
Display.noFill();
60+
for (int i=0; i<30; i++) {
61+
Display.circle((Display.width()/2)-55+5, Display.height()/2, 110-i);
62+
Display.circle((Display.width()/2)+55-5, Display.height()/2, 110-i);
63+
}
64+
```
65+
66+
Lastly, let's draw the plus and minus symbols inside the two circles of the logo. The easiest way to draw these is to use the `Display.rect()` function, which will draw a rectangle with the parameters given. Let's first give the color with `Display.fill` as we have done before. When using `Display.rect()` we can make it easier and use the display's dimensions as the base of the sizes. After entering the width and height of the rectangle we can enter:
67+
68+
```arduino
69+
Display.fill(255, 255, 255);
70+
Display.rect((Display.width()/2)-55-16+5, (Display.height()/2)-5, 32, 10);
71+
Display.fill(255, 255, 255);
72+
Display.rect((Display.width()/2)+55-16-5, (Display.height()/2)-5, 32, 10);
73+
Display.fill(255, 255, 255);
74+
Display.rect((Display.width()/2)+55-5-5, (Display.height()/2)-16, 10, 32);
75+
```
76+
77+
Now that the drawing is done the `Display.endDraw()` function can be called.
78+
79+
```arduino
80+
Display.endDraw();
81+
}
82+
```
83+
84+
The complete code can be found as an example in the **Arduino_H7_video** library, it is called **ArduinoLogoDrawing**. Now upload the entire sketch and you should see the Arduino logo being drawn on the display.
85+
86+
## Testing It Out
87+
88+
Now that it is all uploaded your display shield should look like the image below:
89+
90+
![Sketch running on the GIGA Display Shield](assets/draw-on-shield.jpg)
91+
92+
93+
## Conclusion
94+
95+
In this tutorial we used basic drawing functions with the Giga display shield. Using the `ArduinoGraphics` library we managed to draw the Arduino logo with just a few simple commands. Using these basic functions it is possible to create most images that you can think of. Now you can let your imagination run wild and draw to your hearts content!
Loading

content/hardware/10.mega/shields/giga-display-shield/tutorials/lvgl-guide/assets/button-clicked.svg

Lines changed: 15 additions & 0 deletions
Loading

content/hardware/10.mega/shields/giga-display-shield/tutorials/lvgl-guide/assets/button.svg

Lines changed: 27 additions & 0 deletions
Loading

content/hardware/10.mega/shields/giga-display-shield/tutorials/lvgl-guide/assets/checkboxes.svg

Lines changed: 27 additions & 0 deletions
Loading

content/hardware/10.mega/shields/giga-display-shield/tutorials/lvgl-guide/assets/example-in-ide.svg

Lines changed: 27 additions & 0 deletions
Loading

content/hardware/10.mega/shields/giga-display-shield/tutorials/lvgl-guide/assets/image.svg

Lines changed: 15 additions & 0 deletions
Loading

content/hardware/10.mega/shields/giga-display-shield/tutorials/lvgl-guide/assets/radio-buttons.svg

Lines changed: 15 additions & 0 deletions
Loading

content/hardware/10.mega/shields/giga-display-shield/tutorials/lvgl-guide/assets/slider.svg

Lines changed: 15 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)