26 sij Ispis položaja senzora na OLED ekran
Zadatak
Na Arduino MKR1000 shield spojite senzor položaja (akcelerometar) i easyC OLED ekran. Izradite program kojim se na easyC OLED ekranu ispisuju izmjerene vrijednosti položaja akcelerometra (x, y i z os).
Kako bi uspješno napravili program, potrebno je u Library Manager-u (Sketch -> Include Library -> Manage Libraries) instalirati dvije biblioteke:
- Adafruit_GFX.h
- Adafruit_SSD1306.h
Prikaz spajanja
Senzor položaja spojite na shield tako da os X spojite na izvod A0, os Y na izvod A1 i os Z na izvod A2.
EasyC OLED ekran spojite na I2C priključak.
Arduino kod
#include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // sirina OLED ekrana u pikselima #define SCREEN_HEIGHT 64 // visina OLED ekrana u pikselima // Deklariranje SSD1306 ekrana spojenog na I2C sabirnicu (SDA i SCL izvodi) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); int x, y, z; void setup() { Serial.begin(115200); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Adresa OLED ekrana (0x3C) Serial.println(F("SSD1306 allocation failed")); for(;;); } delay(2000); display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 10); // Display static text display.println("Hello, world!"); display.display(); delay(2000); } void loop() { x = analogRead(A0); // Očitaj vrijednost osi X y = analogRead(A1); // Očitaj vrijednost osi Y z = analogRead(A2); // Očitaj vrijednost osi Z display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 10); display.print("X: "); display.println(x); display.setCursor(0, 20); display.print("Y: "); display.println(y); display.setCursor(0, 30); display.print("Z: "); display.println(z); display.display(); delay(500); }