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 В, но все равно не работал
@Shreyan Mehta, 👍0
Обсуждение0
Смотрите также:
- Радиочастотный пакетный импульс 433 МГц с микросхемой ATTiny85
- Радиочастотное дистанционное управление с использованием VirtualWire на ATtiny85, работающем на частоте 8 МГц на внутреннем генераторе
- Программирование сервопривода на ATtiny85
- Питание Arduino Mini Pro с использованием батареи CR2032 в качестве пульта дистанционного управления
- Digispark ATtiny 85 - не распознается как HID устройство
- Клавиатура Digispark ATtiny85
- nRF24L01 + потеря пакетов, вызванная считыванием Arduino и связью с датчиками
- Digispark Micro (ATTINY85) не работает на Macbook Pro 2016 г.
Убедитесь, что ATtiny85 работает на нужной вам частоте. Существуют развилки библиотек, содержащих `<RH_ASK.h>; вы должны указать, какую из них вы на самом деле используете. Это звучит так, как будто вы используете attinycore, но вы также должны сказать и устранить все сомнения., @timemage
Я использую тот, который входит в качестве образца для новой среды разработки arduino. Также я получил эту штуку для проверки частоты , но не получил ее, например, какой она должна быть ?, @Shreyan Mehta
Насколько мне известно, заголовки " нет "<RH_ASK.h>поставляются с IDE. Если что - то и изменилось, то для меня это в новинку., @timemage
просто скачал его когда-то назад, @Shreyan Mehta
Затем вам нужно перейти по ссылке туда, где вы его скачали. Если вы не уверены в частоте, вы можете использовать Arduino для записи загрузчика через интернет-провайдера (об этом есть много учебных пособий в Интернете). Это установило бы частоту на ту, которую вы выбрали в среде IDE, @chrisl
да, вот что я делаю, я сначала загружаю arduino в качестве провайдера, затем выбираю для attiny и делаю то же самое для attiny., @Shreyan Mehta