Სარჩევი:
- ნაბიჯი 1: Processing.serial– ის გამოყენება
- ნაბიჯი 2: გაიგე სერიული კლასი
- ნაბიჯი 3: Arduino სერიული კლასი
- ნაბიჯი 4: შექმენით GUI 7 სეგმენტის კონტროლერი
ვიდეო: პროცესორისა და არდუინოს დაკავშირება და ჩადება 7 სეგმენტი და სერვო GUI კონტროლერი: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
თქვენ მიერ განხორციელებული ზოგიერთი პროექტისათვის საჭიროა 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 არის ნაგულისხმევი)
მნიშვნელოვანი მეთოდები:
- myPort.available () - აბრუნებს ბაიტების რაოდენობას.
- myPort.clear () - ცარიელდება ბუფერი და შლის იქ შენახულ ყველა მონაცემს.
- myPort.read () - აბრუნებს რიცხვს 0 -დან 255 -მდე, შემდეგ ბაიტზე, რომელიც ელოდება ბუფერში.
- myPort.readString () - აბრუნებს ყველა მონაცემს ბუფერიდან როგორც String ან null თუ არაფერია ხელმისაწვდომი.
- myPort.write ("ტესტი") - წერს ბაიტებს, სიმბოლოებს, ინტს, ბაიტებს , სტრიქონებს სერიულ პორტში.
- 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 სეგმენტის კონტროლერი
ფაილები თან ერთვის აქ. შენიშვნა: დამუშავებისათვის ასევე დაგჭირდებათ საკონტროლო p5 ბიბლიოთეკის დაყენება, რომელიც მე გამოვიყენე GUI ინტერაქტიული ღილაკების შესაქმნელად.
ჩამაგრეთ ნომრები
7 სეგმენტი (ანბანის მიხედვით) მიუთითებს გამოსახულებას
a - ციფრული პინი 2
b - ციფრული პინი 3
c - ციფრული პინი 4
d - ციფრული პინი 5
ელექტრონული ციფრული პინი 6
f - ციფრული პინი 7
g - ციფრული პინი 8
dp - ციფრული პინი 9
მთელი შინაარსი და კოდი ასევე ხელმისაწვდომია ჩემს github– ზე აქ
გირჩევთ:
ამოიღეთ სერვო კონტროლერი: 5 ნაბიჯი (სურათებით)
ამოიღეთ სერვო კონტროლერი: სერვო ძრავები დიდი სიამოვნებაა, როდესაც გსურთ მარტივად დააკავშიროთ გადაცემათა კოლოფი მიკრო კონტროლერთან. თუმცა, ხანდახან, გინდა ლამაზი პატარა გადაცემათა კოლოფი და არ გინდა შეწუხდე საკონტროლო სქემით, რომ ის მართო. ასეთ დროს ეს არის
როგორ გავუშვათ თვითმფრინავი Quadcopter Brushless DC Motor გამოყენებით HW30A Brushless Motor სიჩქარის კონტროლერი და სერვო ტესტერი: 3 ნაბიჯი
როგორ გავუშვათ თვითმფრინავი Quadcopter Brushless DC Motor HW30A Brushless Motor სიჩქარის კონტროლერისა და სერვო ტესტერის გამოყენებით: აღწერა: ამ მოწყობილობას ეწოდება Servo Motor Tester, რომლის საშუალებითაც შესაძლებელია სერვო ძრავის გაშვება სერვო ძრავის მარტივი დანამატით და ელექტროენერგიის მიწოდებით. მოწყობილობა ასევე შეიძლება გამოყენებულ იქნას როგორც სიგნალის გენერატორი ელექტრული სიჩქარის კონტროლერისთვის (ESC), შემდეგ შეგიძლიათ
ნაბიჯი სერვო ძრავის სერიული კონტროლით არდუინოს საშუალებით 3D პრინტერის გამოყენებით - Pt4: 8 ნაბიჯი
მოიცავს საფეხურზე მომუშავე ძრავას სერიული კონტროლით Arduino– ს გამოყენებით 3D პრინტერის გამოყენებით - Pt4: Motor Step სერიის ამ მეოთხე ვიდეოში ჩვენ გამოვიყენებთ იმას, რაც ადრე ვისწავლეთ სტეპერ სერვო ძრავის აგება სერიული კომუნიკაციისა და რეალური კონტროლის საშუალებით. პოზიციის უკუკავშირი რეზისტენტული კოდირების გამოყენებით, რომელსაც აკონტროლებს არდუინო
ხმის ჩადება DDR სტილის თამაშში: 6 ნაბიჯი
ხმის ჩადება DDR სტილის თამაშში: ეს გაკვეთილი გასწავლით თუ როგორ გააკეთოთ DDR სტილის თამაში Scratch– ის შიგნით
ჩადება Hackable LED ორნამენტი .: 10 ნაბიჯი
ჩადება Hackable LED ორნამენტი .: გააკეთეთ LED ორნამენტი, რომლის საშუალებითაც შეგიძლიათ შეცვალოთ სხვადასხვა ფერის და ტიპის LED- ები ნებისმიერ დროს, იმისდა მიხედვით, რაც გსურთ. მართლაც დიდი ეფექტისთვის სცადეთ გამოიყენოთ იაფი ფერის შეცვლის LED- ები ebay– დან. ეს პროექტი შეიძლება მუშაობდეს ბატარეაზე ან მაგაზე