สารบัญ:

Arduino ออด: 5 ขั้นตอน
Arduino ออด: 5 ขั้นตอน

วีดีโอ: Arduino ออด: 5 ขั้นตอน

วีดีโอ: Arduino ออด: 5 ขั้นตอน
วีดีโอ: #5 สอน Arduino Tutorial : Arduino ควบคุมขา OUTPUT 2024, กรกฎาคม
Anonim
Arduino ออด
Arduino ออด

เสบียง

-2 แผ่นขนมปัง

-ออด

-สายจัมเปอร์

-2 arduino/genuino พร้อมสายไฟ

-rf ตัวส่งและตัวรับ

- ปุ่มกด

ตัวต้านทาน -100 โอห์ม

ขั้นตอนที่ 1: ฟังก์ชัน

โปรเจ็กต์นี้เป็นกริ่งประตูที่ใช้งานได้ซึ่งหน้าที่หลักคือการใช้รหัสเพื่อตั้งโปรแกรม Arduino ในลักษณะที่ปุ่มกดกับตัวส่งจะส่งสัญญาณไปยังปลายรับด้วยออดและตัวรับสัญญาณซึ่งจะเริ่มเสียงออดของกริ่งประตูด้วยการเชื่อมต่อแบบไร้สาย.

ขั้นตอนที่ 2: ขั้นตอนที่ 1: บอร์ดส่งสัญญาณ

ขั้นตอนที่ 1: บอร์ดส่งสัญญาณ
ขั้นตอนที่ 1: บอร์ดส่งสัญญาณ

วิธีการทำงานของโปรเจ็กต์นี้คือการมีบอร์ดขนมปัง 2 แผ่นและ arduiono/genuinos 2 อันต่อสายเข้าด้วยกัน สำหรับบอร์ดเครื่องส่งสัญญาณเราเชื่อมต่อปุ่มกดกับตัวต้านทาน 100 โอห์มที่เชื่อมต่อกับกราวด์และสายไฟที่เชื่อมต่อกับพลังงานบนเขียงหั่นขนม จากนั้นเชื่อมต่อตัวส่งสัญญาณกับเขียงหั่นขนมและต่อสายปุ่มกับทั้งตัวส่งสัญญาณและ Arduino ตามที่แสดงในภาพ

ขั้นตอนที่ 3: ขั้นตอนที่ 2: บอร์ดตัวรับ

ขั้นตอนที่ 2: บอร์ดรับ
ขั้นตอนที่ 2: บอร์ดรับ

บนกระดานรับสัญญาณเป็นที่ที่ออดไป เชื่อมต่อสายหนึ่งเข้ากับกราวด์ผ่านเครื่องรับ และเชื่อมต่อสายเข้ากับพินที่คุณเลือก ซึ่งคุณสามารถปรับแต่งในโค้ดของคุณได้ในภายหลัง เชื่อมต่อเครื่องรับเข้ากับเขียงหั่นขนมและต่อสายเข้ากับ Arduino ตามที่แสดงในภาพ

ขั้นตอนที่ 4: ขั้นตอนที่ 3: รหัสเครื่องส่งสัญญาณ

// ask_transmitter.pde

// -*- โหมด: C++ -*-

// ตัวอย่างง่ายๆ ของการใช้ RadioHead เพื่อส่งข้อความ

// ด้วยเครื่องส่งสัญญาณ ASK แบบง่ายๆ ด้วยวิธีง่ายๆ

// ใช้เครื่องส่งสัญญาณแบบซิมเพล็กซ์ (ทางเดียว) ด้วยโมดูล TX-C1

#รวม

#include // ไม่ได้ใช้จริงแต่จำเป็นต้องคอมไพล์

ไดรเวอร์ RH_ASK;

// ไดรเวอร์ RH_ASK (2000, 2, 4, 5); // ESP8266 หรือ ESP32: ห้ามใช้พิน 11

การตั้งค่าเป็นโมฆะ ()

{

Serial.begin(9600); // แก้จุดบกพร่องเท่านั้น

โหมดพิน (5, อินพุต);

ถ้า (!driver.init())

Serial.println("init ล้มเหลว");

}

วงเป็นโมฆะ ()

}

if(digitalRead(5)==สูง){

const char *msg = "a";

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

ไดรเวอร์. waitPacketSent();

ล่าช้า(200);

}

}

ขั้นตอนที่ 5: ขั้นตอนที่ 4: รหัสตัวรับ

#รวม

#include // ไม่ได้ใช้จริงแต่จำเป็นต้องคอมไพล์

#include "pitches.h" //เพิ่มความถี่เทียบเท่าโน้ตดนตรี

#include "themes.h" //เพิ่มค่าหมายเหตุและระยะเวลา

ไดรเวอร์ RH_ASK;

การตั้งค่าเป็นโมฆะ ()

{

Serial.begin(9600); // แก้จุดบกพร่องเท่านั้น

ถ้า (!driver.init())

Serial.println("init ล้มเหลว");

อื่น

Serial.println("เสร็จสิ้น");

ไดรเวอร์ RH_ASK;

การตั้งค่าเป็นโมฆะ ()

{

Serial.begin(9600); // แก้จุดบกพร่องเท่านั้น

ถ้า (!driver.init())

Serial.println("init ล้มเหลว");

อื่น

Serial.println("เสร็จสิ้น");

}

เป็นโมฆะ Play_Pirates()

{

สำหรับ (int thisNote = 0; thisNote < (sizeof (Pirates_note)/sizeof (int)); thisNote++) {

int noteDuration = 1000 / Pirates_duration[thisNote];// แปลงระยะเวลาเป็นการหน่วงเวลา

โทน (8, Pirates_note [หมายเหตุนี้], noteDuration);

int pauseBetweenNotes = หมายเหตุระยะเวลา * 1.05; //นี่คือจังหวะ 1.05 ให้เพิ่มเพื่อเล่นช้าลง

ล่าช้า (pauseBetweenNotes);

ไม่มีโทน(8); //หยุดเพลงที่พิน8

}

}

วงเป็นโมฆะ ()

{

uint8_t บัฟ[1];

uint8_t buflen = ขนาด (buf);

if (driver.recv(buf, &buflen)) // ไม่บล็อค

{

Serial.println("เลือกแล้ว -> 'เขาเป็นโจรสลัด' ");

Play_Pirates();

Serial.println("หยุด");

}

}

แนะนำ: