Есть в наличии шилд: Esp8266 Esp-01, и не могу подключить его к своему Arduino UNO (китайская)
Начал разбираться как его подключить, нашёл распиновку, в курсе, что работает он строго от 3,3v
Подключил к arduino UNO как и было везде рекомендовано:
пины VCC + CH_PD к 3.3v на ардуине.
пин GND - на землю ардуины
пины TXD и RXD к цифровым входам ардуино, например D10 и D11 (потом в скетче их обозначаю)
Остальные три пина не подключаю никуда.
Простенький скетч для теста:
Данный скетч просто позволяет отправлять AT команды и получать с них ответы, но ответа ни на какие команды нету.
При включении Arduino UNO с подключенным таким образом шилдом Esp8266, на нем загорается красный светодиод, а в сети Wi-Fi появляется открытая точка доступа: AI-THINKER_****** к ней можно подключиться, правда там ничего нету вообще.
Моя задача просто отправлять AT команды и получать на них ответы с шилда, больше ничего не требуется. С этим бьюсь целый день, и так не могу понять что я не так делаю.
Что я пробовал делать:
1) Менять в скетче цифровые пины местами, и тестировать.
2) Втыкать пины TXD и RXD с Esp8266 на такие-же пины ардуины (D0 и D1), и потом так-же их менять местами.
3) Менять скорость порта, и портов, выставляя вместо 9600 другие значения рекомендованные в интернете, например 57600 или 115200 и так далее, и так-же комбинируя.
В итоге посылая команду AT, долгожданного ответа OK я так и не получил.
И что я НЕ пробовал сделать, так это запитывать шиллд отдельным питанием, потому что у меня его попросту нету (то есть блок питания на 12v стандартный есть, а девайса который отрегулировал бы 12v до нужных 3.3v нету).
Но тут есть несколько спорных моментов, а обязательно ли отдельно запитывать этот шиллд если точка доступа и так появляется? Логично предположить, что питания ему хватает, хотя я тут могу ошибаться.
Далее, гуглив по этому вопросу, читал, что все подключали напрямую к arduino UNO и запитывали от него, и всё было ок у большинства, команды AT работали у них прекрасно.
Единственный спорный момент, о котором я читал, что мол некоторые Arduino UNO общаются на цифровых портах посредством только 5v и если шилд посылает команды 3.3v то мол может не сработать, хотя ардуина UNO у меня самая распространенная, как и у подавляющего большинства.
Буду очень рад, если что то посоветуете, что ещё можно попробовать.
И немного оффтопа, буду рад, если посоветуете нормальные стабилизаторы напряжения с 12v до 5v и так-же стабилизатор с 12v до 3.3v, потому что все блоки питания у меня дают на выходе 12v и через резисторы резать их не очень хочется, проще найти нормальные девайсы которые преобразуют в нужный вольтаж.
Благодарю за внимание.
Начал разбираться как его подключить, нашёл распиновку, в курсе, что работает он строго от 3,3v
Подключил к arduino UNO как и было везде рекомендовано:
пины VCC + CH_PD к 3.3v на ардуине.
пин GND - на землю ардуины
пины TXD и RXD к цифровым входам ардуино, например D10 и D11 (потом в скетче их обозначаю)
Остальные три пина не подключаю никуда.
Простенький скетч для теста:
Код:
#include <SoftwareSerial.h> //Подключаем библиотеку работы с Последовательным портом
SoftwareSerial mySerial(10, 11); // RX, TX (Создаем виртуальный порт Esp. подключаем на цифровые пины 10 и 11 порты TX, RX от Esp)
void setup()
{// Открываем последовательный порт компьютера, устанавливаем скорость 9600
Serial.begin(9600);
Serial.setTimeout(500);
// set the data rate for the SoftwareSerial port
mySerial.begin(9600); //Открываем последовательный порт Esp, устанавливаем скорость 9600. Внимание!! убедитесь что Esp работает именно на этой скорости!!
mySerial.println("AT"); // Отправляем тестовую команду АТ в созданный порт, если всё работает в ответе должно прийти ОК
}
void loop() // run over and over
{
if (mySerial.available()) //Если есть данные в порте Esp, то передать их в последовательный порт компьютера
Serial.write(mySerial.read());
if (Serial.available()) //Если есть данные в порте компьютера, то передать их в последовательный порт Esp
mySerial.write(Serial.read());
}
При включении Arduino UNO с подключенным таким образом шилдом Esp8266, на нем загорается красный светодиод, а в сети Wi-Fi появляется открытая точка доступа: AI-THINKER_****** к ней можно подключиться, правда там ничего нету вообще.
Моя задача просто отправлять AT команды и получать на них ответы с шилда, больше ничего не требуется. С этим бьюсь целый день, и так не могу понять что я не так делаю.
Что я пробовал делать:
1) Менять в скетче цифровые пины местами, и тестировать.
2) Втыкать пины TXD и RXD с Esp8266 на такие-же пины ардуины (D0 и D1), и потом так-же их менять местами.
3) Менять скорость порта, и портов, выставляя вместо 9600 другие значения рекомендованные в интернете, например 57600 или 115200 и так далее, и так-же комбинируя.
В итоге посылая команду AT, долгожданного ответа OK я так и не получил.
И что я НЕ пробовал сделать, так это запитывать шиллд отдельным питанием, потому что у меня его попросту нету (то есть блок питания на 12v стандартный есть, а девайса который отрегулировал бы 12v до нужных 3.3v нету).
Но тут есть несколько спорных моментов, а обязательно ли отдельно запитывать этот шиллд если точка доступа и так появляется? Логично предположить, что питания ему хватает, хотя я тут могу ошибаться.
Далее, гуглив по этому вопросу, читал, что все подключали напрямую к arduino UNO и запитывали от него, и всё было ок у большинства, команды AT работали у них прекрасно.
Единственный спорный момент, о котором я читал, что мол некоторые Arduino UNO общаются на цифровых портах посредством только 5v и если шилд посылает команды 3.3v то мол может не сработать, хотя ардуина UNO у меня самая распространенная, как и у подавляющего большинства.
Буду очень рад, если что то посоветуете, что ещё можно попробовать.
И немного оффтопа, буду рад, если посоветуете нормальные стабилизаторы напряжения с 12v до 5v и так-же стабилизатор с 12v до 3.3v, потому что все блоки питания у меня дают на выходе 12v и через резисторы резать их не очень хочется, проще найти нормальные девайсы которые преобразуют в нужный вольтаж.
Благодарю за внимание.