Სარჩევი:

აზიმუთალური პროექცია 3D რუქის მორთულობა X ხალხური მუსიკა თავსატეხი - არდუინო: 7 ნაბიჯი
აზიმუთალური პროექცია 3D რუქის მორთულობა X ხალხური მუსიკა თავსატეხი - არდუინო: 7 ნაბიჯი
Anonim
Image
Image
დაფის დიზაინი
დაფის დიზაინი

შესავალი

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

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

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

_

მარაგები

ფაქტობრივი მასალები

  • 5 მმ RGB LED- ები *20
  • მავთულები
  • რეზისტორები *9
  • Arduino დაფა *1 (ნებისმიერი ტიპის)
  • პურის დაფები *3
  • ღილაკები *7
  • LCD ეკრანის დაფა I2C *1
  • მუყაოს ყუთი (13*9*5.7 ინჩი; 33*23*14.5 სმ)
  • ხის დაფა (37.5*29*0.8 სმ)
  • აკრილის დაფები (გამჭვირვალე * 2, ნახევრად გამჭვირვალე * 1)
  • პორტატული დამტენი *1

ინსტრუმენტები:

  • დანა *1
  • UV სამკურნალო წებოები *1
  • ორმხრივი ლენტი *1 რულეტი
  • ცხელი წებოს იარაღი *1

მანქანები:

ლაზერული საჭრელი მანქანა

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

  • Adobe Illustrator
  • Adobe Photoshop
  • მარტორქა 3D

ნაბიჯი 1: დაფის დიზაინი

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

რუქის მონახაზი

  1. ჩამოტვირთეთ რუკის მონახაზი Google- დან

    1. Google "გაერთიანებული ერების ლოგო"
    2. აირჩიეთ "ინსტრუმენტები - ზომა - დიდი"
    3. ჩამოტვირთეთ თქვენი ყველაზე საყვარელი სურათი (ის, რაც ამ პროექტმა გამოიყენა: ბმული) *ეცადეთ არ შეარჩიოთ ის სურათები, რომელთაც აქვთ რთული ხაზები, რომლებიც გადაფარავს კონტინენტურ მიწებს *
  2. გადმოწერილი რუკა გადაიტანეთ საბეჭდ ვერსიაში

    1. შეღებეთ არასასურველი რეგიონები თეთრად ფუნჯის ფუნქციის გამოყენებით Adobe Photoshop– ში
    2. ფაილის ექსპორტი (JPEG)
    3. შემოიტანეთ ფაილი Adobe Illustrator– ში და გამოიყენეთ ფუნქცია "გამოსახულების კვალი" რუქის დასადგენად
    4. ფაილის ექსპორტი (dxf)

ექვსკუთხედის ფონის დამატება

  1. შემოიტანეთ dxf ფაილი მარტორქაში
  2. აირჩიეთ "პოლიგონის" ფუნქცია და გასაღები "6" - ში "NumSides" ვარიანტისთვის
  3. შეიყვანეთ "3.5" რადიუსის მნიშვნელობისთვის
  4. დახაზეთ 28 თანაბარი ზომის ექვსკუთხედი
  5. ფაილის ექსპორტი 3 დმ

ნაბიჯი 2: ლაზერული ჭრა

Image
Image
ლაზერული ჭრა
ლაზერული ჭრა
ლაზერული ჭრა
ლაზერული ჭრა
ლაზერული ჭრა
ლაზერული ჭრა
  1. შემოიტანეთ ადრე დასრულებული ფაილი xxx– ში.
  2. ლაზერული საჭრელი აპარატის გამოყენებით დაბეჭდეთ ხის ძირითადი დაფა და კონტინენტი აკრილის დაფებზე (2 გამჭვირვალე და 1 ნახევრად გამჭვირვალე) (ვიდეო მოცემულია ზემოთ)

ნაბიჯი 3: ააშენეთ მოწყობილობა

ააშენეთ მოწყობილობა
ააშენეთ მოწყობილობა
ააშენეთ მოწყობილობა
ააშენეთ მოწყობილობა
ააშენეთ მოწყობილობა
ააშენეთ მოწყობილობა

დაფები ლაზერული ჭრის შემდეგ

  • აკრილის კონტინენტები

    1. გამოიყენეთ ულტრაიისფერი სხივების სამკურნალო წებოები თითოეული კონტინენტის სამი დაფის ერთმანეთთან დასაკავშირებლად (შუა ფენის ნახევრად გამჭვირვალედ)
    2. გამოიყენეთ ულტრაიისფერი შუქი ბრწყინავს წებოვან რეგიონებს, რათა წებოები გამყარდეს
  • ხის დაფის ფონდი

    1. ხელით ამოიღეთ ხის ძირითადი დაფაზე ჩარჩენილი მცირე მიწის ნაკვეთები
    2. *თუ ხის დაფის რომელიმე ნაწილი გატეხილია, გამოიყენეთ ულტრაიისფერი გამოსასწორებელი ადჰეზივები მათ დასაბრუნებლად*

ბაზის მშენებლობა (მთელი მოწყობილობის ქვედა საფუძველი)

  1. იპოვეთ შესაბამისი ზომის მუყაოს ყუთი, რომლის ზომებია 13*9*5.7 ინჩი (33*23*14.5 სმ)
  2. ხის დაფის, როგორც საცნობარო მოდელის გამოყენებით, მიჰყევით კონტინენტის ნაწილებს ყუთის ზედა ზედაპირზე
  3. მიჰყევით ღილაკების ქვედა ნაწილს ყუთის ზედა ზედაპირზე, თითოეული ღილაკი კონცენტრირებულია თითოეულ მიკვლეულ კონტინენტურ ნაწილში
  4. გამოიყენეთ დანა, რომ გათიშოთ ღილაკის ნაწილები კვალის მიყოლებით
  5. კონტინენტურ ნაწილებში, გამოიყენეთ დანა ღილაკის გარშემო მოკლე სეგმენტების შესაწყვეტად
  6. მიჰყევით ღილაკის კიდევ ორ ქვედა ნაწილს ყუთის მარჯვენა მხარეს (სცადეთ კვალი იმავე სიმაღლეზე გაათანაბროთ)
  7. მონიშნეთ LCD ეკრანის დაფა ყუთის მარჯვენა მხარეს (წინა საფეხურის ორი ღილაკის ზემოთ)
  8. გამოიყენეთ დანა, რომ გაწყვიტოთ ღილაკის ორი ნაწილი და LCD ნაწილი კვალის მიდევნებით მე –6 და მე –7 ნაბიჯებში

ნაბიჯი 4: შექმენით სქემები

ააშენეთ სქემები
ააშენეთ სქემები

ზემოთ მოყვანილი სქემების გათვალისწინებით, ააშენეთ წრე.

Შენიშვნა:

  • RGB LED- ების რეზისტორები და ღილაკების ღილაკები განსხვავებულია, შეხედე ნათლად!
  • ვინაიდან LCD ეკრანის დაფას ზემოთ არ აქვს I2C მოდელი, ის სრულყოფილად არ არის დაკავშირებული. (LCD ჩვენების დაფები I2C მოდელებით მხოლოდ ოთხი ქინძისთავის შესაერთებლად არის საჭირო)

    • შეაერთეთ GNDs ჩვენებასა და Arduino დაფაზე
    • შეაერთეთ VCC ჩვენების ეკრანზე დადებით პინდებზე პურის დაფაზე
    • შეაერთეთ SDA დისპლეიზე და Arduino დაფაზე
    • შეაერთეთ SCL დისპლეიზე და Arduino დაფაზე

ნაბიჯი 5: ატვირთეთ კოდი

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

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

Შენიშვნა:

  • ყველა კონკრეტული D ქინძისთავის შეცვლა და მორგება შესაძლებელია თქვენი სქემის განლაგების საფუძველზე
  • ყველა დაგვიანებული წამი შეიძლება შეიცვალოს სხვადასხვა მნიშვნელობად, მაგრამ არ წაშალოთ ისინი! (ეს დაგვიანებული წამი კოდს უფრო ლოგიკურად გადინების საშუალებას აძლევს. მათ გარეშე კოდის ზოგიერთი ნაწილი შეიძლება არ იმუშაოს!)
  • 24 -ე ხაზზე ("მარყუჟისათვის" დანერგვა), შეგიძლიათ მიუთითოთ გამეორებების რაოდენობა, რომელზეც გსურთ მარყუჟის გაშვება (თავდაპირველი მნიშვნელობა არის 5)
  • RGB LED- ების ფერის კომბინაცია თითოეული ღილაკის "თუ დაჭერილია" და "თუ არ არის დაჭერილი" მარყუჟებში შეიძლება მორგებული და მორგებული იყოს. (თავდაპირველად, RGB LED- ები ანათებდნენ მწვანედ, თუ დააჭერდნენ, ხოლო ისინი წითლად ანათებდნენ, თუ არ დააჭერდნენ. თქვენ შეგიძლიათ შეცვალოთ ღირებულებები, რომ ჰქონდეთ შემოქმედებითი ფერები სწორი და არასწორი პასუხის გასაცემად)

#ჩართეთ

#მოიცავს LiquidCrystal_I2C lcd_I2C_27 (0x27, 16, 2); // დააყენეთ LCD მისამართი 16 სიმბოლოს და 2 ხაზის ჩვენების int _R; // შემოიღეთ ცვლადი R, რომელიც ნიშნავს RGB LED- ების წითელი მნიშვნელობას int _G; // შემოიღეთ ცვლადი G, რომელიც წარმოადგენს RGB LED- ების მწვანე მნიშვნელობას int _B; // შემოიღეთ ცვლადი B, რომელიც წარმოადგენს RGB LED- ების ლურჯ მნიშვნელობას int _SongNumber; // ცვლადი SongNumber void setup () {pinMode (10, INPUT) შემოღება; // ადგენს D10 შეყვანის რუქის გაფორმების ღილაკზე pinMode (9, INPUT); // ადგენს D9 თავსატეხის თამაშის ღილაკზე pinMode (8, INPUT); // ადგენს D8 როგორც შეყვანის ევრაზიის ღილაკს pinMode (4, INPUT); // ადგენს D4 როგორც შეყვანის ჩრდილოეთ ამერიკის ღილაკს pinMode (3, INPUT); // ადგენს D3 როგორც შეყვანის სამხრეთ ამერიკის ღილაკს pinMode (2, INPUT); // ადგენს D2- ს, როგორც შეყვანის აფრიკის ღილაკს pinMode (1, INPUT); // ადგენს D1 როგორც შეყვანის Oceania ღილაკს lcd_I2C_27.init (); // LCD ეკრანის დაფის ინიციალიზაცია lcd_I2C_27. backlight (); // ჩართეთ LCD ეკრანის დაფის შუქნიშანი} void loop () {if (digitalRead (10)) {// თუ რუკა-დეკორაციის ღილაკზე დაჭერით (int i = 0; i <5; ++ i) {// გაუშვით შემდეგი მარყუჟი 5 -ჯერ _R = შემთხვევითი (0, 1023); // მიეცით ცვლადს R შემთხვევითი მნიშვნელობა 0 -დან 1023 _G = შემთხვევითი (0, 1023); // მიეცით ცვლადს G შემთხვევითი მნიშვნელობა 0 -დან 1023 -მდე _B = შემთხვევითი (0, 1023); // მიეცით B ცვლადს შემთხვევითი მნიშვნელობა 0 -დან 1023 analogWrite (13, (_R /4)); // RGB RGB LED- ები პირველი ჯგუფის შემცვლელებისთვის და წერს ცვლადის მნიშვნელობას 0 -დან 255 -მდე analogWrite (12, (_G /4)); // RGB LED- ების G მნიშვნელობა პირველი ჯგუფის შემცვლელებისთვის და წერს ცვლადის მნიშვნელობას 0 -დან 255 -მდე analogWrite (11, (_B /4)); // RGB LED- ების B მნიშვნელობა პირველი ჯგუფის შემცვლელებისთვის და წერს ცვლადის მნიშვნელობას 0 -დან 255 -მდე analogWrite (7, (_R /4)); // RGB LED- ების მაჩვენებელი მეორე ჯგუფის შემცვლელებისთვის და წერს ცვლადის მნიშვნელობას 0 -დან 255 -მდე analogWrite (6, (_G /4)); // RGB LED- ების G მნიშვნელობა მეორე ჯგუფის შემცვლელებისთვის და წერს ცვლადის მნიშვნელობას 0 -დან 255 -მდე analogWrite (5, (_B /4)); // RGB LED- ების B მნიშვნელობა მეორე ჯგუფის შემცვლელებისთვის და წერს ცვლადის მნიშვნელობას 0 -დან 255 -მდე დაყოვნებით (3000); // დაელოდეთ 3000 მილიწამს (3 წამი)} // რადგან ცვლადი R, G, B მნიშვნელობები განისაზღვრება მარყუჟში, თითო მარყუჟში იქნება ხუთი განსხვავებული ფერის კომბინაცია} თუ (digitalRead (9)) {// თუ თავსატეხის თამაშის ღილაკი დაჭერილია _SongNumber = შემთხვევითი (1, 20); // მიეცით ცვლადი SongNumber შემთხვევითი მნიშვნელობა 1 -დან 20 lcd_I2C_27.setCursor (0, 0); // კურსორის დაყენება, დათვლა იწყება 0 lcd_I2C_27.print (_SongNumber); // დაბეჭდეთ SongNumber- ის მნიშვნელობა LCD ეკრანზე analogWrite (13, 0); // გადატვირთეთ და ჩაწერეთ D13 მნიშვნელობა 0 analogWrite (12, 0); // გადატვირთეთ და ჩაწერეთ D12 მნიშვნელობა 0 analogWrite (11, 0); // გადატვირთეთ და ჩაწერეთ D11 მნიშვნელობა 0 analogWrite (7, 0); // გადატვირთეთ და ჩაწერეთ D7 მნიშვნელობა 0 analogWrite (6, 0); // გადატვირთეთ და ჩაწერეთ D6 მნიშვნელობა 0 analogWrite (5, 0); // გადატვირთეთ და ჩაწერეთ D5- ის მნიშვნელობა 0, თუ (_SongNumber> = 1 && _SongNumber = 4 && _SongNumber = 7 && _SongNumber = 11 && _SongNumber = 15 && _SongNumber = 18 && _SongNumber <= 20) {// თუ მნიშვნელობა ცვლადი SongNumber არის 18 -დან 20 -მდე დაგვიანებით (60000); // დაელოდეთ 60000 მილიწამს მოთამაშეებს ხალხური მუსიკის მოსასმენად (60 წამი; 1 წთ) თუ (digitalRead (1)) {// თუ ოკეანეთის ღილაკს დააწკაპუნებთ analogWrite (13, 0); // analogWrite მნიშვნელობა D13 როგორც 0 analogWrite (12, 255); // analogWrite მნიშვნელობა D12 როგორც 255 analogWrite (11, 0); // analogWrite მნიშვნელობა D11 როგორც 0 analogWrite (7, 0); // analogWrite მნიშვნელობა D7 როგორც 0 analogWrite (6, 255); // analogWrite მნიშვნელობა D6 255 analogWrite (5, 0); // analogWrite მნიშვნელობა D5 როგორც 0} // ყველა RGB LED ნათურა სხვაგვარად ანათებს მწვანე ფერს {// თუკი Oceania ღილაკს არ დააჭერთ analogWrite (13, 255); // analogWrite ღირებულება D13 255 analogWrite (12, 0); // analogWrite მნიშვნელობა D12 როგორც 0 analogWrite (11, 0); // analogWrite მნიშვნელობა D11 როგორც 0 analogWrite (7, 255); // analogWrite მნიშვნელობა D7 255 analogWrite (6, 0); // analogWrite მნიშვნელობა D6 როგორც 0 analogWrite (5, 0); // ანალოგი ჩაწერეთ D5- ის მნიშვნელობა, როგორც 0} // ყველა RGB LED- ი ანათებს წითლად} // ვინაიდან სწორი პასუხები SongNumber 18 -დან 20 -მდე არის მთელი ოკეანეთი, ეს "თუ მარყუჟია" წვდება მოთამაშის პასუხი სწორია თუ არა არა lcd_I2C_27. გასაგებია (); // LCD ეკრანის დაფის დაყოვნების გასუფთავება (1000); // დაელოდეთ 1000 მილიწამს (1 წამი)}}

ნაბიჯი 6: მოწყობილობის დასრულება

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

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

  3. ჩასვით ორი "ფუნქციური ღილაკი" (D-10 რუქა და თავსატეხი-თამაში D9) ყუთის მარჯვენა მხარეს თითოეულ დაჭრილ ნაწილში
  4. დააინსტალირეთ LCD ეკრანის დაფა მის მოჭრილ ნაწილში ყუთის მარჯვენა მხარეს
  5. გახსენით ყუთი და დარწმუნდით, რომ ყველა მავთული სწორად არის დაკავშირებული დაფებთან
  6. მიამაგრეთ ხის დაფის საძირკველი ყუთის ზედა ნაწილზე ორმაგი ცალმხრივი ლენტის გამოყენებით (დარწმუნდით, რომ სწორად გასწორდით ისე, რომ ღილაკები მოთავსდეს პირდაპირ ხის დაფების მოჭრილ ნაწილში)
  7. გამოიყენეთ ცხელი წებოს იარაღი მცირე რეგიონის ნაწილების შესავსებად (არა ძირითადი კონტინენტები)

ნაბიჯი 7: შესრულებულია !!!!

თავსატეხისთვის გადადით ბმულზე ტესტირების დასაკრავი სიისთვის!

გირჩევთ: