Ардуинки, ESP, программирование
96 subscribers
51 photos
8 videos
5 files
15 links
Канал о программировании и вообще об электронике

Вот наш чат: https://yangx.top/arduinki_esp_chat
加入频道
А сегодня мы подготавливаемся а настоящему программированию. Будем изучать структуру программы.
Изначально, если открыть ардуино иде, можно увидеть следующее:
void setup() {
// put your setup code here, to run once
}
void loop() {
// put your main code here, to run repeatedly:
}
А теперь объяснение:
void setup - основная функция, внутри скобок пишутся команды, которые должны выполниться один раз. Например, инициализация датчиков, настройка пинов и т.д.
void loop() - главная функция, команды в ней повторяются циклично: выполнилась последняя и всё начинается с начала loop'a.
// слова
- комментарий. В выполнении программы не участвует. Есть ещё многострочный комментарий, у него с /* и до */ всё пропускается:
/*
Коты
Ардуинки
Ещё что-то
*/
А потом будем разбираться с переменными

#начало
#уроки
А сейчас внеплановый выпуск про esp-01. Просто столкнулся с проблемами, починил и решил поделиться решением этих проблем. Обзора платы сейчас не будет!
Чтобы использовать еспшки, надо установить специальное дополнение к ардуино иде — ядро. Это делается просто: сначала надо зайти в настройки(файл->настройки ИЛИ ctrl+,) и в дополнительные ссылки вставляем https://arduino.esp8266.com/stable/package_esp8266com_index.json, потом уже переходим в инструменты->плата->менеджер плат, в появившемся окне пишем esp8266, выбираем версию 2.7.2 и нажимаем установить. Это не всё. Потом обязательно надо зайти по пути C:\Users\имяпользователя\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\tools\pyserial\serial\serialwin32.py и в начале 219, 220, 221 и 222 строки поставить #. Чтобы прошивать esp-01, надо замкнуть её ногу io0 на gnd. Это решается припаянной на программаторе перемычкой (фотография потом будет). Дальше надо установить настройки так, как будет на следующей фотографии, которая тоже будет потом. После этого всё должно заработать!
#espшки
#платки
#ардуиноиде
#уроки
Настройки. Порт надо выбрать любой, кроме COM1. В моём случае ещё кроме COM2. (См. сообщение про нану)
Доработка программатора и еспшка рядом и в нём
Не забывайте, что ещё есть чат, куда по хэштегу #идея можно предложить идею для поста(в том числе проблема с ардуиной и загрузкой прошивки).
А если что-то не работает из моих выпусков, пишите проблему + #техподдержка

П. С. Просто оставлю это здесь
https://yangx.top/arduinki_electronica?boost
Ардуинки, ESP, программирование pinned «Всем привет! На связи я, а это канал об электронике(это и так понятно). Всего будет 8 видов сообщений(уже больше): #начало - для новичков #avrки - для тех, кто уже что-то знает #espшки - для тех, кому уже мало обычных ардуинок #вифи - для тех, кому нравится…»
Ардуинки, ESP, программирование pinned «Не забывайте, что ещё есть чат, куда по хэштегу #идея можно предложить идею для поста(в том числе проблема с ардуиной и загрузкой прошивки). А если что-то не работает из моих выпусков, пишите проблему + #техподдержка П. С. Просто оставлю это здесь https…»
Ардуинки, ESP, программирование
Перед примером программы надо кое-что ещё уточнить. С переменными работают почти все математические операции(корень и степень записываются подругому). Чтобы не писать a = a + 1;
Можно написать а += 1. Ещё есть особенный оператор — %. Это остаток от деления. Например 5%2=1 , 8%3=2 , 123%100=23.

Чтобы вывести на экран переменную или какой-нибудь текст, надо написать
Serial.print("ваш текст");
ВАЖНЫЕ ДОПОЛНЕНИЯ: 1.чтобы вывести число или переменную, кавычки НЕ нужны. Для текста они обязательны!
2.этим способом весь текст выводится в одну строку, это неудобно. Если не надо выводить что-то типа
Значение 1: 1234
то лучше заменить print на println. Это выведет в столбик. 3.чтобы всё это работало, внутри {} скобок void setup надо написать Serial.begin(9600);
Это инициализация uart'а.
А сейчас программа...
#начало
#уроки
//глобальные переменные. Видны и доступны везде
int a = 1;
byte val = 123;
void setup() {
Serial.begin(9600);
Serial.println(a); // выведет 1
a = -10*2+40;
Serial.println(a); // выведет 20
byte ostatok = val % a; // локальная переменная. Видна только в этих фигурных скобках.
val -= 3; // 123 - 3 = 120
val /= a; // 120 / 20 = 6
Serial.println(val); // выведет 6
}
void loop() {}
П. С. Чтобы открыть порт, надо нажать на значок лупы в правом верхнем углу или нажать ctrl+shift+m
#ардуиноиде
В ближайшее время на канале выйдет инструкция, как собрать такую лампу.
А теперь зачем это всё: в магазинах похожая штука стоит 5 тыс. р., а эта собрана примерно за 1500р., в магазинном варианте нет эффектов и вайфая, а тут есть, в этой лампе можно настроить потребляемый ток, а в магазинной лампе нельзя. Короче дешевле, лучше, но придётся самому собрать
#поделки
#espшки
#вифи
#адреска
Часть 1. Компоненты
1. Вемос на esp8266
2. 2 шайбовых неодимовых магнита
3. Нитка
4. Коробка из леруа мерлена 75х75х30мм
5. Провода
6. Разъём 5,5 на 2,1
7. Адресная лента с плотностью 144 диода/метр
8. Алюминиевая полоска метр на 10мм
9. Какой-нибудь клей
10. Кнопка(можно сенсорную)
11. Необязательно: термоусадка
12. Кнопка с 3 контактами(как в мышке) и обязательно металлической деталькой(сейчас будет фотка)
ledwemos3_0.zip
418.3 KB
Вот прошивка для этой лампы. Там не работает настройка М3(так надо) и глобальная настройка яркости(так не надо, но скоро исправлю)
Что-то другое не работает—пишите сюда
Инструкция, как согнуть алюминиевую полоску