Სარჩევი:

Arduino 101: კურსი ტექნიკური ბიჭისგან: 4 ნაბიჯი
Arduino 101: კურსი ტექნიკური ბიჭისგან: 4 ნაბიჯი

ვიდეო: Arduino 101: კურსი ტექნიკური ბიჭისგან: 4 ნაბიჯი

ვიდეო: Arduino 101: კურსი ტექნიკური ბიჭისგან: 4 ნაბიჯი
ვიდეო: Learn Arduino in 30 Minutes: Examples and projects 2024, ნოემბერი
Anonim
Arduino 101: კურსი ტექნიკური ბიჭისგან
Arduino 101: კურსი ტექნიკური ბიჭისგან

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

ეს არ იქნება ჩვეულებრივი ასლის-და-ჩასმის გაკვეთილები. ეს ბევრად მეტი იქნებოდა ვიდრე.

გამარჯობა! მე ვარ რომაელი და მე ვარ საშუალო PHP დეველოპერი.

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

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

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

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

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

ნაბიჯი 1: დააინსტალირეთ საჭირო პროგრამული უზრუნველყოფა/მიიღეთ საჭირო აპარატურა

განვითარების პროცესის დასაწყებად დაგჭირდებათ:

პროგრამული უზრუნველყოფა

- ვიზუალური სტუდიის კოდი

- პლატფორმა. IO

ტექნიკა

- არდუინოს ერთ -ერთი დაფა (მეგა 2560, ნანო, ლეონარდო და სხვა)

- პურის დაფა

-დიუპონის მავთულები (მამაკაცი-მამაკაცი)

- სხვადასხვა ნომინალური რეზისტორები

- RGB Leds

- მონიტორები და ა.შ

ნაბიჯი 2: პროგრამირების პრინციპები

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

- ᲛᲧᲐᲠᲘ

- მშრალი (ნუ გაიმეორებ საკუთარ თავს)

- კოცნა (ასე მარტივი)

- იაგნი (შენ არ დაგჭირდება)

რა არის SOLID?

SOLID შეიძლება გადაიწეროს შემდეგნაირად:

- [S] ერთპიროვნული პასუხისმგებლობა (თითოეული კლასი პასუხისმგებელია ერთ ტიპზე)

- [O] ღია-დახურული პრინციპი (კლასები და ობიექტები ღიაა გასაგრძელებლად, მაგრამ შეცვლილი)

- [L] ლისკოვის შემცვლელი (კლასები და საგნები შეიძლება შეიცვალოს მათი ქვეტიპებით დაზიანების გარეშე)

- [I] ინტერფეისის სეგრეგაცია (უმჯობესია გქონდეთ უფრო სპეციალიზებული ინტერფეისი, ნაცვლად ერთი უნივერსალური)

- [D] დამოკიდებულების ინვერსია (კლასები უნდა იყოს აგებული აბსტრაქციებზე)

რა არის DRY?

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

რა არის KISS?

KISS აცხადებს Keep It So Simple. ეს ნიშნავს, რომ თქვენს ყველა გადაწყვეტილებას უნდა ჰქონდეს რაც შეიძლება ნაკლები ხაზი კოდი, მაგრამ ასევე არ გაართულოს მთელი კლასი.

რა არის YAGNI?

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

შეეცადეთ შეინარჩუნოთ თქვენი კოდი რაც შეიძლება სუფთა.

ნაბიჯი 3: პროექტები

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

გარდა ამისა, მე შევეცდები შევქმნა გაფართოება VS Code– სთვის, რომ თქვენ გქონდეთ შესაძლებლობა ჩამოტვირთოთ საჭირო ლიბერები თქვენს პროექტში.

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

  • მარტივი LED ნათურების კონტროლი
  • LED- ის + პოტენომეტრი (პოტენომეტრის მნიშვნელობების დინამიური რუქა LED- ების რაოდენობაზე)
  • მარტივი ამინდის სადგური (v1; ტენიანობა + ტემპერატურა)
  • გაფართოებული ამინდის სადგური w/ LCD 1602 (v2)
  • გაფართოებული ამინდის სადგური v2 + პარამეტრები (v3)
  • გაფართოებული ამინდის სადგური v3 + IR (ინფრაწითელი დისტანციური) კონტროლი ჩვენებისთვის (v4)
  • გაფართოებული ამინდის სადგური v4 + აჩვენებს მდგომარეობას LED- ებით (v5)
  • მარტივი RFID წამკითხველი (v1)
  • მოწინავე RFID Reader v1 w/ მონაცემების ჩვენება LCD 1602 და 0.91 'OLED ეკრანზე (I2C) (v2)
  • მოწინავე RFID Reader v2 w/ სარელეო კონტროლი (v3)
  • მარტივი ერთსიმიანი სადგური (v1)
  • გაფართოებული ერთ SIM ბარათი 0.91 'OLED ეკრანით (v2)
  • გაფართოებული ორმაგი SIM სადგური 0.91 'OLED ეკრანით (v1)
  • გაფართოებული ორმაგი SIM სადგური v1 w/ SMS გაგზავნით
  • გამყიდველი მანქანა
  • მარტივი RGB Strip WS8212b კონტროლი (v1)
  • Advanced RGB Strip WS8212b Control v1 w/ ფერები + სიკაშკაშის კონტროლი (პოტენომეტრი + ღილაკები) (v2)
  • მოწინავე RGB Strip WS8212b Control v1 IRVending მანქანით

ყველა პროექტი და ბიბლიოთეკა ხელმისაწვდომი იქნება GitHub– ზე.

ნაბიჯი 4: მომავალი პროექტები გამოქვეყნდება

20–7 7-8 მარტი- მარტივი LED ნათურების მაკონტროლებელი- LED– ები + პოტენომეტრი (პოტენომეტრის მნიშვნელობების დინამიური გამოსახვა LED– ების რაოდენობაზე)

გირჩევთ: