ESP01-arduino передача данных
- Войдите на сайт для отправки комментариев
Доброго времени суток, всем знатокам Ардуино и всяческих шилдов.
Появилась небольшая проблема, а собственно:
Собрана схема одного устройства, которая считывает некоторую информацию и выводит на экран некоторые данные.
Что собственно нужно сделать:
1) Передать эти данные на ПК посредством ESP01, в любой графической форме,в край можно в строке браузера или Serial.begin
2) Использовать именно ардуино+ЕСП, знаю что ЕСП может работать как отдельный МК, но нужно именно через ардуинку.
3) Не обязательна работа с интернетом(даже наоборот желательно что бы передача осуществлялась по локалке)
Очень надеюсь на помощь, т.к поиск в интернете картину не сильно разъяснил, желательно с примерами, опыта в ардуино много нет, очень надеюсь на помощь, если нужно, помогу чем в ответ.
Если Вы хотите что-то сделать сами и просите помощи, то следует размещать в сообщении написанный Вами скетч и электрическую схему.
Если же Вам нужно, чтобы кто-то что-то сделал за Вас, следует размещать заявку в разделе "Ищу исполнителя".
Схема состоит из 4 делителей на 4 каналах ардуино, получаем аналоговое напряжение и находим амплетуду, выводим на экран, а нужно еще и по wifi на пк или ноут кидать
#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 20, 4); int Acanal = 0; int Bcanal = 1; int Ccanal = 2; int Dcanal = 3; float vout = 0.00; float vin1 = 0.00; float vin2 = 0.00; float vin3 = 0.00; float vin4 = 0.00; float R1 = 999.00; // сопротивление R1 float R2 = 999.00; // сопротивление R2 int value = 0; float naimen1; float naibolshe1; float naimen2; float naibolshe2; float naimen3; float naibolshe3; float naimen4; float naibolshe4; float amp; int Htime; int Ltime; float Ttime; float frequency; void setup() { pinMode(Acanal, INPUT); pinMode(Bcanal, INPUT); pinMode(Ccanal, INPUT); pinMode(Dcanal, INPUT); Serial.begin(1000000); lcd.init(); lcd.backlight(); lcd.setCursor(0, 1); lcd.print("Pole:"); } void loop() { naibolshe1 = 0; naimen1 = 100; naibolshe2 = 0; naimen2 = 100; naibolshe3 = 0; naimen3 = 100; naibolshe4 = 0; naimen4 = 100; { for (int i = 0; i != 101; i++) { value = analogRead(Acanal); vout = ((value * 5.00) / 1024.00*1.08); vin1 = vout / (R2 / (R1 + R2)); naibolshe1 = max(vin1, naibolshe1); naimen1 = min(vin1, naimen1); lcd.setCursor(9, 0); lcd.print("I[X]="); lcd.setCursor(14, 0); lcd.print(naibolshe1); } } { for (int i = 0; i != 101; i++) { value = analogRead(Bcanal); vout = ((value * 5.00) / 1024.00*1.08); vin2 = vout / (R2 / (R1 + R2)); naibolshe2 = max(vin2, naibolshe2); naimen2 = min(vin2, naimen2); lcd.setCursor(9, 1); lcd.print("I[-X]="); lcd.setCursor(15, 1); lcd.print(naibolshe2); } } { for (int i = 0; i != 101; i++) { value = analogRead(Ccanal); vout = ((value * 5.00) / 1024.00*1.08 ); vin3 = vout / (R2 / (R1 + R2)); naibolshe3 = max(vin3, naibolshe3); naimen3 = min(vin3, naimen3); lcd.setCursor(9, 2); lcd.print("I[Y]="); lcd.setCursor(14, 2); lcd.print(naibolshe3); } } { for (int i = 0; i != 101; i++) { value = analogRead(Dcanal); vout = ((value * 5.00) / 1024.00 *1.08); vin4 = vout / (R2 / (R1 + R2)); naibolshe4 = max(vin4, naibolshe4); naimen4 = min(vin4, naimen4); lcd.setCursor(9, 3); lcd.print("I[-X]="); lcd.setCursor(15, 3); lcd.print(naibolshe4); } } }Занимаюсь тем же вопросом - передача данных по воздуху между ардуинами.
надо запускать клиента и сервер, коннектить, передавать. я это делаю на базе ESP8266
Извините меня дурака, а нафига тут ардуино-то? Это как к КАМАЗу приделать дополнительный мотор от газонокосилки. Он жужжать и жрать бензин будет, но толку с него чуть меньше чем никакого.
Не проще ли взять ESP8266 в варианте ESP-12 и все сделать на ней? Всяко, xtensa процессор поинтереснее AVR.
Выводить инфу на экран нужно, + дальнейшее развитие, нужно много каналов будет в будущем, сам понимаю что проще по другому, но почему то выбрал именно этот вариант. Если есть какая возможность использовать только ESP, подскажите, буду благодарен. Получается нужны данные на экран...
Ёкубджон - пара советов по скетчу.
1. Вместо того чтоб делать четыре отдельных набора переменных vin1 vin2... наибольшее... наименьшее... - заведите массивы. Это позволит вам организовать работу с вашими 4-мя аналоговыми входами в одном цикле, вместо четрыех одинаковых кусков кода, как сейчас.
2. Переменные vin наибольшее. наменьшее - абсолютно зря описаны как float. вы же получаете данные с аналогового входа ардуины, где возможны только целые. Вот и работайте с ними как с целыми, а значение напряжение типа Float вычисляйте один раз - только при выводе на печать