Mundarija:

Qayta ishlash va Arduino -ni ulash va 7 segment va Servo GUI boshqaruvchisini yaratish: 4 qadam
Qayta ishlash va Arduino -ni ulash va 7 segment va Servo GUI boshqaruvchisini yaratish: 4 qadam

Video: Qayta ishlash va Arduino -ni ulash va 7 segment va Servo GUI boshqaruvchisini yaratish: 4 qadam

Video: Qayta ishlash va Arduino -ni ulash va 7 segment va Servo GUI boshqaruvchisini yaratish: 4 qadam
Video: Nodirabegim Kenjayeva to'yda nimalar bo'lyapti ?#toylar #киз #узбекистонда #запал #zapallar 2024, Noyabr
Anonim
Qayta ishlash va Arduino -ni ulash va 7 -segment va Servo GUI boshqaruvchisini yaratish
Qayta ishlash va Arduino -ni ulash va 7 -segment va Servo GUI boshqaruvchisini yaratish

Ba'zi loyihalar uchun siz Arduino -dan foydalanishingiz kerak, chunki u prototiplashning oson platformasini taqdim etadi, lekin Arduino -ning ketma -ket monitorida grafikani ko'rsatish ancha uzoq davom etishi mumkin va hatto bajarilishi ham qiyin. Siz grafiklarni Arduino Serial Monitor -da ko'rsatishingiz mumkin, lekin grafikalar sizga kerak bo'lishi mumkin bo'lgan yagona narsa emas. Barcha interaktiv ob'ektlar, masalan, slayderlar, tugmalar, 2D, 3D, PDF yoki SVG chiqadigan dasturlar, shuningdek, siz osongina animatsiyalarni yaratishingiz mumkin. Qayta ishlash uchun standart dasturlash rejimi - bu Java, lekin siz uni Android, p5.js, REPL, CoffeeScript va JavaScript -ga o'zgartirishingiz mumkin. Ushbu yo'riqnomada biz Java dasturlash rejimidan foydalanamiz.

Barcha kontent va kod bu erda mening github -da mavjud.

1 -qadam: Processing.serial -dan foydalanish

Kodni qayta ishlash

Kodning birinchi ikki qatori bo'ladi

importni qayta ishlash.serial.*; Seriyali myPort;

Bu erda biz birinchi satrda kutubxonani import qilamiz - ishlov beramiz, ikkinchi qatorda esa myPort nomli Serial sinfining ob'ektini yaratamiz, siz xohlagan narsaga nom berishingiz mumkin.

Qayta ishlashda bizda void setup () va void draw () mavjud, bu erda void - bu funktsiyani qaytarish turi, uni int setup () va int draw () yoki sizga yoqadigan boshqa ma'lumotlar turiga o'zgartirishingiz mumkin, lekin siz funktsiyalardan oldin foydalanadigan ma'lumotlar turi bilan bir xil ma'lumot turiga ega bo'lgan qiymat.

setup () da biz bir marta bajarishimiz kerak bo'lgan bayonotlarni yozamiz, draw () da biz bir necha marta bajarishimiz kerak bo'lgan bayonotlarni yozamiz. Yuqorida aytib o'tilgan ikkita kod satri void setup () ustiga yozilishi kerak, chunki ular global kirish huquqiga ega bo'lishi kerak.

Void setup () da biz myPort ob'ektini ishga tushiramiz.

bo'sh o'rnatish () {

hajmi (800, 800);

myPort = yangi seriya (bu, "COM18", 9600);

}

Chiziq o'lchami (800, 800); ekranning o'lchamini aniqlaydi - 800 piksel va 800 piksel.

Ikkinchi satrdagi yangi kalit so'z xotiradagi ob'ekt uchun joy ajratish uchun ishlatiladi, bu argument joriy ob'ektga tegishli mos yozuvlar o'zgaruvchisidir. COM18 argumenti Arduino ulangan portidir, chunki bu bizga ketma -ket interfeys orqali ma'lumotlarni uzatish imkonini beradi. Sizning holatingizda 18 raqami boshqacha bo'lishi mumkin, uni Arduino IDE -dagi "Asboblar> port" bo'limida topishingiz mumkin va 9600 - bu tezlikni Arduino -da ham, qayta ishlashda ham o'zgartirish mumkin.

2 -qadam: Seriya sinfini tushuning

Seriya uchun konstruktor

Seriya (ota -ona, portName, baudRate, parite, dataBits, stopBits)

Argumentlar:

ota -ona: odatda "bu" dan foydalaning

baudRate (int): 9600 standart hisoblanadi

portName (String): port nomi (sukut bo'yicha COM1)

parite (char): hech kim uchun "N", juftlik uchun "E", toq uchun "O", belgi uchun "M", bo'shliq uchun "S" (standart "N")

dataBits (int): 8 standart hisoblanadi

stopBits (float): 1.0, 1.5 yoki 2.0 (standart - 1.0)

Muhim usullar:

  1. myPort.available () - mavjud baytlar sonini qaytaradi.
  2. myPort.clear () - buferni bo'shatadi va u erda saqlangan barcha ma'lumotlarni olib tashlaydi.
  3. myPort.read () - buferda kutayotgan keyingi bayt uchun 0 dan 255 gacha bo'lgan sonni qaytaradi.
  4. myPort.readString () - buferdagi barcha ma'lumotlarni String yoki null sifatida qaytaradi, agar hech narsa bo'lmasa.
  5. myPort.write ("test") - ketma -ket portga baytlar, belgilar, ints, baytlar , satrlarni yozadi.
  6. myPort.stop () - portdagi ma'lumotlar almashinuvini to'xtatadi.

3 -qadam: Arduino seriyali klassi

Foydalanishdan oldin Arduino -da Serial sinfini import qilishning hojati yo'q.

Arduino -da setup () va loop () deb nomlangan ikkita funksiya bor, faqat bir marta ishlaydi, lekin tsikl bir necha marta ishlaydi. Setup () da biz ketma -ket aloqani boshlash uchun begin () usulidan foydalanishimiz kerak. Arduino -da, ishlov berishdan farqli o'laroq, portni start () usuli argumentlari sifatida eslatib o'tishning hojati yo'q, chunki biz eskizni Arduino -ga yuklashda allaqachon ko'rsatganmiz.

Shunday qilib, setup () quyidagicha bo'ladi:

bo'sh o'rnatish () {

Serial.begin (9600); // ketma -ket aloqani boshlang

}

9600 bu erda biz ishlov berish faylida aytib o'tgan tezlikni ko'rsatadi. To'g'ri muloqot qilish uchun, ikkala uzatma tezligi teng bo'lishi kerak, yoki ketma -ket chiqishni noaniq narsa sifatida ko'rishingiz mumkin.

Endi loop () qismini ko'rib chiqaylik. Kodning bu qismi bir necha marta ishlaydi. Agar biz ba'zi ma'lumotlarni port orqali o'qishni xohlasak, Serial.read () usulidan foydalanamiz. Agar hech qanday ma'lumot yo'q bo'lsa, bu funksiya nolni qaytaradi, shuning uchun biz bu usulni faqat ketma -ket oqimda mavjud bo'lganida chaqiramiz.

Ma'lumotlar mavjudligini tekshirish uchun biz Serial.available () usulidan foydalanamiz. Agar u 0 dan katta qiymatni qaytarsa - ba'zi ma'lumotlar mavjud.

Shunday qilib, loop () qismi shunday bo'ladi:

void loop () {

if (Serial.available ()> 0) {// agar ba'zi ma'lumotlar ketma -ket portda mavjud bo'lsa

char holati = Serial.read (); // qiymatni o'qing

// if iboralari yoki katta harfni almashtirish

}

}

Endi biz zinapoyadan foydalanishimiz mumkin yoki natijalar juda ko'p bo'lsa, biz o'zgarmaydigan holat uchun kalit korpusidan ham foydalanishimiz mumkin.

4 -qadam: GUI 7 segment boshqaruvchisini yarating

GUI 7 segment boshqaruvchisini yarating
GUI 7 segment boshqaruvchisini yarating
GUI 7 segment boshqaruvchisini yarating
GUI 7 segment boshqaruvchisini yarating
GUI 7 segment boshqaruvchisini yarating
GUI 7 segment boshqaruvchisini yarating

Fayllar bu erga biriktirilgan. Eslatma: Qayta ishlash uchun men G5I interaktiv tugmalarini yaratish uchun ishlatgan p5 boshqaruv p kutubxonasini o'rnatishingiz kerak bo'ladi.

Pin raqamlari

7 segment (alifbo tartibida) rasmga havola qiladi

a - raqamli pin 2

b - raqamli pin 3

c - raqamli pin 4

d - raqamli pin 5

elektron raqamli pin 6

f - raqamli pin 7

g - raqamli pin 8

dp - raqamli pin 9

Barcha kontent va kod bu erda mening github -da mavjud

Tavsiya: