Attiny85 с 433 МГц вч, работал отлично нано к нано, не attiny85 к нано

Прежде чем понизить голос или отбросить этот вопрос, я проверил другие вопросы аналогичной природы, но они используют другую библиотеку.

Поэтому я создаю сигнальное сообщение с помощью RF-модуля 433 МГц. Я знаю, что вы, ребята, возможно, видели подобный пост. Я прочитал много постов, но не могу заставить вещи работать.

код приемника на arduino nano :

#include <RH_ASK.h>
#ifdef RH_HAVE_HARDWARE_SPI
#include <SPI.h> // Фактически не используется, но необходим для компиляции
#endif
// драйвер(скорость , чтобы не возиться с этим , получить пин , передать пин, нажать, чтобы поговорить )
RH_ASK driver(2000, 2,4,5);
// RH_ASK driver(2000, 4, 5, 0); // ESP8266 или ESP32: не используйте контакты 11 или 2
// RH_ASK driver(2000, 3, 4, 0); // ATTiny, RX на Д3 (контакт 2 на attiny85) передача на d4 (вывод 3 на attiny85),
// RH_ASK driver(2000, PD14, PD13, 0); STM32F4 Открытие: увидеть TX и RX на оранжевый и красный светодиоды

void setup()
{
#ifdef RH_HAVE_SERIAL
    Serial.begin(9600);   // Только отладка
#endif
    if (!driver.init())
#ifdef RH_HAVE_SERIAL
         Serial.println("init failed");
#else
    ;
#endif
}

void loop()
{
    uint8_t buf[RH_ASK_MAX_MESSAGE_LEN];
    uint8_t buflen = sizeof(buf);

    if (driver.recv(buf, &buflen)) // Неблокирующий
    {
//  int i;

    // Сообщение с хорошей контрольной суммой получено, сбросьте его.
//  driver.printBuffer("Got:", buf, buflen);

    String rcv;

    for (int i =0; i < buflen; i++) {
        rcv += (char)buf[i];
    }
    Serial.println(rcv);
    } else {
    Serial.println("else");   
    Serial.println((char)buf[0],buflen);   
    delay(1000);   
    }
}

код передатчика :

#include <RH_ASK.h>
#ifdef RH_HAVE_HARDWARE_SPI
#include <SPI.h> // Not actually used but needed to compile
#endif
// driver(speed not to mess with that , receive pin , transmit pin , push to talk )
RH_ASK driver(2000, 5,3,0); // ESP8266 or ESP32: do not use pin 11 or 2
// RH_ASK driver(2000, 3, 4, 0); // ATTiny, RX on D3 (pin 2 on attiny85) TX on D4 (pin 3 on attiny85),
// RH_ASK driver(2000, PD14, PD13, 0); STM32F4 Discovery: see tx and rx on Orange and Red LEDS

void setup()
{
 
#ifdef RH_HAVE_SERIAL
    Serial.begin(9600);    // Debugging only
#endif
    if (!driver.init())
#ifdef RH_HAVE_SERIAL
         Serial.println("init failed");
#else
  ;
#endif
//pinMode(4, OUTPUT);
}

void loop()
{
    const char *msg = "higgh";
    driver.send((uint8_t *)msg, strlen(msg));
    driver.waitPacketSent();
    delay(1000);
//    digitalWrite(4, HIGH);   // turn the LED on (HIGH is the voltage level)
//    delay(1000);                       // wait for a second
//    digitalWrite(4, LOW);
}

Его работа, если я использую другой arduino nano в качестве передатчика, но не с attiny85. Я могу заставить blink успешно работать с attiny85 . так что добавление кода в attiny85-это нормально, я думаю.

Также я использую 3 , который является pin 2 для attiny85

Я даже изменил 5 В на attiny85 на 3 В, но все равно не работал

, 👍0

Обсуждение

Убедитесь, что ATtiny85 работает на нужной вам частоте. Существуют развилки библиотек, содержащих `<RH_ASK.h>; вы должны указать, какую из них вы на самом деле используете. Это звучит так, как будто вы используете attinycore, но вы также должны сказать и устранить все сомнения., @timemage

Я использую тот, который входит в качестве образца для новой среды разработки arduino. Также я получил эту штуку для проверки частоты , но не получил ее, например, какой она должна быть ?, @Shreyan Mehta

Насколько мне известно, заголовки " нет "<RH_ASK.h>поставляются с IDE. Если что - то и изменилось, то для меня это в новинку., @timemage

просто скачал его когда-то назад, @Shreyan Mehta

Затем вам нужно перейти по ссылке туда, где вы его скачали. Если вы не уверены в частоте, вы можете использовать Arduino для записи загрузчика через интернет-провайдера (об этом есть много учебных пособий в Интернете). Это установило бы частоту на ту, которую вы выбрали в среде IDE, @chrisl

да, вот что я делаю, я сначала загружаю arduino в качестве провайдера, затем выбираю для attiny и делаю то же самое для attiny., @Shreyan Mehta