lnwshop logo
  • ตอบกระทู้
  • ตั้งกระทู้ใหม่
QUOTE 

ช่วยด้วยครับ เขียนโค้ดส่งสัญญาณเมื่อเรากดสวิตซ์ไม่ได้ ใช้ NRF24L01

Jeerawat Songruksa 1 ปีที่ผ่านมา

ผมอยากจะให้เวลาเรากดสวิตซ์แล้วจะให้มันส่งโค้ดไปให้อีกตัวหนึ่งรับแล้วให้ไปควบคุมLEDกระพริบอะครับ

แต่ผมลองเขียนเอง ปรากฏว่ามันส่งไปเองตลอดเวลาเลยอะเหมือนไม่มีสวิตซ์อยู่เลย ไม่รู้ทำไง (มือใหม่ครับ)

อันนี้ที่ผมลองเขียนอะคับ พึ่งจะฝึกใช้อะไรไม่ค่อยเป็นหรอก ไม่รู้จำดัดแปลงยังไง ช่วยแนะนำหน่อยนะคร๊าบบบบ

 #include <SPI.h>

#include <nRF24L01p.h>

 

nRF24L01p transmitter(7,8);//CSN,CE

 

void setup(){

  delay(150);

  Serial.begin(115200);

  SPI.begin();

  SPI.setBitOrder(MSBFIRST);

  transmitter.channel(90); // ตั้งช่องความถี่ให้ตรงกัน

  transmitter.TXaddress("ALL"); // ตั้งชื่อตำแหน่งให้ตรงกัน ชื่อตั้งได้สูงสุด 5 ตัวอักษร

  transmitter.init();

  pinMode(3,INPUT);

  pinMode(2,INPUT);

}

 

String message;

 

void loop(){

  int Right=digitalRead(2);

  int Left=digitalRead(3);

  if(Right==HIGH){

  transmitter.txPL("LED_Right");  // ค่าที่ต้องการส่ง

  transmitter.send(FAST); // สั่งให้ส่งออกไป

  delay(1000);

  }

  if(Left==HIGH){

  transmitter.txPL("LED_Left");  // ค่าที่ต้องการส่ง

  transmitter.send(FAST); // สั่งให้ส่งออกไป

  delay(1000); 

  } 

}

QUOTE 
ความคิดเห็นที่ #1
Jeerawat Songruksa 1 ปีที่ผ่านมา

ตอนนี้ส่งได้แล้วครับ แต่โค้ดของตัวรับนี่ต้องดัดแปลงยังไงดีครับให้ LEDกระพริบ

อันนี้ที่ผมก๊อบตัวอย่างมา แต่ไม่รู้จะต้องดัดแปลงยังไงดี

#include <SPI.h>

#include <nRF24L01p.h>

 

nRF24L01p receiver(7,8);//CSN,CE

 

void setup(){

  delay(150);

  Serial.begin(115200);

  SPI.begin();

  SPI.setBitOrder(MSBFIRST);

  receiver.channel(90);  // ตั้งช่องความถี่ให้ตรงกัน

  receiver.RXaddress("ALL");  // ตั้งชื่อตำแห่นงให้ตรงกัน ชื่อตั้งได้สูงสุด 5 ตัวอักษร

  receiver.init();

}

 

String message;

 

void loop(){ 

  if(receiver.available()){

    if()

    receiver.read(); // สั่งให้เริ่มอ่าน

    receiver.rxPL(message); // สั่งใหอ่านเก็บไว้ที่ตัวแปร

    Serial.println(message);

    message="";

  }

}

QUOTE 
ความคิดเห็นที่ #2
เจ้าของร้าน
เจ้าของร้าน
1 ปีที่ผ่านมา

ถ้าเป็นลักษณะสวิตช์ทริกให้ทำงาน

โคดปกติจะอ่านค่า nrf24l01 มาตลอด เพื่อให้รับสัญญาณที่ส่งมาได้ทันที

แนะนำให้เขียนตัวแปรสถานะเก็บไว้ แล้วเขียน if เช็ค ลองออกแบบดูครับ

 

1
แสดงความคิดเห็นที่ 1-2 จากทั้งหมด 2 ความคิดเห็น
ชื่อ
อีเมล
ข้อความ
  • ตอบกระทู้

หมวดหมู่สินค้า

สมาชิก Arduino All

เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก

ยังไม่มีบัญชีเทพ สร้างบัญชีใหม่ ไม่เกิน 5 นาที
สมัครสมาชิก (ฟรี)

Arduino All ขายดี

รหัสสินค้า A015
280.00 บาท
  • สั่งซื้อ
รหัสสินค้า A233
5.00 บาท
  • สั่งซื้อ
รหัสสินค้า A115
10.00 บาท
  • สั่งซื้อ
รหัสสินค้า A238
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A014
90.00 บาท
  • สั่งซื้อ
รหัสสินค้า A237
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A097
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A225
5.00 บาท
  • สั่งซื้อ
Go to Top