Mundarija:

C/C ++ Arduino -da: 4 qadam
C/C ++ Arduino -da: 4 qadam

Video: C/C ++ Arduino -da: 4 qadam

Video: C/C ++ Arduino -da: 4 qadam
Video: Цикл уроков по программированию на C++ для Arduino. Часть 1. 2024, Iyul
Anonim
C/C ++ - Arduino -da: Liboje va objetlar
C/C ++ - Arduino -da: Liboje va objetlar

Arduino va kutubxonalarni kengaytiradigan vaqt. OLED bilan bir qatorda, kitoblarni o'qish uchun qo'shimcha funktsiyalar mavjud. 3 ta kutubxona, raqamli I2C -ni, OLED -ni, shuningdek, OLED -ni ishlatishni ham o'z ichiga oladi.

Umumiy ma'lumotlarga ko'ra, siz OLED -ni boshqarishingiz mumkin. C ++ (C orientado a objetos) ni tanlang, bu o'zgarmaydigan o'zgaruvchan (aniqlanmagan) va boshqa funktsiyalarni o'z ichiga oladi. Usandolo quadará más claro.

Arduino IDE va Arduino -ni o'z ichiga olgan kitoblarni o'z ichiga oladi. Qachonki, bu erda siz o'zingizning xohishingizni bilasizmi yoki yo'qmi?

#ni qo'shing <nombreLibreria.h>

Esto lo veremos en detalle en este ko‘rsatmali

1 -qadam: Materiallar

Materiallar
Materiallar
Materiallar
Materiallar

Los materiallarning o'g'li:

  1. Arduino UNO
  2. Pantalla OLED (Kosta -Rikada)
  3. Kabellar
  4. Brearboard

2 -qadam: koneksionlar

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

El OLED displeyi conecta como se indica en las fotos:

  1. OLED vcc - Arduino 3.3V (hech qanday muammo yo'q)
  2. OLED gnd - Arduino GND
  3. OLED - Arduino GND
  4. OLED - Arduino pin 4
  5. OLED c/s - Arduino GND
  6. OLED sda - Arduino SDA (A4 pinli, SDA simi)
  7. OLED scl - Arduino SCL (A5 pinli, SCL pinli)

Aloqa quvvati 3,3 voltni tashkil qiladi. OLED -ni yoqib qo'ymoqchi bo'lmaguningizcha, bu hech qanday muhim ahamiyatga ega emas.

3 -qadam: Codigo Y Uso De Librerías

Codigo Y Uso De Librerías
Codigo Y Uso De Librerías

Kutubxona kutubxonalari

Bu kitoblarni o'z ichiga oladi. Fotosuratlar, rasmlar va kutubxonalar bir vaqtning o'zida tasvirlangan. Bu 3 ta kutubxona kitobi 4 va 6:

#qo'shing

#qo'shing

#qo'shing

Wire.h, kutubxonasi, hech bo'lmaganda, Arduino IDE -ni o'chirib tashlamoqchi emas. Adafruit_GFX.h va Adafruit_SSD1306.h, deb yozish mumkinki, bu o'rnatish. Adafruit GFX va Adafruit SDD1306 -ni yuklab oling va yuklab oling.

Libreria Wire.h

I2C kommunikatsiyalari uchun ruxsat berilgan. I2C, inter-integratsiyalashgan aloqa, raqamli aloqa uchun "master" va "raqamli aloqa" raqamli formulalar yordamida amalga oshiriladi. Hamma narsa SDA va SCL -ni OLED -ga ulashda yordam beradi. Bu I2C uchun eng muhim shartlardan biridir. Qachonki vazifalar kutubxonaga to'g'ri keladi.

Ozodlik kitobi Adafruit_SDD1306.h

OLED va Arduino -ni o'qish mumkin bo'lgan vaqt va xizmatlar. Qolaversa, SDD1306 -ni ishlatib bo'lmaydigan bo'lsa, siz bu ma'lumotni ishlatishingiz mumkin.

Ozodlik Adafruit_GFX.h

Bu erda OLED -dan foydalanish mumkin emas, balki har qanday ma'lumotni olish mumkin emas. Oxir -oqibat, ko'rsatmalarni o'qib bo'lmaganda, OLED -ni o'zgartirish mumkin emas.

Ob'ektni o'rnatish

Deklaratsiyani "kitoblar" va "SDD1306" formatida "displeyda" yozib qo'ying. Deklaratsiyani o'chirib tashlang, keyin uni o'chiring, 4 -bandni tanlang:

SSD1306 displeyi (4);

Bu erda SSD1306, shuningdek, bir xil vazifalarni bajaradi, shuning uchun siz ularni aniqlab olishingiz mumkin. 13 yoshdan 14 yoshgacha, display.begin (SSD1306_SWITCHCAPVCC, 0x3c); display.clearDisplay ();

"SSD1306_SWITCHCAPVCC" va "0x3c" formatidagi OLED modullari (OLED -ni tanlashda), bu sizning xohishingizga ko'ra, juda ko'p muammolarni hal qiladi. Ko'rgazmali displey.clearDisplay (), bu sizning xohishingizga mos keladi.

Dibujando algo

O'n sakkizinchi bo'limda "aylananing o'lchami" ni o'zgartirib bo'lmaganda, 1 -da, int CircleSize = 1;

Qachonki, bu juda ko'p vaqtni oladi.

De las líneas 19 a 22, en de sección loop, a que hacemos es dibujar un círculo de color blanco (WHITE) en la posición x = 62 y y = 32, es decir, en la mitad de la pantalla, con radio roundSize:

display.drawCircle (64, 32, CircleSize, WHITE); display.display ();

Displeyni ko'rsatuvchi ekran.display () mana bu ishni bajarishga yordam beradi.

Ro'yxatdan o'tish doirasi hajmi 2 marta o'chiriladi:

CircleSize+= 2;

Siz "+=" ni yozib qo'ygansiz, lekin siz buni yozib qo'ygansiz, CircleSize = aylanaSize + 2;

Bu aniq emas.

Y esos es todo.

4 -qadam: Funcionando Y Adicionales

Image
Image

Arduino va ro'yxatning eng muhim qismi. Bu radioeshittirishlar orqali amalga oshiriladi.

Ozodlik Adafruit_GFX.h

Kutubxonalar kitoblar ro'yxatiga kirgizib bo'lmaguncha, biz ham buni bilib olamiz. Adafruit, explica algunas de sus funciones. Menejerlar tomonidan amalga oshirilgan chora -tadbirlar:

  1. drawLine (), ruxsat berish, chizish chizish (0, 0, 10, 10)
  2. drawRect (), to'g'ri chiziqlar. p.e. drawRect (10, 15, 10, 10, oq), x = 10 y y = 15, hammasi 10 y rang blanco
  3. fillRect (). Old tomondan hamma narsa to'g'ri bo'ladi
  4. drawCircle (). dibuja un círculo, como en el código que estamos utilizando. fillCircle (), bu erda hamma narsa noto'g'ri
  5. drawTrangle (). Qishloq xo'jaliklari, shuningdek, eng yaxshi kiyimlardan biri.
  6. Yozuvlar, har xil turdagi komandolar. SetCursor () ni yozib oling va uni chop eting ().

Umumiy vazifalarni bajarish uchun, biz siz bilan bog'lanamiz.