temporal dashboard

temporal dashboard πŸ”—

Dashboard sketch

Disable Integrated Bluetooth Adapter Windows 11 πŸ”—

Windows 11 guide: disable old integrated Bluetooth and use a new USB Bluetooth adapter

Goal

Keep the old integrated motherboard Bluetooth adapter disabled, and allow the new USB Bluetooth dongle to work normally.

In my case:

  • Old integrated adapter to disable: Realtek
  • USB\VID_0BDA&PID_8922\00E04C885A01
  • New USB adapter to allow: TP-Link
  • USB\VID_2357&PID_0604\0CEF154771C0

Windows can disable a specific Plug and Play device by device instance ID, and Group Policy can block installation by hardware ID and device instance ID, including devices that are already installed.

Step 1: Open PowerShell as Administrator

Use this command to list Bluetooth devices:

Get-PnpDevice -Class Bluetooth | Format-Table Status,Class,FriendlyName,InstanceId -Auto

Get-PnpDevice shows the device names and their instance IDs, which is what you need to target the exact old adapter.

Step 2: Identify the two real Bluetooth radios

Look for the entries named:

  • Generic Bluetooth Adapter

In my case, the two radios were:

  • Old integrated Realtek:
USB\VID_0BDA&PID_8922\00E04C885A01

  • New TP-Link USB adapter:
USB\VID_2357&PID_0604\0CEF154771C0

Do not confuse these with the many BTHLE..., Microsoft Bluetooth Enumerator, Generic Access Profile, or Device Information Service entries. Those are usually child devices or Bluetooth services, not the main radio.

Step 3: Unplug the new USB Bluetooth adapter first

Before disabling the old one, unplug the new USB Bluetooth dongle.

This avoids confusion while locking down the internal adapter.

Step 4: Disable the old integrated Bluetooth adapter

Run this in PowerShell as Administrator:

Disable-PnpDevice -InstanceId "USB\VID_0BDA&PID_8922\00E04C885A01" -Confirm:$false

Disable-PnpDevice is the built-in Microsoft PowerShell cmdlet for disabling a PnP device, and it requires administrator rights.

Then verify it:

Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*"} | Format-List FriendlyName,Status,InstanceId

A result like Status : Error is acceptable here if the goal is to stop the integrated Bluetooth radio from functioning.

Step 5: Set Group Policy so Windows does not bring it back

Open:

gpedit.msc

Go to:

Computer Configuration
  > Administrative Templates
  > System
  > Device Installation
  > Device Installation Restrictions

Enable these policies:

A. Prevent installation of devices that match any of these device IDs

Set to Enabled and add:

USB\VID_0BDA&PID_8922

B. Prevent installation of devices that match any of these device instance IDs

Set to Enabled and add:

USB\VID_0BDA&PID_8922\00E04C885A01

C. Also apply to matching devices that are already installed

Set to Enabled

D. Allow administrators to override Device Installation Restriction policies

Set to Disabled

Microsoft documents these device installation restriction policies, including blocking by hardware ID, blocking by instance ID, and applying the restriction to already installed devices. Prevent policies take precedence by default.

Step 6: Force policy refresh

Open Command Prompt as Administrator and run:

gpupdate /force

Step 7: Reboot with the new USB adapter still unplugged

Restart Windows with the TP-Link dongle still removed.

Step 8: Check whether the old adapter stayed disabled

After reboot, run:

Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*"} | Format-List FriendlyName,Status,InstanceId

If the old Realtek still shows as broken, disabled, or not functioning, that is fine.

If it comes back with a different full instance ID, keep the hardware ID block and add the new full instance ID to the instance-ID restriction list too. A device instance ID uniquely identifies a specific device node in Windows.

Step 9: Plug the new USB Bluetooth adapter back in

Now reconnect the TP-Link adapter.

Then check both adapters:

Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*" -or $_.InstanceId -like "USB\VID_2357&PID_0604*"} | Format-Table Status,FriendlyName,InstanceId -Auto

Expected good result:

  • Realtek old adapter:
Error  Generic Bluetooth Adapter  USB\VID_0BDA&PID_8922\...

  • TP-Link new adapter:
OK     Generic Bluetooth Adapter  USB\VID_2357&PID_0604\...

Step 10: If the old adapter still revives, use the stronger built-in command too

Open Command Prompt as Administrator and run:

pnputil /disable-device "USB\VID_0BDA&PID_8922\00E04C885A01"

Microsoft documents pnputil as a built-in Windows tool, and /disable-device is the supported command for disabling a device by instance ID.

Then reboot and check again.

Important notes

Do not use Uninstall as the main fix

For integrated motherboard hardware, uninstalling often does not stick across reboot because Windows re-detects the hardware and recreates it.

Do not block all Bluetooth devices

Do not block Bluetooth by class or by a broad rule, or you may accidentally block the new USB dongle too.

Only block the exact old device using:

  • hardware ID:
USB\VID_0BDA&PID_8922

  • instance ID:
USB\VID_0BDA&PID_8922\00E04C885A01

Windows treats hardware IDs and instance IDs differently, and the instance ID is the exact per-device identifier.

Internal motherboard Bluetooth can still show as USB

That is normal. Many internal Wi-Fi/Bluetooth combo modules expose the Bluetooth side over an internal USB connection.

My exact working commands

Show Bluetooth devices

Get-PnpDevice -Class Bluetooth | Format-Table Status,Class,FriendlyName,InstanceId -Auto

Disable old Realtek integrated Bluetooth

Disable-PnpDevice -InstanceId "USB\VID_0BDA&PID_8922\00E04C885A01" -Confirm:$false

Verify old Realtek

Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*"} | Format-List FriendlyName,Status,InstanceId

Check old and new adapters together

Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*" -or $_.InstanceId -like "USB\VID_2357&PID_0604*"} | Format-Table Status,FriendlyName,InstanceId -Auto

Stronger fallback disable command

pnputil /disable-device "USB\VID_0BDA&PID_8922\00E04C885A01"

Refresh policy

gpupdate /force

My exact Group Policy values

Block old Realtek hardware ID

USB\VID_0BDA&PID_8922

Block old Realtek instance ID

USB\VID_0BDA&PID_8922\00E04C885A01

Policies to set

  • Prevent installation of devices that match any of these device IDs = Enabled
  • Prevent installation of devices that match any of these device instance IDs = Enabled
  • Also apply to matching devices that are already installed = Enabled
  • Allow administrators to override Device Installation Restriction policies = Disabled

Final success state

Good final state:

  • Old Realtek integrated Bluetooth = blocked / disabled / error state
  • New TP-Link USB Bluetooth = OK

That means Windows is using the new USB Bluetooth adapter and not the old motherboard one.

Server Timed ShutDown Machine

Server Timed ShutDown Machine πŸ”—



servershutdown2.zip

ΠŸΠΎΠ΄Ρ€Π΅Π΄Π±Π° Π½Π° ΠΊΠ°Π±Π΅Π»Ρ‡Π΅Ρ‚Π°Ρ‚Π° към дисплСя:



Thing to Check πŸ”—

FreshRSS

anythingLLM

WoW tips and tricks

WoW tips and tricks πŸ”—


Darkmoon Fair crafting reagents

leatherwork lure locations MIDNIGHT

/way Voidstorm 54, 65
/way Eversong Woods:Quel'Thalas 42, 79.94
/way Zul'Aman 48, 54
/way Harandar 66.2, 48.2
/way #2405 43.24 82.83  Great Lure


ΠŸΡ€ΠΎΠ»Π΅Ρ‚Π½ΠΈ ΠΌΡƒΡˆΠΊΠΈ

ΠŸΡ€ΠΎΠ»Π΅Ρ‚Π½ΠΈ ΠΌΡƒΡˆΠΊΠΈ πŸ”—

....

ΠœΠ΅Ρ‡ΠΎ

ΠœΠ΅Ρ‡ΠΎ πŸ”—

...

TFT 2.2" ILI4391 ΠΈ Arduino Nano

TFT 2.2" ILI4391 ΠΈ Arduino Nano πŸ”—

Π‘Π»Π΅Π΄ доста Ρ€ΠΎΠ²Π΅Π½Π΅ ΠΈΠ· google ΠΏΠΎ Ρ‚Π΅ΠΌΠ°Ρ‚Π°, ΠΈ СскпСримСнти Π½Π° Π±Π°Π·Π°Ρ‚Π° ΠΎΠΏΠΈΡ‚Π° Π½Π° ΠΊΠ°ΠΊΠ²ΠΈ Π»ΠΈ Π½Π΅ Ρ…ΠΎΡ€Π°, Π½Π°ΠΉ-накрая успяхмС Π΄Π° ΠΏΠΎΠ΄ΠΊΠ°Ρ€Π°ΠΌΠ΅ Π²ΡŠΠΏΡ€ΠΎΡΠ½ΠΎΡ‚ΠΎ TFT-дисплСйчС Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ. "ΠšΠ»ΡŽΡ‡ΡŠΡ‚ Π·Π° ΠΏΠ°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π°" сС ΠΎΠΊΠ°Π·Π° level-shifter-Π° CD4050BE. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° с рСзисторни Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ ΠΎΠΏΠΈΡ‚ΠΈΡ‚Π΅ бяха Π±Π΅Π·ΡƒΡΠΏΠ΅ΡˆΠ½ΠΈ. Втория ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°ΠΊΡ‚ΠΎ с ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π·Π° Ардуино бСшС подходящата ΠΈ работоспособна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. Π’Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° сС ΡΡŠΠΎΠ±Ρ€Π°Π·ΡΠ²Π° ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° Nano, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ тя Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° ΠΎΡ‚ Π΄Π° Ρ€Π΅Ρ‡Π΅ΠΌ Mega Π΅ доста ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ°. ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π°Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, с която успяхмС Π΄Π° Π½Π°ΠΊΠ°Ρ€Π°ΠΌΠ΅ дисплСят Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ ΠΏΡ€Π΅Ρ‚ΡŠΡ€ΠΏΡΠ½ΠΎ Ρ€Π΅Π΄ΡƒΡ†ΠΈΡ€Π°Π½Π΅ Π·Π°Π΅ΠΌΠ°ΡˆΠ΅ Π½Π°Π΄ 70% ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка сС спрях Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΠΊΠΎΡΡ‚ΠΎ към ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ тСст + Π΄Π²Π΅Ρ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½ΡƒΠΆΠ½ΠΈ Π·Π° Π½Π΅Π³ΠΎ - ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π·Π°Π΅Ρ‚Π° Π² Nano сС свСдС Π΄ΠΎ 50%.

      Π”исплСят с ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°Ρ…ΠΌΠ΅ Π΅ слСдният:

      ΠžΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΈΠ½ΠΎΠ²Π΅Ρ‚Π΅:

Пин | Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
--------------
(1) - Vcc
(2) - Gnd
(3) - CS
(4) - RESET
(5) - D/C
(6) - MOSI
(7) - SCK
(8) - LED
(9) - MISO

      TFT-Ρ‚ΠΎ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ дисплСи Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° 3.3v - ΠΊΠ°ΠΊΡ‚ΠΎ ΠΊΠ°Ρ‚ΠΎ Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅, Ρ‚Π°ΠΊΠ° ΠΈ логичСскитС ΠΌΡƒ сигнали. Π—Π° Ρ†Π΅Π»Ρ‚Π° Π±Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ някакъв level-shifting Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΊΠ°ΠΊΡ‚ΠΎ Nano, Ρ‚Π°ΠΊΠ° ΠΈ Uno, ΠΈ MEGA работят Π½Π° 5v. EдинствСния Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ°Ρ…ΠΌΠ΅ успСх Π±Π΅ с CD4050BE.

      Π•Ρ‚ΠΎ ΠΈ цялостната схСма Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° дисплСя към Arduino Nano посрСдством CD4050BE, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° LED подствСтката. Π—Π° улСснСниС Ρ‰Π΅ Π³ΠΎ Π½Π°Ρ€ΠΈΡ‡Π°ΠΌΠ΅ tft-driver:

      Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° Arduino Nano към tft-driver-Π°:

ΠΏΠΈΠ½  | Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (ΠΏΠΈΠ½ΠΎΠ²Π΅ Π½Π° tft-driver, ΠΊΠΎΠ½Π΅ΠΊΡ‚ΠΎΡ€ SV2/PLC) 
-------------------------
3.3v - (1) Vcc
GND  - (2) Gnd
D10  - (3) CS
D4   - (4) RST (RESET)
D11  - (5) MOSI
D7   - (6) LED
D13  - (7) SCK
D9   - (8) DC
D12  - (9) MISO

       Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° сС ΠΏΠΎΠΌΠ½ΠΈ, Ρ‡Π΅ MOSI, MISO ΠΈ SCK са фиксирани ΠΊΠ°Ρ‚ΠΎ ΠΏΠΈΠ½ΠΎΠ²Π΅, Π·Π° Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ hardware-Π½ΠΎ SPI, Ρ‚Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΈ. ΠžΡΡ‚Π°Π½Π°Π»ΠΈΡ‚Π΅ (RST, LED, DC, CS) ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° бъдС поставСни ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΈΠ½ΠΎΠ²Π΅ ΠΎΡ‚ Π³ΠΎΡ€Π΅-ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ‚Π΅, Π½ΠΎ промяната трябва Π΄Π° бъдС ΠΎΡ‚Ρ€Π°Π·Π΅Π½Π° Π² програмния ΠΊΠΎΠ΄.

      ΠΠ°Ρ‡ΠΈΠ½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π² ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΠΎΡ‚ нас схСма Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅:

#include < SPI.h >
#include < Adafruit_GFX.h >
#include < Adafruit_ILI9341.h >

// TFT дисплСят ΠΈ ΡΠ»ΠΎΡ‚ΡŠΡ‚ Π·Π° SD ΠΊΠ°Ρ€Ρ‚ΠΈ подСлят хардуСрният SPI интСрфСйс.
// Π₯Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈΡ‚Π΅ SPI-ΠΏΠΈΠ½ΠΎΠ²Π΅ са спСцифични Π·Π° всСки ΠΌΠΎΠ΄Π΅Π» Arduino ΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚
// Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ промСняни с Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ.
// Π—Π° Uno, Nano, Duemilanove ΠΈ Ρ‚.Π½. :
// ΠΏΠΈΠ½ 11 = MOSI, ΠΏΠΈΠ½ 12 = MISO, ΠΏΠΈΠ½ 13 = SCK.
// Π—Π° MEGA:
// ΠΏΠΈΠ½ 51 = MOSI, ΠΏΠΈΠ½ 50 = MISO, ΠΏΠΈΠ½ 52 = SCK.

#define TFT_RST 4
#define TFT_LED 7
#define TFT_DC 9
#define TFT_CS 10

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);

void setup() {
  //слСдващитС Π΄Π²Π° Ρ€Π΅Π΄Π° са Π·Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° освСтлСниСто Π½Π° Π΅ΠΊΡ€Π°Π½Π°
  pinMode(TFT_LED,OUTPUT);
  digitalWrite(TFT_LED,HIGH);

  tft.begin();
}

void loop(void) {
  for(uint8_t rotation=0; rotation<4; rotation++) {
    tft.setRotation(rotation);

    tft.fillScreen(ILI9341_BLACK);

    tft.setCursor(0, 0);
    tft.setTextColor(ILI9341_WHITE);  tft.setTextSize(1);
    tft.println("Hello World!");
    tft.setTextColor(ILI9341_YELLOW); tft.setTextSize(2);
    tft.println(9999.99);
    tft.setTextColor(ILI9341_RED);    tft.setTextSize(3);
    tft.println(0xDEADBEEF, HEX);
    tft.println();
    tft.setTextColor(ILI9341_GREEN);
    tft.setTextSize(5);
    tft.println("Test 1");
    tft.setTextSize(2);
    tft.println("Test 2");
    tft.setTextSize(1);
    tft.println("Test 3");
    tft.println("Test 4");
    tft.println("Test text line 5");

    delay(1000);
  }
}

 Π•Ρ‚ΠΎ Π³ΠΈ ΠΈ Π΄Π²Π΅Ρ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π° изтСглянС: ILI9341.zip

Π›ΠΈΠ½ΠΊ към Π²ΠΈΠ΄Π΅ΠΎ Π΄Π΅ΠΌΠΎ: https://youtu.be/xMLieysoa3c?si=W1qnoyaa-xkL8Cxt

ИзползванС Π½Π° nRF24L01(+) Π·Π° комуникация ΠΌΠ΅ΠΆΠ΄Ρƒ Arduino Nano ΠΈ Mega

ИзползванС Π½Π° nRF24L01(+) Π·Π° комуникация ΠΌΠ΅ΠΆΠ΄Ρƒ Arduino Nano ΠΈ Mega πŸ”—

   NRF24L01 сС Π·Π°Ρ…Ρ€Π°Π½Π²Π° с 3.3v. Π•Π΄Π½Π° ΠΎΡ‚ Ρ…ΡƒΠ±Π°Π²ΠΈΡ‚Π΅ страни Π½Π° Ρ‚Π΅Π·ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π΅, Ρ‡Π΅ Π½ΠΈΠ²Π°Ρ‚Π° Π½Π° сигналитС Π·Π° комуникация с Ардуино работят ΠΊΠ°ΠΊΡ‚ΠΎ Π½Π° 3.3v, Ρ‚Π°ΠΊΠ° ΠΈ Π½Π° 5v, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ WiFi ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ ESP8266, ΠΊΠΎΠΈΡ‚ΠΎ са само Π½Π° 3.3v. ΠŸΡ€ΠΈ ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ ΠΎΠΏΠΈΡ‚ΠΈ Π·Π° ΠΏΠΎΠ΄ΠΊΠ°Ρ€Π²Π°Π½Π΅ Π½Π° комуникацията ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Π° nRF ΠΌΠΎΠ΄ΡƒΠ»Π° ΠΈΠ»ΠΈ Π½Π΅ сС ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΡˆΠ΅ Π½ΠΈΠΊΠ°ΠΊΠ²Π° Π²Ρ€ΡŠΠ·ΠΊΠ°, ΠΈΠ»ΠΈ Π² Π½Π°ΠΉ-добрия случай бСшС само Π² Π΅Π΄Π½Π°Ρ‚Π° посока. Π•Π΄ΠΈΠ½ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ със Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ - Π½ΡƒΠΆΠ½ΠΎ Π΅ Π΄Π° сС ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠ½Π΄Π΅Π½Π·Π°Ρ‚ΠΎΡ€ ΠΊΠ°Ρ‚ΠΎ Ρ„ΠΈΠ»Ρ‚ΡŠΡ€. Π—Π° Ρ†Π΅Π»Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Vcc (3.3v) ΠΈ Gnd ΡΠ²ΡŠΡ€Π·Π°Ρ… Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ½Π΄Π΅Π½Π·Π°Ρ‚ΠΎΡ€ 47Β΅f. ВСроятно Ρ‰Π΅ Π΅ Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° сС ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅ с ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΈ характСристики.

   Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π·Π°Ρ…Ρ€Π°Π½ΠΈΡ…ΠΌΠ΅ nRF24L01 ΠΌΠΎΠ΄ΡƒΠ»Π°, Π²Ρ€Π΅ΠΌΠ΅ Π΅ Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ΅ΠΌ ΠΈ останалитС ΠΏΠΈΠ½ΠΎΠ²Π΅ към Ардуино-Ρ‚ΠΎ.

НомСрация Π½Π° ΠΏΠΈΠ½ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° nRF24L01:

1 GND
2 VCC
3 CE
4 CSN
5 SCK
6 MOSI
7 MISO
8 IRQ


   ΠŸΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Arduino Nano:

nRF24L01 | Nano
----------------
 (GND) 1  Gnd
 (VCC) 2  3.3v
 (CE) 3   D9
 (CSN) 4  D10
 (SCK) 5  D13
(MOSI) 6  D11
(MISO) 7  D12
 (IRQ) 8  ΠΠ΅ сС ΠΏΠΎΠ»Π·Π²Π°


   ΠΠΊΠΎ ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Arduino Mega:

nRF24L01 | Mega
----------------
 (GND) 1  Gnd
 (VCC) 2  3.3v
 (CE) 3   D8
 (CSN) 4   D7
 (SCK) 5  D52
(MOSI) 6  D51
(MISO) 7  D50
 (IRQ) 8  ΠΠ΅ сС ΠΏΠΎΠ»Π·Π²Π°


   Π˜Π΄Π²Π° Ρ€Π΅Π΄ Π½Π° софтуСра. Използва сС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° NF24L01 (download).


   Π”Скларация Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ:


#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

   Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ:
// Π”Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° константи ΠΈ ΠΏΠΈΠ½ΠΎΠ²Π΅
#define CE_PIN 9  //Π—Π° MEGA ΠΏΠΈΠ½ 8
#define CSN_PIN 10 //Π—Π° MEGA ΠΏΠΈΠ½ 7

// Π—Π°Π±Π΅Π»Π΅ΠΆΠΊΠ°: "LL" Π² краят Π½Π° константата Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π° Ρ‚ΠΈΠΏ "LongLong"
const uint64_t pipe = 0x0102030405LL; // ДСфиниция Π½Π° адрСс Π½Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° линия

// Π”Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ
RF24 radio(CE_PIN, CSN_PIN); // БъздаванС Π½Π° Ρ€Π°Π΄ΠΈΠΎ-ΠΎΠ±Π΅ΠΊΡ‚

void setup()  
{
 Serial.begin(9600);
  
 //инициализация Π½Π° Ρ€Π°Π΄ΠΈΠΎ ΠΎΠ±Π΅ΠΊΡ‚Π° ΠΈ поставянСто ΠΌΡƒ Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ°Π½Π΅
 radio.begin();
 radio.openReadingPipe(1, pipe);
 radio.startListening();
}


   Π•Π΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅Π½ Loop():

int ccTest = 0;

void loop()  
{
 String recievedData = NRF24Listener(); //Ρ‚ΠΎΠ²Π° трябва Π΄Π° стои Π² loop-Π°(ΡΠ»ΡƒΡˆΠ°ΠΌΠ΅ Π·Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ с Π΄Π°Π½Π½ΠΈ)
 if (recievedData != "") //ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΄Π°Π»ΠΈ ΠΈΠΌΠ° ΠΏΡ€ΠΈΠ΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ с Π΄Π°Π½Π½ΠΈ
 {
  //дСйствия с ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π°Ρ‚Π° информация ΠΎΡ‚ Ρ€Π°Π΄ΠΈΠΎΡ‚ΠΎ (Π² ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° recievedData)
  Serial.println(recievedData);
 } 
   
 //ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½Π° ситуация Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ с Π΄Π°Π½Π½ΠΈ
 ccTest++;
 if (ccTest == 9999)
 {
  sendDataPacket(String(ccTest)); //ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°ΠΌΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ с Π΄Π°Π½Π½ΠΈ ΠΏΡ€ΠΈ ccTest Ρ€Π°Π²Π½o Π½Π° 9999
  ccTest = 0;
 }
 //ΠΊΡ€Π°ΠΉ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ с Π΄Π°Π½Π½ΠΈ

}


   ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° ΠΈΠ·Ρ€Π°Ρ‰Π°Π½Π΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° информация:

void sendDataPacket(String dataToSend) //фукция Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄Π°Π½Π½ΠΈ
{
 radio.stopListening();
 Serial.println("Tx:" + dataToSend;
  
 int str_len = dataToSend.length() + 1;
 char text[str_len];
 dataToSend.toCharArray(text, str_len);
  
 radio.openWritingPipe(pipe);
 radio.write(&text, sizeof(text));
 delay(10);
 radio.openReadingPipe(1, pipe);
 radio.openReadingPipe(0, 0ULL); 
 radio.startListening();
}

String NRF24Listener()
{
 String result = "";
 if ( radio.available() )
  {
  // Π§Π΅Ρ‚Π΅ΠΌ Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ цСлия ΠΏΠ°ΠΊΠ΅Ρ‚ с информация
  bool done = false;
  while (!done)
   {
    // Fetch the data payload
    char text[32] = {0};
    done = radio.read(&text, sizeof(text));
    result = text;
   }
  }
}


Calendar

PC Games

  • VAMPIRE: THE MASQUERADE - BLOODLINES 2 21/10/2025
  • OUTER WORLDS 2 29/10/2025
  • Solasta II 12/03/2026
  • Assasin's Creed Black Flag Resynced 09/07/2026
  • ENSHROUDED 31/12/2026
  • EXODUS 31/12/2099
  • ELDER SCROLL VI 31/12/2099
  • THE EXPANSE: OSIRIS REBORN 31/12/2099
  • CLOCKWORK REVOLUTION 31/12/2099