Სარჩევი:

არდუინო კარის ზარი: 5 ნაბიჯი
არდუინო კარის ზარი: 5 ნაბიჯი

ვიდეო: არდუინო კარის ზარი: 5 ნაბიჯი

ვიდეო: არდუინო კარის ზარი: 5 ნაბიჯი
ვიდეო: მანქანის ზარით და SMS-ით დაქოქვა(Arduino) 2024, ივლისი
Anonim
არდუინო დორბელი
არდუინო დორბელი

მარაგები

-2 პურის დაფა

-ზუზუნი

-ჯუმბერის მავთულები

-2 arduino/genuino დენის კაბელებით

-rf გადამცემი და მიმღები

-დააჭირეთ ღილაკს

-100 ohm რეზისტორი

ნაბიჯი 1: ფუნქცია

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

ნაბიჯი 2: ნაბიჯი 1: გადამცემი დაფა

ნაბიჯი 1: გადამცემი დაფა
ნაბიჯი 1: გადამცემი დაფა

როგორ უნდა მუშაობდეს ეს პროექტი არის 2 პურის დაფა და მათთან დაკავშირებული ორი არდიუონო/ნამდვილი. გადამცემი დაფისთვის ჩვენ ვუკავშირდებით ღილაკს 100 ოჰმიანი რეზისტორთან, რომელიც დაკავშირებულია მიწასთან და მავთულს, რომელიც დაკავშირებულია დენის დაფაზე. შემდეგ დააკავშირეთ გადამცემი პურის დაფაზე და დააკავშირეთ ღილაკი ორივე გადამცემთან და არდუინოსთან, როგორც ეს მოცემულია სურათზე.

ნაბიჯი 3: ნაბიჯი 2: მიმღების დაფა

ნაბიჯი 2: მიმღების დაფა
ნაბიჯი 2: მიმღების დაფა

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

ნაბიჯი 4: ნაბიჯი 3: გადამცემის კოდი

// ask_transmitter.pde

// -* -რეჟიმი: C ++ -* -

// მარტივი მაგალითი იმისა, თუ როგორ გამოიყენოთ RadioHead შეტყობინებების გადასაცემად

// მარტივი ASK გადამცემით ძალიან მარტივი გზით.

// ახორციელებს უბრალო (ცალმხრივ) გადამცემს TX-C1 მოდულით

#ჩართეთ

#მოიცავს // ფაქტიურად არ გამოიყენება, მაგრამ საჭიროა შედგენა

RH_ASK მძღოლი;

// RH_ASK მძღოლი (2000, 2, 4, 5); // ESP8266 ან ESP32: არ გამოიყენოთ პინი 11

ბათილად დაყენება ()

{

სერიული.დაწყება (9600); // გამართვა მხოლოდ

pinMode (5, INPUT);

თუ (! driver.init ())

Serial.println ("init ვერ მოხერხდა");

}

ბათილი მარყუჟი ()

}

თუ (digitalRead (5) == HIGH) {

const char *msg = "a";

driver.send ((uint8_t *) msg, strlen (msg));

driver.waitPacketSent ();

დაგვიანება (200);

}

}

ნაბიჯი 5: ნაბიჯი 4: მიმღების კოდი

#ჩართეთ

#მოიცავს // ფაქტიურად არ გამოიყენება, მაგრამ საჭიროა შედგენა

#მოიცავს "pitches.h" // დაამატეთ ეკვივალენტური სიხშირე მუსიკალური ნოტისთვის

#მოიცავს "themes.h" // დაამატეთ შენიშვნა ვალუტა და ხანგრძლივობა

RH_ASK მძღოლი;

ბათილად დაყენება ()

{

სერიული.დაწყება (9600); // გამართვა მხოლოდ

თუ (! driver.init ())

Serial.println ("init ვერ მოხერხდა");

სხვა

Serial.println ("შესრულებულია");

RH_ASK მძღოლი;

ბათილად დაყენება ()

{

სერიული.დაწყება (9600); // გამართვა მხოლოდ

თუ (! driver.init ())

Serial.println ("init ვერ მოხერხდა");

სხვა

Serial.println ("შესრულებულია");

}

ბათილია Play_Pirates ()

{

for (int thisNote = 0; thisNote <(sizeof (Pirates_note)/sizeof (int)); thisNote ++) {

int noteDuration = 1000/Pirates_duration [thisNote]; // ხანგრძლივობის დროის გადადებად გადაქცევა

ტონი (8, Pirates_note [thisNote], noteDuration);

int pauseBetweenNotes = შენიშვნაDuration * 1.05; // აქ 1.05 არის ტემპი, გაზარდეთ რომ უფრო ნელა ითამაშოთ

შეფერხება (pauseBetweenNotes);

noTone (8); // შეწყვიტე მუსიკა პინ 8 -ზე

}

}

ბათილი მარყუჟი ()

{

uint8_t buf [1];

uint8_t buflen = ზომა (buf);

if (driver.recv (buf, & buflen)) // არაბლოკირება

{

Serial.println ("რჩეული -> 'ის არის მეკობრე'");

თამაში_მეკობრეები ();

Serial.println ("გაჩერება");

}

}

გირჩევთ: