Skip to content

Commit 4f29327

Browse files
committed
adding examples and images
1 parent ac89786 commit 4f29327

19 files changed

+328
-0
lines changed
Lines changed: 328 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,328 @@
1+
---
2+
title: Arduino® UNO Q Applications
3+
description: An overview of various applications developed for the Arduino® UNO Q platform, showcasing unique functionalities from environmental monitoring to machine learning.
4+
author: Karl Söderby
5+
tags: [AI, Computer Vision, Audio Classification, Arduino App Lab]
6+
---
7+
8+
## Overview
9+
10+
This article provides a comprehensive overview of various applications developed for the Arduino® UNO Q platform. Each application showcases unique functionalities, from environmental monitoring to machine learning, leveraging the capabilities of the Arduino ecosystem. Below is a summary of each example, detailing the app's purpose, functionality, and components used.
11+
12+
## Requirements
13+
14+
- [Arduino® UNO Q](https://store.arduino.cc/products/uno-q)
15+
- [USB-C® cable](https://store.arduino.cc/products/usb-c-to-hdmi-multiport-adapter-with-ethernet-and-usb-hub)
16+
17+
## Built-in Examples
18+
19+
### Air Quality Monitoring App
20+
21+
![Air Quality Monitoring App](assets/air-quality-monitoring-app-hero.png)
22+
23+
The **Air Quality Monitoring App** displays real-time air quality data using the AQICN service on an 8x13 LED matrix. It visually represents air quality levels with animated emoji patterns, ranging from "Good" to "Hazardous."
24+
25+
#### How it Works
26+
27+
- **Data Fetching:** The app retrieves air quality data from the AQICN API for a specified city.
28+
- **Visualization:** Numeric AQI values are converted into visual patterns displayed on the LED matrix.
29+
- **Communication:** The Python® script handles API communication, while the Arduino sketch manages the LED display.
30+
31+
#### Bricks Used
32+
33+
- **None:** Direct communication between Python® and Arduino is facilitated through the Router Bridge.
34+
35+
### Blink LED
36+
37+
![Blink LED](assets/blink-led-hero.png)
38+
39+
The **Blink** example toggles the onboard LED state every second, illustrating basic LED control and Router Bridge communication.
40+
41+
#### How it Works
42+
43+
- **Timing Control:** A Python® script manages the timing and state logic for the LED.
44+
- **LED Control:** The Arduino sketch handles the hardware control.
45+
46+
#### Bricks Used
47+
48+
- **None:** Direct communication via Router Bridge.
49+
50+
### Blinking LED from Arduino Cloud
51+
52+
![Blinking LED from Arduino Cloud](assets/blinking-led-from-arduino-cloud-hero.png)
53+
54+
This example allows remote control of the onboard LED from the Arduino Cloud using a dashboard with a switch.
55+
56+
#### How it Works
57+
58+
- **Cloud Integration:** The `arduino_cloud` Brick connects the device to the Arduino Cloud.
59+
- **LED Control:** Changes in the cloud dashboard update the LED state.
60+
61+
#### Bricks Used
62+
63+
- **arduino_cloud:** For cloud connectivity.
64+
65+
### Concrete Crack Detector
66+
67+
![Concrete Crack Detector](assets/concrete-crack-detector-hero.png)
68+
69+
The **Concrete Crack Detector** uses a pre-trained machine learning model to identify cracks in concrete surfaces. It provides a web interface for image upload and displays results with highlighted crack locations.
70+
71+
#### How it Works
72+
73+
- **Image Analysis:** The `VisualAnomalyDetection` Brick processes images to detect structural anomalies.
74+
- **Web Interface:** Users can upload images or select samples, adjust detection sensitivity, and view results.
75+
76+
#### Bricks Used
77+
78+
- **visual_anomaly_detection:** For image analysis.
79+
- **web_ui:** For creating the web interface.
80+
81+
### Glass Breaking Sensor
82+
83+
![Glass Breaking Sensor](assets/glass-breaking-sensor-hero.png)
84+
85+
The **Glass Breaking Sensor** classifies audio files to detect glass breaking sounds using a machine learning model. It features a web interface for audio upload and real-time classification results.
86+
87+
#### How it Works
88+
89+
- **Audio Classification:** The `audio_classification` Brick analyzes audio files for specific sound patterns.
90+
- **Web Interface:** Supports audio file upload and displays classification results with confidence scores.
91+
92+
#### Bricks Used
93+
94+
- **audio_classification:** For sound detection.
95+
- **web_ui:** For the web interface.
96+
97+
### Image Classification HERE
98+
99+
![Image Classification](assets/image-classification-hero.png)
100+
101+
#### How it Works
102+
103+
MISSING
104+
105+
#### Bricks Used
106+
107+
- `imageclassification`: Brick to classify objects within an image.
108+
- `web_ui`: Brick to create a web interface to display the image classification dashboard.
109+
110+
### Linux® Blink with UI (JavaScript)
111+
112+
![Linux® Blink with UI (JavaScript)](assets/linux-blink-with-ui-javascript-hero.png)
113+
114+
The **Linux® Blink** example toggles an LED state on the board through a web-based interface, demonstrating basic event handling and UI updates.
115+
116+
#### How it Works
117+
118+
- **Web Interface:** A toggle switch controls the LED state via WebSocket communication.
119+
- **LED Control:** The Arduino sketch manages the LED hardware.
120+
121+
#### Bricks Used
122+
123+
- **web_ui:** For the web interface.
124+
125+
### Object Detection HERE
126+
127+
![](assets/object-detection-hero.png)
128+
129+
#### How it Works
130+
131+
#### Bricks Used
132+
133+
### System Resources Logger
134+
135+
![System Resources Logger](assets/system-resources-logger-hero.png)
136+
137+
The **System Resources Logger** monitors and displays real-time system performance data from your Arduino UNO Q board.
138+
139+
#### How it Works
140+
141+
- **Data Collection:** Uses the `psutil` library to gather CPU and memory usage statistics every 5 seconds.
142+
- **Data Storage:** The `dbstorage_tsstore` Brick stores performance metrics with timestamp.
143+
- **Web Interface:** Provides interactive visualization with real-time updates via WebSocket communication.
144+
145+
#### Bricks Used
146+
147+
- **dbstorage_tsstore:** For time series data storage.
148+
- **web_ui:** For the web interface.
149+
150+
### Weather Forecast on LED Matrix
151+
152+
![Weather Forecast on LED Matrix](assets/weather-forecast-on-led-matrix-hero.png)
153+
154+
The **Weather Forecasting System** displays real-time weather information from the *open-meteo.com* service on the Arduino UNO Q LED matrix.
155+
156+
#### How it Works
157+
158+
- **Weather Data:** The `weather_forecast` Brick fetches data from the *open-meteo.com* API.
159+
- **LED Display:** The Arduino sketch manages LED matrix animations based on weather conditions.
160+
161+
#### Bricks Used
162+
163+
- **weather_forecast:** For fetching weather data.
164+
165+
Each of these applications highlights the versatility and power of the Arduino® UNO Q platform, providing practical solutions for various real-world scenarios.
166+
167+
## Examples Using Additional Hardware
168+
169+
### Code Detector
170+
171+
![Code Detector](assets/code-detector-hero.png)
172+
173+
The **Code Detector** scans barcodes and QR codes using a USB camera, displaying results on a web interface and storing them in a local database.
174+
175+
#### Additional Hardware
176+
177+
- USB camera
178+
- USB-C® hub
179+
180+
#### How it Works
181+
182+
- **Code Detection:** The `camera_code_detection` Brick processes video input for code detection.
183+
- **Web Interface:** Displays live camera feed and detected codes.
184+
185+
#### Bricks Used
186+
187+
- **camera_code_detection:** For code scanning.
188+
- **dbstorage_sqlstore:** For data storage.
189+
- **web_ui:** For the web interface.
190+
191+
### Detect Objects on Camera
192+
193+
![Detect Objects on Camera](assets/detect-objects-on-camera-hero.png)
194+
195+
The **Detect Objects on Camera** example lets you detect objects on a live feed from a USB camera and visualize bounding boxes around the detections in real-time.
196+
197+
#### Additional Hardware
198+
199+
- USB camera
200+
- USB-C® hub
201+
- External power supply
202+
203+
#### How it Works
204+
205+
- **Video Stream:** Processes frames from a USB camera using the `video_objectdetection` Brick.
206+
- **Web Interface:** Displays the classification results and model controls.
207+
208+
#### Bricks Used
209+
210+
- **web_ui:** For the web interface.
211+
- **video_objectdetection:** For object detection.
212+
213+
### Face Detector on Camera
214+
215+
![Face Detector on Camera](assets/face-detector-on-camera-hero.png)
216+
217+
The **Face Detector on Camera** example lets you detect objects on a live feed from a USB camera and visualize bounding boxes around the detections in real-time.
218+
219+
#### Additional Hardware
220+
221+
- USB camera
222+
- USB-C® hub
223+
- External power supply
224+
225+
#### How it Works
226+
227+
- **Video Stream:** Processes frames from a USB camera using the `video_objectdetection` Brick.
228+
- **Web Interface:** Displays the classification results and model controls.
229+
230+
#### Bricks Used
231+
232+
- **web_ui:** For the web interface.
233+
- **video_objectdetection:** For face detection.
234+
235+
### Hey Arduino! HERE
236+
237+
![](assets/hey-arduino-hero.png)
238+
239+
#### How it Works
240+
241+
242+
243+
#### Bricks Used
244+
245+
246+
247+
### Home Climate Monitoring
248+
249+
![Home Climate Monitoring](assets/home-climate-monitoring-hero.png)
250+
251+
The **Home Climate Monitoring** app records temperature and humidity data from the Modulino® Thermo node, displaying it on a web interface.
252+
253+
#### Additional Hardware
254+
255+
- Modulino® Thermo
256+
- Qwiic cable
257+
258+
#### How it Works
259+
260+
- **Data Storage:** The `dbstorage_tsstore` Brick stores time-based data.
261+
- **Web Interface:** Displays real-time and historical data.
262+
263+
#### Bricks Used
264+
265+
- **dbstorage_tsstore:** For data storage.
266+
- **web_ui:** For the web interface.
267+
268+
### Real Time Accelerometer Data
269+
270+
![Real Time Accelerometer Data](assets/real-time-accelerometer-data-hero.png)
271+
272+
The **Real Time Accelerometer Data** example records accelerometer data from the Modulino® Movement node, and streams it to a web interface.
273+
274+
#### Additional Hardware
275+
276+
- Modulino® Movement
277+
- Qwiic cable
278+
279+
#### How it Works
280+
281+
- **Motion Detection:** The `motion_detection` Brick processes accelerometer data to identify specific motion patterns using a pre-trained model.
282+
- **Web Interface:** Hosts a web server on the board, serving HTML, CSS & JavaScript files.
283+
284+
#### Bricks Used
285+
286+
- **motion_detection:** For processing accelerometer data.
287+
- **web_ui:** For the web interface.
288+
289+
### UNO Q Pin Toggle
290+
291+
![UNO Q Pin Toggle](assets/uno-q-pin-toggle-hero.png)
292+
293+
The **UNO Q Pin Toggle** example lets you control the state of every pin of the Arduino UNO Q through an interactive web interface.
294+
295+
#### Additional Hardware
296+
297+
- USB-C® to USB-A Cable
298+
299+
#### How it Works
300+
301+
- **Web Interface:** Displays the board pins control dashboard with toggle switches.
302+
- **Pin Control:** The backend processes toggle requests and broadcasts updates.
303+
304+
#### Bricks Used
305+
306+
- **web_ui:** For the web interface.
307+
308+
### Person Classifier on Camera
309+
310+
![Person Classifier on Camera](assets/person-classifier-on-camera-hero.png)
311+
312+
The **Person Classifier** example lets you detect people on a live feed from a camera and visualize the model inference result on a user-friendly web interface.
313+
314+
#### Additional Hardware
315+
316+
- USB camera
317+
- USB-C® hub
318+
- External power supply
319+
320+
#### How it Works
321+
322+
- **Video Stream:** Processes frames from a USB camera using the `video_imageclassification` Brick.
323+
- **Web Interface:** Displays the classification results and model controls.
324+
325+
#### Bricks Used
326+
327+
- **web_ui:** For the web interface.
328+
- **video_imageclassification:** For person classification.
61.2 KB
Loading
38.1 KB
Loading
314 KB
Loading
795 KB
Loading
852 KB
Loading
554 KB
Loading
878 KB
Loading
271 KB
Loading
296 KB
Loading

0 commit comments

Comments
 (0)