Модуль HC-11
- Войдите на сайт для отправки комментариев
Вс, 23/07/2017 - 18:21
Всем привет!
Купил модуль HC-11 и припаял его к arduino nano.
Попытался передать число, используя этот модуль, на другой модуль (FS1000A), работающий на такой же частоте (433MHz), но ничего не приходит. FS1000A - точно рабочий.
Так как модуль HC-11 можно настраивать с помощью AT-команд, я решил проверить его работоспособность с помощью команды "AT", которая должна была вернуть "OK", но ничег не произошло. (Предварительно я замкнул "SET" с "GND" скрепкой).
Вообщем, помогите понять что с этим модулем, пожалуйста. То ли я что-то неправильно делаю, то ли модуль нерабочий.
Заранее спасибо!
вроде бы не первый день на форуме, а вопросы задавать не научились. Никто в ваши проблемы вникать не станет, пока не приведете скетч и схему подключения
Понял, извиняюсь. Попозже приведу.
Схема подключения модуля HC-11 к arduino nano:
Скетч на передачу:
#define txPin 3 int var=3040, i, x, y; void SendBit(byte b) { x = 640; y = 320; if (b) { digitalWrite(txPin, LOW); delayMicroseconds(x); digitalWrite(txPin, HIGH); delayMicroseconds(y); } else { digitalWrite(txPin, LOW); delayMicroseconds(y); digitalWrite(txPin, HIGH); delayMicroseconds(x); } } void Send_preambula(int preambula) { digitalWrite(txPin, HIGH); delayMicroseconds(preambula); digitalWrite(txPin, LOW); } void SendPerebor(long Code, unsigned int preambula, unsigned int pilot) { for(int i=0; i<8; i++) { Send_preambula(preambula); for(int i=12; i>0 ; i--) { SendBit(bitRead(Code,i-1)); } digitalWrite(txPin, LOW); delayMicroseconds(pilot); } delay(130); } void setup() { pinMode(txPin, OUTPUT); Serial.begin(9600); } void loop() { Serial.print("Otpravlyaem kod "); Serial.print(var); Serial.print(" ("); Serial.print(var, HEX); Serial.println(")"); SendPerebor(var, 320, 11520); var=var+1; Serial.println("Zakonchili"); delay(3000); }Скетч на принятие:
#define rxPin 2 #define MAX_DELTA 200 volatile unsigned long prevtime; volatile unsigned int lolen, hilen, state; //Came volatile static byte cameCounter = 0; volatile static long cameCode = 0; volatile long cashcame = 0; void setup() { pinMode(rxPin, INPUT); Serial.begin(9600); attachInterrupt(0, grab, CHANGE); interrupts(); } void loop() { } boolean CheckValue(unsigned int base, unsigned int value) { return ((value == base) || ((value > base) && ((value - base) < MAX_DELTA)) || ((value < base) && ((base - value) < MAX_DELTA))); } void grab() { state = digitalRead(rxPin); if (state == HIGH) lolen = micros() - prevtime; else hilen = micros() - prevtime; prevtime = micros(); if (state == LOW) { if (CheckValue(320, hilen) && CheckValue(640, lolen)) { cameCode = (cameCode << 1) | 1; cameCounter++; } else if (CheckValue(640, hilen) && CheckValue(320, lolen)) { cameCode = (cameCode << 1) | 0; cameCounter++; } else cameCounter = 0; } else if (lolen > 1000 && (cameCounter == 12 || cameCounter == 13) && ((cameCode & 0xfff) != 0xfff)) { Serial.print("CAME: "); Serial.println(cameCode & 0xfff); cashcame = cameCode & 0xfff; cameCounter = 0; cameCode = 0; } }HS11 vs FS1000A?????
вместо FS1000A попробуйте ESP32.
или NRF24.
мне нужен модуль, работающий на частоте 433 MHz, поэтому выбрал этот модуль)
Всем привет!
Купил модуль HC-11 и припаял его к arduino nano.
Попытался передать число, используя этот модуль, на другой модуль (FS1000A), работающий на такой же частоте (433MHz), но ничего не приходит. FS1000A - точно рабочий.
И не произойдет. Эти модули (так же как HC-12) расчитаны работать в паре, образуя при этом этакий удлинитель. Я со скуки цеплял на один модуль гпс-приемник, второй через переходник в ноут и смотрел в OziExploer'e где у меня подопытный бродит. Мощность только маловата, разогнать бы его ватт до пяти)) Но тогда батарейку жрать немеряно будет.
Так как модуль HC-11 можно настраивать с помощью AT-команд, я решил проверить его работоспособность с помощью команды "AT", которая должна была вернуть "OK", но ничег не произошло. (Предварительно я замкнул "SET" с "GND" скрепкой).
Почти так же было. Пробовал подключать через переходник USB-Uart на CP2102 - реакции ноль. Взял переходник на FTDI (100% оригинальный чип) - с ним всё нормально. Взял другой на CP2102 - с ним работает. Я эти переходники на CP2102 партией 5 штук брал, так только три работают с HC-12.
P.S. А вообще эти модули удобная штука когда надо удлинить uart. Настроить только модули на одни канал предварительно и всё.