Форум программистов, компьютерный форум, киберфорум
Arduino
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 19.06.2022
Сообщений: 1

POV "бегущая строка", на подобии "Амперки" - на ESP8266, с отправкой текста по Wifi AP, через браузер телефона

19.06.2022, 20:03. Показов 974. Ответов 0

Студворк — интернет-сервис помощи студентам
Доброе время! Прошу помощи в переделке скетча "Надпись в воздухе", на подобии этой:



ссылка на статью: http://wiki.amperka.ru/projects:povdisplay


Есть скетч (не тот что в статье - а проще, без использования библиотек, без проблем компилируется на ESP8266 в arduino ide) восьмисегментной надписи (8 светодиодов), с использование сдвигового регистра и акселерометра:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
int shiftPin = 4;
int storePin = 3;
int dataPin = 2;
int LEDanPin = 5;
int analogPin = A1;
int schalter = 0;
int kali;
int g;
int Zeichen[13][8]={
  {0,0,0,0,0,0,0,0},
  {0,0,0,1,1,0,0,0},
  {0,0,1,0,0,1,0,0},
  {0,1,0,0,0,0,1,0},
  {1,0,0,1,0,0,0,1},
  {1,0,1,0,0,1,0,1},
  {1,0,1,0,0,0,0,1},
  {1,0,1,0,0,1,0,1},
  {1,0,0,1,0,0,0,1},
  {0,1,0,0,0,0,1,0},
  {0,0,1,0,0,1,0,0},
  {0,0,0,1,1,0,0,0},
  {0,0,0,0,0,0,0,0}};  
void setup(){
 pinMode(storePin, OUTPUT);
 pinMode(shiftPin, OUTPUT);
 pinMode(dataPin, OUTPUT);
 pinMode(LEDanPin, OUTPUT);
 pinMode(analogPin, INPUT);
 Serial.begin(9600);
 kali = analogRead(analogPin);
 digitalWrite(LEDanPin, HIGH);
}
void loop(){
g = kali-(analogRead(analogPin));
Serial.print(g);
Serial.println();
if (g > 80 and schalter == 0){
 schalter = 1;
 delay (30);
 for (int n=0; n < 13; n++){
  for (int i=0; i < 8; i++){
    resetPins();
    digitalWrite(dataPin, Zeichen[n][i]); delay(0);
    digitalWrite(shiftPin, HIGH); delay(0);
    }
  digitalWrite(storePin, HIGH); 
  digitalWrite(LEDanPin, LOW);
  delay(5);
  digitalWrite(LEDanPin, HIGH);
 }
}else if (g < -80 and schalter == 1){
  schalter = 0;
  delay (30);
  for (int n=0; n < 13; n++){
  for (int i=0; i < 8; i++){
    resetPins();
    digitalWrite(dataPin, Zeichen[n][i]); delay(0);
    digitalWrite(shiftPin, HIGH); delay(0);
    }
  digitalWrite(storePin, HIGH); 
  digitalWrite(LEDanPin, LOW);
  delay(5);
  digitalWrite(LEDanPin, HIGH);
 }
}
}
void resetPins(){
  digitalWrite(shiftPin, LOW);
  digitalWrite(storePin, LOW);
  digitalWrite(dataPin, LOW);
}
а так же есть скетч, с помощью которого можно сделать из ESP8266 WiFi точку доступа, к которой можно подключиться, например телефоном и в браузере по адресу 192.168.4.1 откроется html страничка, с помощью которой можно управлять устройством:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*
 * Sketch: ESP8266_LED_Control_02C
 * Now with added CSS and a single button
 * Control an LED from a web browser
 * Intended to be run on an ESP8266
 * 
 * connect to the ESP8266 AP then
 * use web broswer to go to 192.168.4.1
 * 
 */
 
 
#include <ESP8266WiFi.h>
const char WiFiPassword[] = "12345678";
const char AP_NameChar[] = "LEDControl" ;
 
WiFiServer server(80);
 
String header = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n";
String html_1 = "<!DOCTYPE html><html><head><meta name='viewport' content='width=device-width, initial-scale=1.0'/><meta charset='utf-8'><style>body {font-size:140%;} #main {display: table; margin: auto;  padding: 0 10px 0 10px; } h2,{text-align:center; } .button { padding:10px 10px 10px 10px; width:100%;  background-color: #4CAF50; font-size: 120%;}</style><title>LED Control</title></head><body><div id='main'><h2>LED Control</h2>";
String html_2 = "";
String html_4 = "</div></body></html>";
 
String request = "";
int LED_Pin = D1;
 
void setup() 
{
    pinMode(LED_Pin, OUTPUT); 
 
    boolean conn = WiFi.softAP(AP_NameChar, WiFiPassword);
    server.begin();
 
} // void setup()
 
 
 
void loop() 
{
 
    // Check if a client has connected
    WiFiClient client = server.available();
    if (!client)  {  return;  }
 
    // Read the first line of the request
    request = client.readStringUntil('\r');
 
    if       ( request.indexOf("LEDON") > 0 )  { digitalWrite(LED_Pin, HIGH);  }
    else if  ( request.indexOf("LEDOFF") > 0 ) { digitalWrite(LED_Pin, LOW);   }
 
 
    // Get the LED pin status and create the LED status message
    if (digitalRead(LED_Pin) == HIGH) 
    {
        // the LED is on so the button needs to say turn it off
       html_2 = "<form id='F1' action='LEDOFF'><input class='button' type='submit' value='Turn of the LED' ></form><br>";
    }
    else                              
    {
        // the LED is off so the button needs to say turn it on
        html_2 = "<form id='F1' action='LEDON'><input class='button' type='submit' value='Turn on the LED' ></form><br>";
    }
 
 
    client.flush();
 
    client.print( header );
    client.print( html_1 );    
    client.print( html_2 );
    client.print( html_4);
 
    delay(5);
  // The client will actually be disconnected when the function returns and 'client' object is detroyed
 
} // void loop()
Вопрос в следующем: как совместить эти коды (возможно, немного переделав) - чтобы эту самую "воздушную строку" можно было редактировать удаленно, через браузер телефона? Заранее благодарен за помощь!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.06.2022, 20:03
Ответы с готовыми решениями:

передача данных через сокет от ардуино к андроиду через wifi (esp8266)
приветствую. вот в общем собрал такой скетч, на телефоне есть tcp клиент, хочу через сокет передать координаты, но клиент не подключается к...

Не могу связать Arduino mega +wifi esp8266 c ESP8266, которая находится на этой же плате
Уже в течении пяти дней перебираю кучу способов перекинуть с меги на esp данные, но безуспешно. Может кто знает как наладить банальное...

Бегущая строка с загрузкой текста из БД или файла
Общий привет! В общем нужен модуль или компонент бегущей строки для Joomla 2.5. Особенность бегущей строки: подгрузка текста в нее...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.06.2022, 20:03
Помогаю со студенческими работами здесь

Бегущая строка с программированием через Флэшку
Добрый день. Есть работающая бегущая строка, настроенная давно через флэшку. Сама флэшка утрачена, а тут понадобилось внести изменения,...

Подключение телефона к ПК игре через сеть WiFi
Есть 2Д игра. Платформер. Хочу добавить управление через телефон. Т.е. игра будет работать на компьютере а с помощью телефона можно было бы...

Перемещение по указанной строке экрана заданного текста ("бегущая строка")
Написать программу, которая перемещает по указанной строке экрана заданный текст (аналог – бегущая строка). Текст должен перемещаться до...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru