Агуулгын хүснэгт:

Боловсруулалт ба Arduino -г холбож, 7 сегмент ба Servo GUI хянагч хий: 4 алхам
Боловсруулалт ба Arduino -г холбож, 7 сегмент ба Servo GUI хянагч хий: 4 алхам

Видео: Боловсруулалт ба Arduino -г холбож, 7 сегмент ба Servo GUI хянагч хий: 4 алхам

Видео: Боловсруулалт ба Arduino -г холбож, 7 сегмент ба Servo GUI хянагч хий: 4 алхам
Видео: LDmicro 10: Incubator Temperature Regulator (Microcontroller PLC Ladder Programming with LDmicro) 2024, Арваннэгдүгээр
Anonim
Боловсруулалт ба Arduino -г холбож, 7 сегмент ба Servo GUI хянагч хий
Боловсруулалт ба Arduino -г холбож, 7 сегмент ба Servo GUI хянагч хий

Зарим төслүүдийн хувьд та Arduino -ийг ашиглах хэрэгтэй, учир нь энэ нь загварчлах хялбар платформыг өгдөг боловч Arduino -ийн цуваа дэлгэц дээр график дүрслэх нь нэлээд удаан хугацаа шаардагдах бөгөөд үүнийг хийхэд хэцүү байдаг. Та графикийг Arduino Serial Monitor дээр харуулах боломжтой боловч графикийг харуулах цорын ганц зүйл биш юм. Слайдер, товчлуур, 2D, 3D, PDF, эсвэл SVG гаралт бүхий програмууд гэх мэт бүх интерактив объектууд ба та хүүхэлдэйн киног хялбархан үүсгэх боломжтой. Боловсруулах үндсэн програмчлалын горим бол Java боловч та үүнийг Android, p5.js, REPL, CoffeeScript, JavaScript -ээр сольж болно. Энэхүү зааварт бид Java програмчлалын горимыг ашиглах болно.

Бүх агуулга, кодыг энд байгаа миний github дээрээс авах боломжтой.

Алхам 1: Processing.serial -ийг ашиглах

Код боловсруулж байна

Эхний хоёр мөр код байх болно

импорт боловсруулах.сериал.*; Цуваа myPort;

Энд эхний мөрөнд бид номын санг импортлож байна - боловсруулж, хоёр дахь мөрөнд myPort нэртэй Цуваа ангийн объектыг үүсгэж байна, та таниулагчийг нэрлэх дүрмийг дагаж хүссэн зүйлээ нэрлэж болно.

Боловсруулах явцад бидэнд void setup () ба void draw () байдаг бөгөөд энд void нь функцын буцах төрөл бөгөөд та үүнийг int setup () болон int draw () эсвэл өөр дуртай өгөгдлийн төрөл болгон өөрчилж болно, гэхдээ та үүнийг буцааж өгөх шаардлагатай болно. функцүүдийн өмнө ашигладаг өгөгдлийн төрөлтэй ижил өгөгдлийн төрөлтэй утга.

setup () дээр бид нэг удаа гүйцэтгэх ёстой мэдэгдлүүдийг бичдэг бол draw () дээр бид хэд хэдэн удаа гүйцэтгэх шаардлагатай мэдэгдлүүдийг бичдэг. Дээр дурдсан хоёр кодын мөрийг void setup () дээр бичих ёстой, учир нь тэдгээр нь дэлхийн хэмжээнд нэвтрэх эрхтэй байх ёстой.

Void setup () дээр бид myPort объектыг эхлүүлэх болно.

хүчингүй тохиргоо () {

хэмжээ (800, 800);

myPort = шинэ цуваа (энэ нь "COM18", 9600);

}

Шугамын хэмжээ (800, 800); Дэлгэцийн хэмжээг 800 пикселээс 800 пиксел хүртэл тодорхойлно.

Хоёрдахь мөрөнд байгаа шинэ түлхүүр үгийг санах ойд байгаа объектод зай гаргахад ашигладаг бөгөөд энэ аргумент нь одоогийн объектыг хэлдэг лавлагаа хувьсагч юм. COM18 аргумент нь Arduino -тай холбогдсон порт бөгөөд бидэнд өгөгдлийг цуваа интерфейсээр дамжуулах тул бидэнд хэрэгтэй байна. Таны хувьд 18 тоо өөр байж болно, та үүнийг Arduino IDE -ийн Багаж хэрэгсэл> Портоос олж болно, 9600 бол үүнийг Arduino болон Боловсруулалтын аль алинд нь өөрчилж болно.

Алхам 2: Цувралын ангиллыг ойлгох

Цувралын бүтээгч

Цуваа (эцэг эх, портНэр, baudRate, parity, dataBits, stopBits)

Аргумент:

эцэг эх: ихэвчлэн "энэ" -г ашигладаг

baudRate (int): 9600 нь анхдагч юм

portName (String): портын нэр (COM1 нь анхдагчаар)

parity (char): 'N' нь хэний ч хувьд, 'E' нь сондгойгийн хувьд 'O', 'M' тэмдэгийн хувьд 'S' нь орон зайны хувьд ('N' нь анхдагч утга юм)

dataBits (int): 8 нь анхдагч юм

stopBits (float): 1.0, 1.5 эсвэл 2.0 (1.0 нь анхдагчаар)

Чухал аргууд:

  1. myPort.available () - боломжтой байтын тоог буцаана.
  2. myPort.clear () - буферийг хоослон, тэнд хадгалагдсан бүх өгөгдлийг устгадаг.
  3. myPort.read () - Буфер дотор хүлээж буй дараагийн байтын хувьд 0 -ээс 255 хүртэлх тоог буцаана.
  4. myPort.readString () - Буферээс авсан бүх өгөгдлийг String эсвэл null хэлбэрээр буцаана.
  5. myPort.write ("тест") - Цуваа порт руу байт, тэмдэгт, инт, байт , мөрүүдийг бичдэг.
  6. myPort.stop () - Порт дээрх өгөгдөл дамжуулалтыг зогсооно.

Алхам 3: Arduino цуваа анги

Та үүнийг ашиглахаасаа өмнө Arduino -д цуваа анги оруулах шаардлагагүй.

Arduino -д setup () ба loop () гэж нэрлэгддэг 2 функц байдаг бөгөөд уг тохиргоо нь зөвхөн нэг удаа ажилладаг боловч давталт нь олон удаа ажилладаг. Setup () дээр бид бичих хэрэгтэй бөгөөд цуваа холболтыг эхлүүлэхийн тулд begin () аргыг ашиглана. Arduino -д боловсруулалтаас ялгаатай нь Arduino дээр ноорог байршуулахдаа портыг аль хэдийн зааж өгсөн тул start () аргын аргументын хувьд портыг дурдах шаардлагагүй болно.

Тиймээс setup () дараах байдлаар харагдах болно.

хүчингүй тохиргоо () {

Цуваа эхлэх (9600); // цуваа холболтыг эхлүүлэх

}

Энд 9600 нь боловсруулалтын файл дээр бас дурдсан байсан дамжуулах хурдыг тодорхойлдог. Зөв зохистой харилцахын тулд дамжуулалтын хурд хоёулаа тэнцүү байх ёстой, эс тэгвээс та цуваа гаралтыг утгагүй зүйл гэж харж болно.

Одоо loop () хэсгийг үзье. Кодын энэ хэсэг хэд хэдэн удаа ажилладаг. Хэрэв бид зарим өгөгдлийг портоор уншихыг хүсвэл Serial.read () аргыг ашиглах болно. Хэрэв өгөгдөл байхгүй бол энэ функц null буцаана, тиймээс бид Serial урсгалд байгаа зарим өгөгдөл байгаа үед л энэ аргыг дуудах болно.

Зарим өгөгдөл байгаа эсэхийг шалгахын тулд бид Serial.available () аргыг ашиглах болно. Хэрэв энэ нь 0 -ээс их утгыг буцааж өгвөл зарим өгөгдөл боломжтой болно.

Тиймээс loop () хэсэг дараах байдлаар харагдах болно.

void loop () {

if (Serial.available ()> 0) {// хэрэв цуваа порт дээр зарим өгөгдөл байгаа бол

char төлөв = Serial.read (); // утгыг уншина уу

// if мэдэгдэл эсвэл кейсийг солих

}

}

Одоо хэрэв бид шат эсвэл олон боломжит үр дүн байгаа бол switch case -ийг хувьсах төлөвт ашиглаж болно.

Алхам 4: GUI 7 сегментийн хянагч бүтээх

GUI 7 сегментийн хянагч бүтээх
GUI 7 сегментийн хянагч бүтээх
GUI 7 сегментийн хянагч бүтээх
GUI 7 сегментийн хянагч бүтээх
GUI 7 сегментийн хянагч бүтээх
GUI 7 сегментийн хянагч бүтээх

Файлуудыг энд хавсаргасан болно. Тэмдэглэл: Боловсруулахын тулд та GUI интерактив товчлууруудыг үүсгэхэд ашиглаж байсан p5 хяналтын номын санг суулгах хэрэгтэй болно.

Тоонуудыг зүү

7 сегмент (цагаан толгойн үсгийн дарааллаар) зургийг үзнэ үү

a - дижитал зүү 2

b - дижитал зүү 3

c - дижитал зүү 4

d - дижитал зүү 5

e - дижитал зүү 6

f - дижитал зүү 7

g - дижитал зүү 8

dp - дижитал зүү 9

Бүх агуулга, кодыг энд байгаа миний github дээрээс авах боломжтой

Зөвлөмж болгож буй: