არდუინო იწყება. მარტივი Arduino სქემები დამწყებთათვის

Arduino პლატფორმის ბირთვი არის მიკროკონტროლერის ჩიპი, რომელიც ცნობილია როგორც ATmega328.

ATmega328 ფაქტობრივად არის 8-ბიტიანი კომპიუტერი ყველა თვალსაზრისით: ჩართვის შემდეგ, მისი პროცესორი იტვირთება ბაიტი მოცემული მეხსიერების ადგილიდან და განმარტავს ამას, როგორც ბრძანებას. რა მოხდება შემდეგ დამოკიდებულია ამ ბაიტის მნიშვნელობაზე. მხოლოდ, ჩვენთვის ცნობილი კომპიუტერებისგან განსხვავებით, ATmega328 არ მუშაობს არცერთ ოპერაციულ სისტემაზე: რესურსების გამოყენება პროგრამისტის სრული კონტროლის ქვეშაა. ჩვენ არ შეგვიძლია დავეყრდნოთ ოპერაციულ სისტემას, რომელსაც შეუძლია მეხსიერების ცუდად განაწილება, მისი გადატვირთვა ან გლუვი ავტომატური სისტემისთვის არასასურველი სხვა შედეგები. გარდა ამისა, პროცესორს შეუძლია ერთდროულად იმუშაოს მხოლოდ ერთ დავალებაზე (ალბათ იცით, რომ ყველა პროცესორი მუშაობს ამ გზით, მაგრამ ოპერაციული სისტემა ანაწილებს სხვადასხვა ამოცანების მუშაობის დროს ისე, რომ როგორც ჩანს, თქვენს კომპიუტერში რამდენიმე პროგრამაა. მუშაობენ ერთდროულად).

ახალ Arduino-ს სრულიად ცარიელი მეხსიერება აქვს, შესაბამისად, პროცესორის მიერ დამუშავებულ პირველ ბაიტს აქვს ნულოვანი მნიშვნელობა: „ოპერაცია არ არის“. Arduino-ს გამოყენებამდე უნდა ჩატვირთოთ შესრულებადი პროგრამა მის მეხსიერებაში, ე.ი. ბიტების თანმიმდევრობა, რომელთაგან პირველი ინტერპრეტირებულია როგორც ბრძანება და შესრულებულია. თუ ბრძანებას სჭირდება პარამეტრები, ისინი აღებულია მეხსიერების შემდეგი ბაიტიდან. ბრძანების შესრულების შემდეგ პროცესორი ატვირთავს მიღებულ ბაიტს მეხსიერებაში და განმარტავს მას, როგორც ბრძანებას. თუ Arduino-ს გამორთავთ, მეხსიერება არ წაიშლება. მასში ჩატვირთული ბაიტების თანმიმდევრობა ინახება არასტაბილურ მეხსიერებაში, ასე რომ, როდესაც მას ხელახლა ჩართავთ, პროგრამა თავიდან იწყება.

პროცესორის ოპერაციების სიხშირეს ადგენს 16 MHz საათის გენერატორი. ელექტროენერგიის მიწოდება შესაძლებელია USB კონექტორის საშუალებით. USB დენის გარეშე მუშაობისთვის, Arduino-ს სჭირდება ცალკე ელექტრომომარაგება 7-დან 12 ვ-მდე (ეს ძაბვა ნორმალიზდება საჭირო დონემდე ბორტ რეგულატორის მიერ, ასე რომ თქვენ უბრალოდ გჭირდებათ იაფი კვების წყარო). ბორტზე მომხმარებლისთვის ხელმისაწვდომია ძაბვის ორივე დონე 5 ვ და 3,3 ვ, საიდანაც შესაძლებელია მაქსიმუმ 50 mA დენის შეკუმშვა.

Arduino მეხსიერება შედგება სამი ტიპისგან: ფლეშ მეხსიერება, სადაც ინახება 32 KB პროგრამა; 2 KB შემთხვევითი წვდომის მეხსიერება (SRAM), სადაც პროცესორი ინახავს და გადაწერს პროგრამაში გამოყენებულ ცვლადებს; და მხოლოდ წაკითხვის მეხსიერება (EEP-ROM) 1 KB, სადაც პროგრამისტს შეუძლია შეინახოს მონაცემები, რომლებიც უნდა დარჩეს კონტროლერის გადატვირთვისას (როგორც ფლეშ მეხსიერება, სადაც პროგრამა ინახება). თანამედროვე კომპიუტერებთან შედარებით, რომლებიც ამუშავებენ სულ მცირე რამდენიმე გიგაბაიტს, 35 კბაიტი სასაცილოდ გამოიყურება, მაგრამ სინამდვილეში ეს საკმარისია უმეტესი მიზნებისთვის. ოპერაციული სისტემის არარსებობის გამო, მეხსიერების გამოყენება მთლიანად თქვენი პასუხისმგებლობაა: თუ მეხსიერების გადინება მოხდა ან მეხსიერების არარსებულ მდებარეობაზე წვდომა ხდება, თქვენი პროგრამა შეიძლება არაპროგნოზირებად მოიქცეს და გამართვის დროს ამის თვალყურის დევნება შეიძლება საკმაოდ რთული იყოს. თქვენ ყოველთვის უნდა გქონდეთ კონტროლის ქვეშ მყოფი ცვლადების რაოდენობა თქვენს პროგრამაში.

ATmega328 პროცესორი დაკავშირებულია 14 დისკრეტულ I/O პორტთან (ნომრები 0-დან 13-მდე), 6 ანალოგურ შესასვლელთან და USB პორტთან. დისკრეტული შეყვანა/გამომავალი არის ელექტრული კავშირი, რომელსაც შეიძლება ჰქონდეს ორი ლოგიკური მდგომარეობა: 1 და 0, ან TRUE და FALSE, ან, როგორც Arduino სინტაქსში, LOW და HIGH. თუ სიგნალი დაბალია, შესაბამის პინს აქვს ნულოვანი პოტენციალი 0 V - ანუ დაკავშირებულია საერთო მავთულთან. თუ სიგნალი მაღალია, მაშინ ძაბვის დონე ამ პინსა და მიწას შორის არის 5 ვ.

0 და 1 ქინძისთავები გამოიყენება მონაცემთა სერიული მიღებისა და გადაცემისთვის: მათი მეშვეობით Arduino დაფას შეუძლია დაუკავშირდეს მასზე დამაგრებულ მოდულებთან (ფარებთან) სერიული პროტოკოლის გამოყენებით. სერიული პროტოკოლები არის საკომუნიკაციო პროტოკოლები, რომლებშიც თითოეული ბიტი რიგრიგობით გადაიცემა/მიიღება ერთმანეთის მიყოლებით. 2 და 3 ქინძისთავები ასევე შეიძლება გამოყენებულ იქნას როგორც შეფერხებები. შეფერხება არის ელექტრული სიგნალი დისკრეტულ შეყვანაზე, რომელიც წყვეტს მიმდინარე პროცესორის პროგრამას, როდესაც ხდება მითითებული ლოგიკური მდგომარეობა. შეფერხებები ასევე არსებობს ჩვეულებრივ კომპიუტერულ პროცესორებში. შეფერხების დადგომის შემდეგ, პროცესორი ინახავს თავის მდგომარეობას მეხსიერებაში და აყოვნებს პროგრამის შესრულებას, გადადის შეფერხების დამმუშავებლის შესრულებაზე: პროგრამის კოდის მოკლე ნაწილი, რომელიც აუცილებელია შეფერხების სერვისისთვის. დასრულების შემდეგ, პროცესორი განაახლებს სტატუსს, რომელიც ჰქონდა შეფერხების დადგომამდე და განაახლებს პროგრამის შესრულებას.

ქინძისთავები 3, 5, 6, 9, 10 და 11 შეიძლება გამოყენებულ იქნას PWM (პულსის სიგანის მოდულაცია) გამოსავალებად და აქვთ გარკვეული ანალოგური პარამეტრები. შესაბამისად, მათი მეხსიერების უჯრედები შეიცავს მნიშვნელობებს 0-დან 255-მდე.

ნახ.1 Arduino UNO, როგორ გამოიყურება ზემოდან და ქვემოდან. ყურადღება მიაქციეთ იტალიის რუკას უკანა მხარეს.

პინი 13 ასევე დაკავშირებულია ბორტზე არსებულ LED-თან. როდესაც სიგნალი დაბალია, LED გამორთულია, ხოლო როდესაც სიგნალი მაღალია, LED ანათებს.

ციფრული შეყვანის/გამოსვლების სტანდარტული გამოყენების გარდა, 10, 11, 12 და 13 ქინძისთავები იძლევა გარე პერიფერიულ მოწყობილობებთან კომუნიკაციის შესაძლებლობას.

ანალოგური შეყვანები იარლიყით A0...A5: თითოეულს აქვს ციფრული გარჩევადობა 10 ბიტი,

ანუ, ისინი გარდაქმნიან ნებისმიერ ძაბვას 0-დან 5 ვ-მდე შორის რიცხვად 0-დან 1023-მდე, რომლის წვდომაც შესაძლებელია მეხსიერებაში.

ყველა პლატფორმა დამონტაჟებულია დაფაზე, რომლის ზომებია 60,6 მმ × 53,4 მმ და იწონის არაუმეტეს 25 გ (ნახ. 1).

დაფებს ასევე აქვთ USB A/B კონექტორები, რომლითაც შეგიძლიათ დაუკავშიროთ ისინი თქვენს კომპიუტერს კომუნიკაციისთვის. USB კავშირი ასევე უზრუნველყოფს Arduino-ს ენერგიას კომპიუტერთან დაკავშირებისას, ასე რომ თქვენ არ გჭირდებათ გარე კვების წყარო.

პროგრამა

Arduino პროგრამა, ისევე როგორც ნებისმიერი სხვა პროცესორის პროგრამა, არის ბიტების თანმიმდევრობა მანქანურ ენაზე. პროგრამისტებისთვის ცხოვრების გასაადვილებლად, Arduino-ს გუნდმა შეიმუშავა მაღალი დონის პროგრამირების ენა, შემდგენელი და პროგრამული უზრუნველყოფის ინსტრუმენტი Arduino-ს მეხსიერებაში მანქანის კოდის შესაყვანად.

ყველა ეს ინსტრუმენტი შედის ერთ IDE (ინტეგრირებული განვითარების გარემო) პროგრამაში, უფასოდ

Arduino-ს ვებსაიტიდან ჩამოსატვირთად: აირჩიეთ თქვენი კომპიუტერის ოპერაციული სისტემა და ჩამოტვირთეთ პროგრამა. ის ისევე გამოიყურება, როგორც ყველაზე ჩვეულებრივი კომპიუტერული პროგრამები. მას აქვს რამდენიმე ჩანართი სხვადასხვა ფანჯრისთვის. ამ ფანჯრებიდან ერთ-ერთი გამოიყენება პროგრამის რედაქტირებისთვის. Arduino ჟარგონში მას ესკიზი ჰქვია. ესკიზები იწერება გამარტივებული C++-ით.


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

თქვენ შეგიძლიათ შეადგინოთ თქვენი ესკიზი Arduino პროგრამაში (სურათი 2) ფანჯრის ზედა მარცხენა კუთხეში Verify ღილაკზე დაწკაპუნებით: კომპილაციის პროცესი თარგმნის C++ პროგრამას შესაბამის ATmega328 პროცესორის აპარატის კოდებში. შედგენის შემდეგ, შესრულებადი ესკიზი შეიძლება ჩაიტვირთოს Arduino-ს მეხსიერებაში USB კაბელის საშუალებით ატვირთვის ღილაკზე დაჭერით. შეიძლება დაგჭირდეთ მენიუდან შესაბამისი COM პორტის არჩევა, თუ ერთზე მეტია ხელმისაწვდომი. ესკიზის ჩატვირთვა ყოველთვის იწვევს შემდგენელის პირველ დაწყებას. ესკიზი გადის ჩამოტვირთვის დასრულებისთანავე.

დამატებითი შესაძლებლობები დაემატა ძირითად ენას Arduino-ს გუნდის ან მესამე მხარის დეველოპერების მიერ შემუშავებული გარე ბიბლიოთეკების გამოყენებით. ბიბლიოთეკები შეიძლება შევიდეს შესრულებად კოდში მენიუს შესაბამისი ელემენტის არჩევით. საჭიროების შემთხვევაში, ბიბლიოთეკის დამატება ავტომატურად დაამატებს ხაზებს ესკიზს, რომელიც ეუბნება შემდგენელს ახალი სინტაქსის შესახებ.

28 09.2016

გიფიქრიათ ოდესმე სახლში ცხოვრების გამარტივებაზე? გქონდეთ ისეთი რამ, რაც მოგიგვარებთ ყოველდღიურ, რუტინულ ამოცანებს. ჭკვიანი მოწყობილობა, რომელიც შეასრულებს სასარგებლო ფუნქციას, მაგალითად, რწყავს ბაღს, ასუფთავებს ოთახს ან ტვირთავს ტვირთს. ამ პრობლემების მოგვარება შესაძლებელია. მაგრამ მხოლოდ მისი ყიდვა არ იქნება საკმარისი. ნებისმიერ სამრეწველო ლოგიკის კონტროლერს ან ჩიპს სჭირდება „ტვინი“ გარკვეული მოქმედებების თანმიმდევრობის შესასრულებლად. ჩვენს შემთხვევაში ოპერაციების შესასრულებლად შესაფერისია Arduino პროგრამირების ენა.

ამ სტატიიდან თქვენ შეიტყობთ:

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

პროგრამირების ენების ზოგადი აღწერა

როგორც ზემოთ დავწერე, განვიხილავთ განვითარების ორ პოპულარულ გარემოს. ანალოგიით, შეიძლება დაიყოს გრაფიკულ რედაქტორად და „ჭკვიან რვეულად“. ეს არის Arduino IDE და FLprog პროგრამები.

განვითარების გარემოს საფუძველია Processing/Wiring - ეს არის ჩვეულებრივი C++, დამატებული ფუნქციებითა და სხვადასხვა ბიბლიოთეკებით. არსებობს რამდენიმე ვერსია Windows, Mac OS და Linux ოპერაციული სისტემებისთვის.

რა არის მათი ფუნდამენტური განსხვავება?? Arduino IDE არის განვითარების გარემო, რომელიც აღწერს პროგრამის კოდს. და FLprog მსგავსია CFC CoDeSyS, რომელიც საშუალებას გაძლევთ დახაზოთ დიაგრამები. რომელი გარემოა უკეთესი? ორივე კარგი და მოსახერხებელია თავისებურად, მაგრამ თუ გსურთ სერიოზულად მოეკიდოთ კონტროლერებს, უმჯობესია ისწავლოთ SI-ს მსგავსი ენები. მათი მთავარი უპირატესობა არის ალგორითმის მოქნილობა და შეუზღუდავი ბუნება. მე ნამდვილად მომწონს Arduino IDE.

Arduino IDE-ს აღწერა

დისტრიბუციის ჩამოტვირთვა შესაძლებელია ოფიციალური ვებ - გვერდი. ჩამოტვირთეთ არქივი, ის იკავებს 100 მბ-ზე ცოტა მეტს. ინსტალაცია სტანდარტულია, როგორც ყველა აპლიკაცია Windows-ისთვის. პაკეტში უნდა იყოს დამონტაჟებული ყველა ტიპის დაფის დრაივერები. და ასე გამოიყურება პროგრამის სამუშაო ფანჯარა.

Arduino-ს განვითარების გარემო შედგება:

  • პროგრამის კოდის რედაქტორი;
  • შეტყობინების სფეროები;
  • ტექსტის გამომავალი ფანჯრები;
  • ხელსაწყოების ზოლები ღილაკებით ხშირად გამოყენებული ბრძანებებისთვის;
  • რამდენიმე მენიუ

Arduino IDE პარამეტრები

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

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

ბევრი ბიბლიოთეკა მოყვება საქაღალდეში მდებარე მაგალითებსმაგალითი.მენიუში ბიბლიოთეკის არჩევა დაამატებს შემდეგ ხაზს საწყის კოდს:

არდუინო

#შეიცავს

#შეიცავს

ეს არის დირექტივა - ერთგვარი ინსტრუქცია, სათაურის ფაილი, რომელიც აღწერს ობიექტებს, ფუნქციებს და ბიბლიოთეკის მუდმივებს. ბევრი ფუნქცია უკვე შემუშავებულია ყველაზე გავრცელებული ამოცანებისთვის. დამიჯერეთ, ეს აადვილებს პროგრამისტის ცხოვრებას.

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

არდუინო

void setup() ( // ციფრული პინი 13-ის ინიციალიზაცია, როგორც გამოსავალი. pinMode(13, OUTPUT); ) void loop() ( digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000 );

void setup() (

// ინიციალიზაცია ციფრული პინი 13, როგორც გამოსავალი.

pinMode (13, OUTPUT);

void loop() (

digitalWrite(13, HIGH);

დაგვიანებით (1000);

digitalWrite (13, LOW);

დაგვიანებით (1000);

ასე რომ, სხვათა შორის, მოსახერხებელია მაღაზიიდან მოსულ დაფის ფუნქციონირების შემოწმება. სწრაფი და მარტივი.

არის კიდევ ერთი მოსახერხებელი რამ. ჰქვიასერიული პორტის მონიტორი (სერიული მონიტორი). აჩვენებს პლატფორმაზე გაგზავნილ მონაცემებსარდუინო.მე ჩვეულებრივ ვუყურებ რა სიგნალებს მაძლევს დაფაზე დაკავშირებული სხვადასხვა სენსორები.

ბიბლიოთეკების დაკავშირება

მორგებული ფუნქციების დამატების სხვადასხვა გზა არსებობს. ბიბლიოთეკების დაკავშირება შეგიძლიათ სამი გზით:

  1. ბიბლიოთეკის მენეჯერის გამოყენებით
  2. იმპორტის გამოყენება .zip ფაილად
  3. ხელით ინსტალაცია.

1. ბიბლიოთეკის მენეჯერის გამოყენება.პროგრამის სამუშაო ფანჯარაში აირჩიეთ ჩანართი Sketch. ამის შემდეგ დააჭირეთ ღილაკს Connect ბიბლიოთეკა. ჩვენს თვალწინ გაიხსნება ბიბლიოთეკის მენეჯერი. ფანჯარაში გამოჩნდება უკვე დაინსტალირებული ფაილები ხელმოწერითდაყენებულიდა ის, რაც შეიძლება დამონტაჟდეს.

2. იმპორტის გამოყენება .zip ფაილად.ხშირად ინტერნეტში შეგიძლიათ იპოვოთ ბიბლიოთეკის ფაილები, რომლებიც შეფუთულია არქივებში zip გაფართოებით. ის შეიცავს სათაურს file.h და კოდს file.cpp. ინსტალაციის დროს არ არის საჭირო არქივის გახსნა. უბრალოდ გადადით Sketch მენიუში - Connect Library - Add .ZIP library

3.მექანიკური მონტაჟი.პირველ რიგში, დახურეთ Arduino IDE პროგრამა. ჩვენ ჯერ ვხსნით ჩვენს არქივს. და ჩვენ გადავიტანთ ფაილებს გაფართოებით .h და .cpp არქივის იგივე სახელწოდების საქაღალდეში. განათავსეთ საქაღალდე root დირექტორიაში.

ჩემი დოკუმენტები\Arduino\ბიბლიოთეკები

FLPprog-ის აღწერა

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

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

შევეცადოთ შევქმნათ მარტივი პროექტი. ჩვენ გადავიყვანთ გამომავალი 13 LED-ზე.

შევქმნათ ახალი პროექტი. ზედა ფანჯარაში დაამატეთ შეყვანის და გამომავალი საჭირო რაოდენობა, დააყენეთ სახელი და მიანიშნეთ ფიზიკური შეყვანა ან გამომავალი დაფაზე.

ჩვენ ამოვიღებთ საჭირო ელემენტებს ობიექტის ხიდან და საჭირო ელემენტებს რედაქტირების ტილოზე. ჩვენს შემთხვევაში, ჩვენ შეგვიძლია გამოვიყენოთ მარტივი RS ტრიგერი მის ჩართვისა და გამორთვისთვის.

ალგორითმის შექმნის შემდეგ დააწკაპუნეთ კომპილ ღილაკზე, პროგრამა იძლევა მზა ჩანახატს IDE-ში.

ჩვენ განვიხილეთ პროგრამების შესაძლებლობები და მოხერხებულობა Arduino სერიის კონტროლერზე ალგორითმების შემუშავებისთვის. ასევე არსებობს პროგრამები, რომლებიც საშუალებას გაძლევთ შექმნათ სტრუქტურული დიაგრამები და ვიზუალური სურათები. მაგრამ მე გირჩევთ გამოიყენოთ ტექსტური რედაქტორი, რადგან ეს მოგვიანებით გაგიადვილდებათ. მითხარით, რომელი გარემოა თქვენთვის ყველაზე მოსახერხებელი და რატომ??

22 სექტემბერს მივიღე მონაწილეობა სემინარში კრასნოდარში "სენსორული პანელის კონტროლერები OVEN SPK." კონფერენცია მოდურ და ლამაზ სასტუმრო ბრისტოლში გაიმართა. ძალიან საინტერესო და მაგარი იყო.

სემინარის პირველ ნაწილში გვითხრეს OWEN-ის პროდუქციის შესაძლებლობებისა და უპირატესობების შესახებ. შემდეგ იყო ყავის შესვენება დონატებით. ავიღე უამრავი ნივთი, დონატები, ნამცხვრები და ტკბილეული, რადგან ძალიან მშიერი ვიყავი =)

სემინარის მეორე ნაწილში, ლანჩის შემდეგ, წარმოგვიდგინეს. მათ ბევრი რამ გვითხრეს ვებ ვიზუალიზაციის შესახებ. ეს ტენდენცია იწყებს იმპულსს. კარგად, რა თქმა უნდა, აკონტროლეთ აღჭურვილობა ნებისმიერი ინტერნეტ ბრაუზერის საშუალებით. ეს მართლა მაგარია. სხვათა შორის, თავად აღჭურვილობა ჩემოდანშია.

უახლოეს მომავალში გამოვაქვეყნებ სტატიების სერიას CoDeSyS 3.5-ზე. ასე რომ, თუ ვინმეს გაინტერესებთ, გამოიწერეთ ან უბრალოდ მობრძანდით. ყოველთვის მოხარული ვიქნები!!!

სხვათა შორის, კინაღამ დამავიწყდა, შემდეგი სტატია იქნება Arduino ელექტრონული დაფის შესახებ. საინტერესო იქნება, არ გამოტოვოთ.

შევხვდებით შემდეგ სტატიებში.

პატივისცემით, გრიდინ სემიონი.

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

მოკლე ინფორმაცია Arduino-ს შესახებ

რა არის Arduino?

Arduino (Arduino) არის აპარატურის გამოთვლითი პლატფორმა, რომლის ძირითადი კომპონენტებია შეყვანა-გამომავალი დაფა და განვითარების გარემო. Arduino შეიძლება გამოყენებულ იქნას დამოუკიდებელი ინტერაქტიული ობიექტების შესაქმნელად, ან კომპიუტერზე გაშვებულ პროგრამულ უზრუნველყოფასთან დასაკავშირებლად. Arduino არის ერთი დაფის კომპიუტერი.

როგორ არის დაკავშირებული Arduino და რობოტები?

პასუხი ძალიან მარტივია - Arduino ხშირად გამოიყენება როგორც რობოტის ტვინი.

Arduino-ს დაფების უპირატესობა მსგავს პლატფორმებთან შედარებით არის მათი შედარებით დაბალი ფასი და თითქმის ფართო განაწილება მოყვარულებსა და პროფესიონალებს შორის რობოტიკისა და ელექტროტექნიკის სფეროში. როგორც კი Arduino-ში შეხვალთ, იპოვით მხარდაჭერას ნებისმიერ ენაზე და თანამოაზრე ადამიანებს, რომლებიც უპასუხებენ თქვენს შეკითხვებს და განიხილავენ თქვენს განვითარებას.

გაკვეთილი 1. ციმციმ LED არდუინოზე

პირველ გაკვეთილზე შეისწავლით თუ როგორ დააკავშიროთ LED-ი Arduino-ს და აკონტროლოთ ის რომ მოციმციმე. ეს არის ყველაზე მარტივი და ძირითადი მოდელი.

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

გაკვეთილი 2. ღილაკის დაკავშირება Arduino-ზე

ამ გაკვეთილზე თქვენ შეისწავლით თუ როგორ დააკავშიროთ ღილაკი და LED არდუინოს.

ღილაკზე დაჭერისას LED აინთება ღილაკის დაჭერისას, ის არ ანათებს. ეს ასევე საბაზისო მოდელია.

გაკვეთილი 3. პოტენციომეტრის დაკავშირება Arduino-ზე

ამ გაკვეთილზე თქვენ შეისწავლით თუ როგორ დააკავშიროთ პოტენციომეტრი Arduino-სთან.

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

გაკვეთილი 4. სერვო კონტროლი Arduino-ზე

ამ გაკვეთილზე თქვენ შეისწავლით თუ როგორ დააკავშიროთ სერვო Arduino-ს.

სერვოარის ძრავა, რომლის ლილვის პოზიციის კონტროლი შესაძლებელია ბრუნვის კუთხის დაყენებით.

სერვოები გამოიყენება რობოტების სხვადასხვა მექანიკური მოძრაობის სიმულაციისთვის.

გაკვეთილი 5. სამი ფერის LED Arduino-ზე

ამ გაკვეთილზე თქვენ შეისწავლით თუ როგორ დააკავშიროთ სამი ფერის LED Arduino-ს.

სამფერი LED(rgb led) - ეს არის სამი LED სხვადასხვა ფერის ერთ კორპუსში. მათ მოყვება ან პატარა ბეჭდური მიკროსქემის დაფა, რომელზედაც განთავსებულია რეზისტორები, ან ჩაშენებული რეზისტორების გარეშე. გაკვეთილი მოიცავს ორივე ვარიანტს.

გაკვეთილი 6. პიეზოელექტრული ელემენტი არდუინოზე

ამ გაკვეთილზე თქვენ შეისწავლით თუ როგორ დააკავშიროთ პიეზო ელემენტი Arduino-სთან.

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

ჩვენს მოდელში ხმის სიხშირის კორექტირება შესაძლებელია პროგრამაში შესაბამისი პარამეტრების დაყენებით.

გაკვეთილი 7. ფოტორეზისტორი Arduino-ზე

ჩვენი კურსის ამ გაკვეთილზე თქვენ შეისწავლით თუ როგორ დააკავშიროთ ფოტორეზისტორი Arduino-სთან.

ფოტორეზისტორი- რეზისტორი, რომლის წინააღმდეგობა დამოკიდებულია მასზე დაცემული სინათლის სიკაშკაშეზე.

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

გაკვეთილი 8. მოძრაობის სენსორი (PIR) Arduino-ზე. ელექტრონული ფოსტის ავტომატური გაგზავნა

ჩვენი კურსის ამ გაკვეთილზე თქვენ შეისწავლით თუ როგორ დააკავშიროთ მოძრაობის სენსორი (PIR) Arduino-სთან, ასევე მოაწყოთ ელექტრონული ფოსტის ავტომატური გაგზავნა.

მოძრაობის სენსორი (PIR)- ინფრაწითელი სენსორი ადამიანების ან ცხოველების მოძრაობის ან ყოფნის დასადგენად.

ჩვენს მოდელში, PIR სენსორიდან ადამიანის მოძრაობის შესახებ სიგნალის მიღებისას, Arduino აგზავნის ბრძანებას კომპიუტერში ელექტრონული ფოსტის გასაგზავნად და წერილი ავტომატურად იგზავნება.

გაკვეთილი 9. ტემპერატურისა და ტენიანობის სენსორის DHT11 ან DHT22 დაკავშირება

ჩვენს ამ გაკვეთილზე თქვენ შეისწავლით თუ როგორ დააკავშიროთ DHT11 ან DHT22 ტემპერატურისა და ტენიანობის სენსორი Arduino-ს და ასევე გაეცნობით მათ მახასიათებლებს შორის განსხვავებებს.

ტემპერატურისა და ტენიანობის სენსორიარის კომპოზიციური ციფრული სენსორი, რომელიც შედგება ტენიანობის ტევადი სენსორისგან და ტემპერატურის გასაზომი თერმისტორისგან.

ჩვენს მოდელში, Arduino კითხულობს სენსორის კითხვას და აჩვენებს კითხვებს კომპიუტერის ეკრანზე.

გაკვეთილი 10. მატრიცული კლავიატურის დაკავშირება

ჩვენი კურსის ამ გაკვეთილზე თქვენ შეისწავლით თუ როგორ დააკავშიროთ მატრიცული კლავიატურა Arduino დაფაზე და ასევე გაეცნობით სხვადასხვა საინტერესო სქემებს.

მატრიქსის კლავიატურაგამოიგონეს დიდი რაოდენობით ღილაკების კავშირის გასამარტივებლად. ასეთი მოწყობილობები ყველგან გვხვდება - კომპიუტერის კლავიატურებში, კალკულატორებში და ა.შ.

გაკვეთილი 11. DS3231 რეალურ დროში საათის მოდულის დაკავშირება

ჩვენი კურსის ბოლო გაკვეთილზე თქვენ შეისწავლით თუ როგორ დააკავშიროთ რეალური დროის საათის მოდული ოჯახიდან
DS Arduino-ს დაფაზე და ასევე გაეცანით სხვადასხვა საინტერესო სქემებს.

რეალური დროის საათის მოდული- ეს არის ელექტრონული წრე, რომელიც შექმნილია ქრონომეტრიული მონაცემების ჩასაწერად (მიმდინარე დრო, თარიღი, კვირის დღე და ა.შ.) და არის სისტემა, რომელიც შედგება ენერგიის ავტონომიური წყაროსა და ჩამწერი მოწყობილობისგან.

განაცხადი. მზა ჩარჩოები და არდუინოს რობოტები


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

სამუშაო რობოტის მოდელის შეძენით, ე.ი. სინამდვილეში, მზა მაღალტექნოლოგიურ სათამაშოს შეუძლია გააღვიძოს ინტერესი დამოუკიდებელი დიზაინისა და რობოტიკის მიმართ. Arduino პლატფორმის გახსნილობა საშუალებას გაძლევთ შექმნათ ახალი სათამაშოები იგივე კომპონენტებისგან.

კიდევ ერთი ვარიანტია რობოტის ჩარჩოს ან სხეულის შეძენა: პლატფორმა ბორბლებზე ან ტრასაზე, ჰუმანოიდი, ობობა და ა.შ. ამ შემთხვევაში რობოტის ჩაყრა თავად მოგიწევთ.

განაცხადი. მობილური დირექტორია


– ასისტენტი ალგორითმების შემქმნელებისთვის Arduino პლატფორმისთვის, რომლის მიზანია მისცეს საბოლოო მომხმარებელს შესაძლებლობა ჰქონდეს ბრძანებების მობილური ნაკრები (საცნობარო წიგნი).

აპლიკაცია შედგება 3 ძირითადი განყოფილებისგან:

  • ოპერატორები;
  • მონაცემები;
  • ფუნქციები.

სად ვიყიდო არდუინო


არდუინოს კომპლექტები

კურსი განახლდება დამატებითი გაკვეთილებით. Მოგვყევი

დღეს ვისაუბრებთ SD და micro SD ბარათების გამოყენებაზე Arduino-ში. ჩვენ გავარკვევთ, როგორ დავაკავშიროთ SD ბარათები Arduino-სთან, როგორ დავწეროთ და წაიკითხოთ ინფორმაცია. დამატებითი მეხსიერების გამოყენება შეიძლება ძალიან სასარგებლო იყოს ბევრ პროექტში. თუ არ იცით რა არის SPI, I2C და ანალოგური პინები, მაშინ გირჩევთ უყუროთ წარსულ გაკვეთილებს და გაიგოთ ეს Arduino საკომუნიკაციო ინტერფეისები.

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

ამ გაკვეთილზე ჩვენ გავეცნობით I2C ავტობუსს. I2C არის საკომუნიკაციო ავტობუსი, რომელიც იყენებს მხოლოდ ორ ხაზს. ამ ინტერფეისის გამოყენებით, Arduino-ს შეუძლია დაუკავშირდეს ბევრ მოწყობილობას ორი მავთულის საშუალებით. დღეს ჩვენ გავარკვევთ, როგორ დავაკავშიროთ სენსორები Arduino-ს I2C ავტობუსის მეშვეობით, როგორ მივიღოთ წვდომა კონკრეტულ მოწყობილობაზე და როგორ მივიღოთ მონაცემები ამ მოწყობილობებიდან.

ამ გაკვეთილში ვისაუბრებთ Arduino Serial საკომუნიკაციო ინტერფეისზე. ჩვენ უკვე გამოვიყენეთ ეს ინტერფეისი წინა გაკვეთილებში, როდესაც კომპიუტერის ეკრანზე ვაჩვენეთ სენსორების მნიშვნელობები. დღეს ჩვენ უფრო დეტალურად განვიხილავთ, თუ როგორ მუშაობს ეს კავშირი და ასევე ვისწავლით როგორ გამოვიყენოთ კომპიუტერის პორტის მონიტორზე გადაცემული მონაცემები დამუშავების გამოყენებით.

დღეს ჩვენ ვისაუბრებთ ტრანზისტორებზე და არდუინოსთან დატვირთვების შეერთებაზე. თავად Arduino-ს არ შეუძლია გამოიმუშაოს 5 ვოლტზე მაღალი ძაბვა და 40 mA-ზე მაღალი დენი ერთი პინიდან. ეს საკმარისია სენსორებისა და LED-ებისთვის, მაგრამ თუ ჩვენ გვსურს უფრო მომთხოვნი მოწყობილობების დაკავშირება, ტრანზისტორების ან რელეების გამოყენება მოგვიწევს.

ამ გაკვეთილზე ვისაუბრებთ მიკროსქემის დიზაინის საფუძვლებზე, რომელიც გამოიყენება Arduino-ზე. და დავიწყოთ, რა თქმა უნდა, ოჰმის კანონით, რადგან ეს არის ყველა მიკროსქემის საფუძველი. ასევე ამ გაკვეთილზე ვისაუბრებთ წინაღობაზე, აწევის და აწევის რეზისტორებზე, დენის და ძაბვის გამოთვლაზე.

Arduino პროგრამირების ენა დამწყებთათვის დეტალურად არის წარმოდგენილი ქვემოთ მოცემულ ცხრილში. Arduino მიკროკონტროლერი დაპროგრამებულია სპეციალურ პროგრამირების ენაზე, რომელიც დაფუძნებულია C/C++-ზე. Arduino პროგრამირების ენა არის C++-ის ვარიანტი, სხვა სიტყვებით რომ ვთქვათ, არდუინოს ცალკე პროგრამირების ენა არ არსებობს. შეგიძლიათ ჩამოტვირთოთ PDF წიგნი გვერდის ბოლოს.

Arduino IDE-ში ყველა დაწერილი ესკიზი შედგენილია პროგრამაში C/C++ მინიმალური ცვლილებებით. Arduino IDE შემდგენელი მნიშვნელოვნად ამარტივებს ამ პლატფორმისთვის პროგრამების წერას და Arduino-ზე მოწყობილობების შექმნა ბევრად უფრო ხელმისაწვდომი ხდება იმ ადამიანებისთვის, რომლებსაც არ აქვთ C/C++ ენის ფართო ცოდნა. ქვემოთ მივცემთ მოკლე ცნობას, რომელიც აღწერს Arduino ენის ძირითად ფუნქციებს მაგალითებით.

დეტალური მითითება Arduino ენაზე

ენა შეიძლება დაიყოს ოთხ ნაწილად: განცხადებები, მონაცემები, ფუნქციები და ბიბლიოთეკები.

არდუინოს ენა მაგალითი აღწერა

ოპერატორები

აწყობა() void setup()
{
pinMode (3, INPUT);
}
ფუნქცია გამოიყენება ცვლადების ინიციალიზაციისთვის, დაფაზე ქინძისთავების მუშაობის რეჟიმების დასადგენად და ა.შ. ფუნქცია მუშაობს მხოლოდ ერთხელ, მიკროკონტროლერის ყოველი კვების შემდეგ.
loop () void loop ()
{
digitalWrite(3, HIGH);
დაგვიანებით (1000);
digitalWrite (3, LOW);
დაგვიანებით (1000);
}
მარყუჟის ფუნქცია ტრიალებს გარშემო, რაც საშუალებას აძლევს პროგრამას შეასრულოს და რეაგირება მოახდინოს გამოთვლებზე. setup() და loop() ფუნქციები უნდა იყოს წარმოდგენილი ყველა ჩანახატში, მაშინაც კი, თუ ეს განცხადებები არ არის გამოყენებული პროგრამაში.

საკონტროლო განცხადებები

თუ
თუ (x>
თუ (x< 100) digitalWrite (3, LOW );
if განაცხადი გამოიყენება შედარების ოპერატორებთან ერთად (==, !=,<, >) და ამოწმებს არის თუ არა პირობა ჭეშმარიტი. მაგალითად, თუ x ცვლადის მნიშვნელობა 100-ზე მეტია, მაშინ LED გამომავალი 13 ჩაირთვება, თუ ის ნაკლებია, LED გამორთულია.
თუ კიდევ
თუ (x > 100) ციფრული ჩაწერა (3, HIGH );
else digitalWrite(3, LOW);
სხვა ოპერატორი საშუალებას გაძლევთ გააკეთოთ შემოწმება, გარდა if-ში მითითებულისა, რამდენიმე ურთიერთგამომრიცხავი შემოწმების შესასრულებლად. თუ არცერთი შემოწმება არ მიიღებს TRUE შედეგს, მაშინ სხვა განცხადებების ბლოკი შესრულდება.
შეცვლა... საქმე
შეცვლა (x)
{


შემთხვევა 3: შესვენება;

}
if განცხადების მსგავსად, switch განაცხადი აკონტროლებს პროგრამას და საშუალებას გაძლევთ მიუთითოთ მოქმედებები, რომლებიც შესრულდება სხვადასხვა პირობებში. Break არის ბრძანება ნაგულისხმევად გასასვლელად, თუ ალტერნატივა არ არის არჩეული.
ამისთვის void setup()
{
pinMode (3, OUTPUT);
}
void loop ()
{
for (int i=0; i<= 255; i++){
analogWrite(3, i);
დაგვიანებით(10);
}
}
for კონსტრუქცია გამოიყენება ხვეული ბრეკეტებში ჩასმული განცხადებების გასამეორებლად. მაგალითად, LED-ის გლუვი დაბნელება. for მარყუჟის სათაური შედგება სამი ნაწილისაგან: for (ინიციალიზაცია; პირობა; ზრდა) - ინიციალიზაცია ხორციელდება ერთხელ, შემდეგ მოწმდება მდგომარეობა, თუ პირობა მართალია, მაშინ ხდება ზრდა. მარყუჟი მეორდება მანამ, სანამ მდგომარეობა ყალბი გახდება.
ხოლო void loop ()
{
ხოლო (x< 10)
{
x = x + 1;
Serial.println(x);
დაგვიანებით (200);
}
}
while განცხადება გამოიყენება როგორც ციკლი, რომელიც შესრულდება მანამ, სანამ ფრჩხილებში მოცემული პირობა არის true. მაგალითში, while loop განცხადება გაუთავებლად გაიმეორებს ფრჩხილებში ჩადებულ კოდს, სანამ x არ იქნება 10-ზე ნაკლები.
გააკეთე... ხოლო void loop ()
{
კეთება
{
x = x + 1;
დაგვიანებით (100);
Serial.println(x);
}
ხოლო (x< 10);
დაგვიანებით(900);
}
do...while ციკლის განცხადება მუშაობს ისევე, როგორც while ციკლი. თუმცა, თუ გამონათქვამი ფრჩხილებში არის ჭეშმარიტი, მარყუჟი აგრძელებს ციკლს, ვიდრე გადის ციკლიდან. ზემოთ მოცემულ მაგალითში, თუ x მეტია 10-ზე, შეკრების ოპერაცია გაგრძელდება, მაგრამ 1000 ms პაუზით.
შესვენება
გააგრძელე
შეცვლა (x)
{
case 1: digitalWrite (3, HIGH );
შემთხვევა 2: digitalWrite (3, LOW );
შემთხვევა 3: შესვენება;
შემთხვევა 4: გაგრძელება;
ნაგულისხმევი: digitalWrite (4, HIGH);
}
Break გამოიყენება გადამრთველიდან, do, for და while მარყუჟებიდან გასასვლელად ციკლის დასრულებამდე მოლოდინის გარეშე.
გაგრძელება განცხადება გამოტოვებს დარჩენილ განცხადებებს მიმდინარე მარყუჟის საფეხურზე.

Სინტაქსი

;
(წერტილი)

digitalWrite(3, HIGH);
მძიმით გამოიყენება განცხადების დასასრულის აღსანიშნავად. სტრიქონის ბოლოს წერტილის დავიწყება იწვევს კომპილაციის შეცდომას.
{}
(ბრეკეტები)
void setup()
{
pinMode (3, INPUT);
}
გახსნის ფრჩხილს "(" უნდა მოჰყვეს დახურვის ფრჩხილს ")". შეუსაბამო ფრჩხილებმა შეიძლება გამოიწვიოს ფარული და გაუგებარი შეცდომები ესკიზის შედგენისას.
//
(კომენტარი)
x = 5; // კომენტარი


გაქვთ შეკითხვები?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: