Სარჩევი:

პროცესორისა და არდუინოს დაკავშირება და ჩადება 7 სეგმენტი და სერვო GUI კონტროლერი: 4 ნაბიჯი
პროცესორისა და არდუინოს დაკავშირება და ჩადება 7 სეგმენტი და სერვო GUI კონტროლერი: 4 ნაბიჯი

ვიდეო: პროცესორისა და არდუინოს დაკავშირება და ჩადება 7 სეგმენტი და სერვო GUI კონტროლერი: 4 ნაბიჯი

ვიდეო: პროცესორისა და არდუინოს დაკავშირება და ჩადება 7 სეგმენტი და სერვო GUI კონტროლერი: 4 ნაბიჯი
ვიდეო: Arduino, Bluetooth Receiver, Remote Power Dimmer, HC-05 - არდუინო ბლუთუზი და დისტანციური კონტროლი 2024, ნოემბერი
Anonim
დაკავშირება დამუშავება და Arduino და ჩადება 7 სეგმენტი და Servo GUI კონტროლერი
დაკავშირება დამუშავება და Arduino და ჩადება 7 სეგმენტი და Servo GUI კონტროლერი

თქვენ მიერ განხორციელებული ზოგიერთი პროექტისათვის საჭიროა Arduino- ს გამოყენება, რადგან ის უზრუნველყოფს პროტოტიპირების მარტივ პლატფორმას, მაგრამ Arduino– ს სერიულ მონიტორზე გრაფიკის ჩვენებას შეიძლება საკმაოდ დიდი დრო დასჭირდეს და ამის გაკეთებაც კი ძნელია. თქვენ შეგიძლიათ აჩვენოთ გრაფიკები Arduino სერიულ მონიტორზე, მაგრამ გრაფიკები არ არის ერთადერთი, რაც შეიძლება დაგჭირდეთ ჩვენება. ყველა ინტერაქტიული ობიექტი, როგორიცაა სლაიდერი, ღილაკები, პროგრამები 2D, 3D, PDF, ან SVG გამომავალით და ასევე შეგიძლიათ მარტივად შექმნათ ანიმაციები. პროგრამირების ნაგულისხმევი რეჟიმი არის ჯავა, მაგრამ შეგიძლიათ შეცვალოთ იგი Android, p5.js, REPL, CoffeeScript და JavaScript. ამ ინსტრუქციაში ჩვენ გამოვიყენებთ Java პროგრამირების რეჟიმს.

მთელი შინაარსი და კოდი ასევე ხელმისაწვდომია ჩემს github– ზე აქ.

ნაბიჯი 1: Processing.serial– ის გამოყენება

დამუშავების კოდი

კოდის პირველი ორი ხაზი იქნება

იმპორტის დამუშავება. სერიალი.*; სერიული myPort;

აქ პირველ სტრიქონში ჩვენ ვატარებთ ბიბლიოთეკის იმპორტს - დამუშავებას და მეორე სტრიქონში ჩვენ ვქმნით კლასის ობიექტს სერიული სახელი myPort, თქვენ შეგიძლიათ დაასახელოთ ის რაც მოგწონთ იდენტიფიკატორის დასახელების წესების დაცვით.

დამუშავებისას ჩვენ გვაქვს void setup () და void draw (), სადაც void არის ფუნქციის დაბრუნების ტიპი, თქვენ ასევე შეგიძლიათ შეცვალოთ იგი int setup () და int draw () ან სხვა მონაცემების ტიპი, რომელიც მოგწონთ, მაგრამ თქვენ დაგჭირდებათ დაბრუნება მნიშვნელობა, რომელსაც აქვს იგივე მონაცემთა ტიპი, როგორც მონაცემთა ტიპი, რომელსაც იყენებთ ფუნქციებამდე.

კონფიგურაციაში () ჩვენ ვწერთ იმ დებულებებს, რომლებიც უნდა შევასრულოთ ერთხელ, ხოლო გათამაშებაში () ჩვენ ვწერთ დებულებებს, რომლებიც გვჭირდება რამდენჯერმე. ზემოთ ნახსენები კოდის ორი ხაზი უნდა დაიწეროს void setup () ზემოთ, რადგან მათ უნდა ჰქონდეთ გლობალური წვდომა.

Void კონფიგურაციაში () ჩვენ ვიწყებთ ინიციალიზაციას ობიექტის myPort.

void setup () {

ზომა (800, 800);

myPort = ახალი სერიალი (ეს, "COM18", 9600);

}

ხაზის ზომა (800, 800); განსაზღვრავს ეკრანის ზომას, რომელიც არის 800 პიქსელი 800 პიქსელით.

მეორე სტრიქონის ახალი სიტყვა გამოიყენება მეხსიერებაში ობიექტისთვის ადგილის დასატოვებლად, არგუმენტი ეს არის საცნობარო ცვლადი, რომელიც ეხება მიმდინარე ობიექტს. არგუმენტი COM18 არის Arduino პორტი დაკავშირებული, ჩვენ გვჭირდება ეს, რადგან ჩვენ გადავიყვანთ მონაცემებს სერიული ინტერფეისის საშუალებით. ნომერი 18 შეიძლება განსხვავდებოდეს თქვენს შემთხვევაში, თქვენ შეგიძლიათ იპოვოთ ის Tools> Port Arduino IDE– ში და 9600 არის baud განაკვეთი, რომლის შეცვლა შეგიძლიათ როგორც Arduino– ში, ასევე დამუშავებაში.

ნაბიჯი 2: გაიგე სერიული კლასი

კონსტრუქტორი სერიალისთვის

სერიული (მშობელი, პორტის სახელი, baudRate, პარიტეტი, dataBits, stopBits)

არგუმენტები:

მშობელი: ჩვეულებრივ გამოიყენეთ "ეს"

baudRate (int): 9600 არის ნაგულისხმევი

portName (სიმებიანი): პორტის სახელი (COM1 არის ნაგულისხმევი)

პარიტეტი (სიმბოლო): '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– ში არის 2 ფუნქცია სახელწოდებით setup () და loop (), კონფიგურაცია მუშაობს მხოლოდ ერთხელ, მაგრამ მარყუჟი მრავალჯერ მუშაობს. კონფიგურაციაში () ჩვენ უნდა დავწეროთ სერიის კომუნიკაციის დასაწყებად გამოიყენეთ () მეთოდი. არდუინოში დამუშავებისგან განსხვავებით ჩვენ არ გვჭირდება პორტის აღნიშვნა, როგორც begin () მეთოდის არგუმენტები, რადგან ჩვენ უკვე ვნიშნავთ პორტს არდუინოში ესკიზის ატვირთვისას.

ასე რომ, კონფიგურაცია () ასე გამოიყურება:

void setup () {

სერიული.დაწყება (9600); // სერიული კომუნიკაციის დაწყება

}

9600 აქ განსაზღვრავს ბოდის მაჩვენებელს, რომელიც ჩვენ ასევე აღვნიშნეთ დამუშავების ფაილში. სათანადო კომუნიკაციისთვის ბაუდის ორივე მაჩვენებელი თანაბარი უნდა იყოს, ან სერიული გამომუშავება შეიძლება გიჟურად ნახოთ.

ახლა ვნახოთ მარყუჟის () ნაწილი. კოდის ეს ნაწილი რამდენჯერმე მუშაობს. თუ ჩვენ გვსურს ზოგიერთი მონაცემის წაკითხვა პორტით ჩვენ გამოვიყენებთ Serial.read () მეთოდს. ეს ფუნქცია ბრუნდება null, თუ მონაცემები არ არის ხელმისაწვდომი, ამიტომ ჩვენ ამ მეთოდს დავარქმევთ მხოლოდ მაშინ, როდესაც ჩვენ გვაქვს გარკვეული მონაცემები სერიულ ნაკადში.

იმის შესამოწმებლად, არის თუ არა მონაცემები ხელმისაწვდომი, ჩვენ გამოვიყენებთ Serial.available () მეთოდს. თუ ის დააბრუნებს 0 -ზე მეტ მნიშვნელობას - ზოგიერთი მონაცემი ხელმისაწვდომია.

მარყუჟის () ნაწილი ასე გამოიყურება:

ბათილი მარყუჟი () {

if (Serial.available ()> 0) {// თუ ზოგიერთი მონაცემი ხელმისაწვდომია სერიულ პორტში

char state = Serial.read (); // წაიკითხეთ მნიშვნელობა

// თუ განცხადებები ან შეცვალეთ საქმე

}

}

ახლა ჩვენ შეგვიძლია გამოვიყენოთ თუ არა ასვლა ან თუ ბევრი შესაძლო შედეგია, ჩვენ შეგვიძლია გამოვიყენოთ გადამრთველიც ცვლადი მდგომარეობისთვის.

ნაბიჯი 4: შექმენით GUI 7 სეგმენტის კონტროლერი

შექმენით GUI 7 სეგმენტის კონტროლერი
შექმენით GUI 7 სეგმენტის კონტროლერი
შექმენით GUI 7 სეგმენტის კონტროლერი
შექმენით GUI 7 სეგმენტის კონტროლერი
შექმენით GUI 7 სეგმენტის კონტროლერი
შექმენით GUI 7 სეგმენტის კონტროლერი

ფაილები თან ერთვის აქ. შენიშვნა: დამუშავებისათვის ასევე დაგჭირდებათ საკონტროლო p5 ბიბლიოთეკის დაყენება, რომელიც მე გამოვიყენე GUI ინტერაქტიული ღილაკების შესაქმნელად.

ჩამაგრეთ ნომრები

7 სეგმენტი (ანბანის მიხედვით) მიუთითებს გამოსახულებას

a - ციფრული პინი 2

b - ციფრული პინი 3

c - ციფრული პინი 4

d - ციფრული პინი 5

ელექტრონული ციფრული პინი 6

f - ციფრული პინი 7

g - ციფრული პინი 8

dp - ციფრული პინი 9

მთელი შინაარსი და კოდი ასევე ხელმისაწვდომია ჩემს github– ზე აქ

გირჩევთ: