Სარჩევი:

ხუმრობის სატანკო: 5 ნაბიჯი
ხუმრობის სატანკო: 5 ნაბიჯი

ვიდეო: ხუმრობის სატანკო: 5 ნაბიჯი

ვიდეო: ხუმრობის სატანკო: 5 ნაბიჯი
ვიდეო: ვიქტორ ჰიუგო - "საბრალონი" - ნაწილი პირველი - წიგნი 5-8 2024, ივლისი
Anonim
ხუმრობის სატანკო
ხუმრობის სატანკო

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

ნაბიჯი 1: ნაწილების მიღება

ნაწილები, რომლებიც დაგჭირდებათ ამ პროექტის ხელახლა შესაქმნელად, იქნება

  • 1x კომპიუტერი, რომელსაც შეუძლია გაუშვას Arduino IDE
  • 1x Arduino Uno
  • 1x usb კონექტორის კაბელი Arduino Uno– სთვის
  • 1x სონარის სენსორი
  • 1x სპიკერი (სასურველია ღირსეული ხარისხის (მე გამოვიყენე ის, რომელიც ამოვიღე bluetooth სპიკერიდან)).
  • 1x LM386 გამაძლიერებელი მოდული (შესაძლებელია ამის გაკეთება საკუთარ თავს, მაგრამ მე გამოვიყენე მოდული).
  • 1 x LM393 მიკროფონი
  • 1x LDR
  • 1x LED (ნებისმიერი ფერი გააკეთებს, მაგრამ მე ლურჯი გამოვიყენე).
  • 4x 1kΩ რეზისტორი
  • 1x 2, 7kΩ რეზისტორი
  • 1x პურის დაფა
  • 1x მიკრო SD ბარათი (სასურველია მცირე (1 ან 2 გბ)).
  • 1x დენის საბურღი.
  • 1x 16 მმ საბურღი (სასურველია დამზადებული ლითონის საბურღი).
  • 1x 9 მმ საბურღი (ასევე სასურველია დამზადებული ლითონის საბურღი).
  • 1x 1 მმ საბურღი (კვლავ სასურველია დამზადებული ლითონის საბურღი).
  • 1x მოდელის ტანკი (მე გამოვიყენე 1:35 მასშტაბის ლეოპარდი 2, მაგრამ სხვა შემთხვევებიც კარგად უნდა იყოს).
  • სუპერწებო / ცხელი წებო
  • და საკმაოდ ბევრი მავთული სასურველია სხვადასხვა ფერებში.
  • საკაბელო კავშირები (სურვილისამებრ).

ნაბიჯი 2: გაყვანილობა

გაყვანილობა
გაყვანილობა

ჩვენ უნდა დავიწყოთ გაყვანილობა, სურათი არის ტექნიკური ნახაზი, თუ როგორ უნდა იყოს ეს ყველაფერი შეკრული. ეს უნდა იყოს თქვენი გეგმა. შენიშვნა: ყველა არდუინოს პორტს ეწოდება AP# თითოეული პორტი. ასე რომ მე -4 პორტი Arduino არის AP4, პორტი A0 არის APA0 და პორტი 6 ~ არის AP6 ~ და ა.შ. ყველა სხვა პორტს აქვს სახელი, როგორც თავად მოდულებზე ჩანს.

ნაბიჯი 3: წინასწარი კოდი საგნები

სანამ ჩვენ დავიწყებთ კოდის გამოყენებას, ჩვენ გვჭირდება რაღაც stuf. მე გირჩევთ ახლა მიყევით ამ კაცის სამეურვეო ნაბიჯს 2 -დან 4 -მდე

www.electronoobs.com/eng_arduino_tut8.php

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

ნაბიჯი 4: კოდი

ახლა ჩვენ ვაპირებთ კოდის ატვირთვას arduino– ში. გადაწერეთ ეს ყველაფერი და ჩაწერეთ Arduino IDE– ში და ატვირთეთ თქვენს Arduino– ში.

// მოიცავს ბიბლიოთეკას SD ბარათის მკითხველებისთვის.#მოიცავს "Wtv020sd16p.h" // მოიცავს ბიბლიოთეკას, რომელიც საჭიროა სონარის სენსორისთვის. #მოიცავს // ადგენს ქინძისთავებს არდუინოსთვის. int resetPin = 4; int clockPin = 5; int dataPin = 6; int busyPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // ადგენს SD ბარათის ბიბლიოთეკის ქინძისთავებს. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); // ადგენს ქინძისთავებს სონარის სენსორის ბიბლიოთეკისთვის. NewPing სონარი (11, 10); // ადგენს სხვა შეყვანებს და ადგენს პროგრამის ბიტრეიტს. void setup () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); სერიული.დაწყება (9600); } // პროგრამის ძირითადი ნაწილი. void loop () {// ადგენს intergers int lightDetectedVal = analogRead (lightDetectedPin); int distanceVal = sonar.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // გადადება ისე, რომ პროექტი პროექტი უსასრულოდ არ გააგრძელებს სპიკერის გამოყენებას. დაგვიანება (30000); // სერიული ბეჭდვისა და ბეჭდვის სტრიქონები, ასე რომ თქვენ მარტივად შეგიძლიათ ნახოთ რა მნიშვნელობებს იღებენ სენსორული მოდულები. Serial.print ("ხმის მნიშვნელობა:"); // მრავალჯერადი if განცხადებები ისე, რომ პროგრამა უკრავს სხვადასხვა აუდიო ფაილებს ღირებულებების მიხედვით იზომება სენსორის მოდულები. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("მანძილი:"); if (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("მსუბუქი მნიშვნელობა:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // კიდევ ერთი სერიული ბეჭდვა, რათა ნახოთ რა ზუსტი აუდიო ფაილი იყო დაკრული. Serial.println ("1 --------"); // კიდევ ერთი შეფერხება აუდიო ფაილის სრული სიგრძის დაკვრისთვის. დაგვიანება (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); დაგვიანება (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); დაგვიანება (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); დაგვიანება (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); დაგვიანება (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("მსუბუქი მნიშვნელობა:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); დაგვიანება (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); დაგვიანება (8000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); დაგვიანება (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); დაგვიანება (8000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); დაგვიანება (6000); } else if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); დაგვიანება (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.play ხმა (14); Serial.println ("14 -------"); დაგვიანება (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); დაგვიანება (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); დაგვიანება (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); დაგვიანება (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("მსუბუქი მნიშვნელობა:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); დაგვიანება (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); დაგვიანება (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); დაგვიანება (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.play ხმა (22); Serial.println ("22 -------"); დაგვიანება (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); დაგვიანება (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); დაგვიანება (5000); }}}}

ნაბიჯი 5: საქმე

Იმ შემთხვევაში
Იმ შემთხვევაში
Იმ შემთხვევაში
Იმ შემთხვევაში

ახლა მოდის ფაქტიურად რთული ნაწილი.

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

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

მე გირჩევდი სპიკერის ჩასმა კოშკში. რადგან იქ ბევრი ადგილი უნდა დარჩეს.

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

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

მაგრამ თუ არ ვცდები, თქვენ უნდა დაასრულოთ.

გირჩევთ: