ዝርዝር ሁኔታ:

Arduino Doorbell: 5 ደረጃዎች
Arduino Doorbell: 5 ደረጃዎች

ቪዲዮ: Arduino Doorbell: 5 ደረጃዎች

ቪዲዮ: Arduino Doorbell: 5 ደረጃዎች
ቪዲዮ: 2023 Tesla MODEL Y Performance ⚠️ BUT Did You See… 🤤😘 #Shorts #Short #Tesla #teslamodely 2024, ህዳር
Anonim
አርዱዲኖ በር ደወል
አርዱዲኖ በር ደወል

አቅርቦቶች

-2 የዳቦ ሰሌዳዎች

-buzzer

-ዝላይ ሽቦዎች

-2 አርዱዲኖ/ሪልቲኖ ከኃይል ኬብሎች ጋር

-rf አስተላላፊ እና ተቀባይ

-የግፊት ቁልፍ

-100 ohm resistor

ደረጃ 1: ተግባር

ይህ ፕሮጀክት የአርዲኖን መርሃ ግብር ለማስተላለፍ ዋናው ተግባር ኮዱን የሚጠቀምበት የሥራ በር ነው ፣ ይህም ከአስተላላፊው ጋር ያለው የግፊት ቁልፍ ከገመድ አልባ ግንኙነት ጋር የበሩን ደወል ጩኸት በሚጀምርበት በጩኸት እና ተቀባዩ ምልክት ለመቀበል ወደ መቀበያው መጨረሻ ይልካል።.

ደረጃ 2 - ደረጃ 1 - አስተላላፊ ቦርድ

ደረጃ 1 - አስተላላፊ ቦርድ
ደረጃ 1 - አስተላላፊ ቦርድ

ይህ ፕሮጀክት እንዴት እንደሚሰራ 2 የእንጀራ ሰሌዳዎች እና 2 አርዱዮኖ/ሪልኖኖዎች ለእነሱ ሽቦ ተሰጥቷቸዋል። ለአስተላላፊው ሰሌዳ የግፊት ቁልፍን ከመሬት ጋር ከተገናኘው 100 ohm resistor እና ከዳቦ ሰሌዳ ላይ ከኃይል ጋር ከተገናኘ ሽቦ ጋር እናገናኘዋለን። ከዚያ አስተላላፊውን ከዳቦ ሰሌዳ ጋር ያገናኙት እና በስዕሉ ላይ እንደሚታየው ቁልፉን ከሁለቱም አስተላላፊው እና ከአርዱዲኖ ጋር ያገናኙት።

ደረጃ 3: ደረጃ 2: መቀበያ ቦርድ

ደረጃ 2 - ተቀባይ ቦርድ
ደረጃ 2 - ተቀባይ ቦርድ

በተቀባዩ ሰሌዳ ላይ ጫጫታ የሚሄድበት ቦታ ነው። በተቀባዩ በኩል አንድ ሽቦ ወደ መሬት ያገናኙ እና በኋላ በኮድዎ ውስጥ ሊያበጁት ከሚችሉት የመረጡት ፒን ጋር ሽቦ ያገናኙ። በስዕሉ ላይ እንደሚታየው ተቀባዩን ከዳቦ ሰሌዳ ጋር ያገናኙት እና ከአርዱዲኖ ጋር ሽቦ ያድርጉት።

ደረጃ 4 - ደረጃ 3 - የማስተላለፊያ ኮድ

// ask_transmitter.pde

// -* -ሁነታ: C ++ -* -

// መልእክቶችን ለማስተላለፍ ሬዲዮአድድን እንዴት እንደሚጠቀሙበት ቀላል ምሳሌ

// በጣም ቀላል በሆነ ቀላል ASK አስተላላፊ።

// ከ TX-C1 ሞዱል ጋር ቀለል ያለ (ባለአንድ መንገድ) አስተላላፊ ይተገበራል

#ያካትቱ

#ያካትቱ // በእውነቱ ጥቅም ላይ አልዋለም ግን ለማጠናቀር ያስፈልጋል

RH_ASK ሾፌር;

// RH_ASK ሾፌር (2000 ፣ 2 ፣ 4 ፣ 5); // ESP8266 ወይም ESP32: ፒን 11 ን አይጠቀሙ

ባዶነት ማዋቀር ()

{

Serial.begin (9600); // ማረም ብቻ

pinMode (5 ፣ ግቤት);

ከሆነ (! driver.init ())

Serial.println ("init failed");

}

ባዶነት loop ()

}

ከሆነ (digitalRead (5) == ከፍተኛ) {

const char *msg = "a";

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

driver.waitPacketSent ();

መዘግየት (200);

}

}

ደረጃ 5: ደረጃ 4: የመቀበያ ኮድ

#ያካትቱ

#ያካትቱ // በትክክል ጥቅም ላይ ያልዋለ ግን ለማጠናቀር ያስፈልጋል

#“pitches.h” ን ያካትቱ // ለሙዚቃ ማስታወሻ ተመጣጣኝ ድግግሞሽ ይጨምሩ

#ገጽታዎች

RH_ASK ሾፌር;

ባዶነት ማዋቀር ()

{

Serial.begin (9600); // ማረም ብቻ

ከሆነ (! driver.init ())

Serial.println ("init failed");

ሌላ

Serial.println ("ተከናውኗል");

RH_ASK ሾፌር;

ባዶነት ማዋቀር ()

{

Serial.begin (9600); // ማረም ብቻ

ከሆነ (! driver.init ())

Serial.println ("init failed");

ሌላ

Serial.println ("ተከናውኗል");

}

ባዶ Play_Pirates ()

{

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

int noteDuration = 1000/Pirates_duration [thisNote]; // ቆይታን ወደ የጊዜ መዘግየት ይለውጡ

ቃና (8 ፣ የባህር ወንበዴዎች_ ማስታወሻ [ይህ ማስታወሻ] ፣ የማስታወሻ ጊዜ);

int pauseBetweenNotes = noteDuration * 1.05; // እዚህ 1.05 ጊዜያዊ ነው ፣ በዝግታ ለማጫወት ይጨምሩ

መዘግየት (ለአፍታ አቁም tsakanin ማስታወሻዎች);

noTone (8); // ሙዚቃን በፒን 8 ላይ ያቁሙ

}

}

ባዶነት loop ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

ከሆነ (driver.recv (buf, & buflen)) // አለማገድ

{

Serial.println ("የተመረጠ -> 'እሱ ወንበዴ ነው'");

Play_Pirates ();

Serial.println ("አቁም");

}

}

የሚመከር: