В Епізоді 3 ми розповідали про GGreg20 реєстратор радіоактивних частинок з виходом на контролер
Для чого потрібний контролер?
Признаємось, що розробники електронної апаратури (і ми не виключення) пробують знайти рішення без використання контролера, бо бояться програмування.
Щоб не “зв’язуватися” з програмуванням, ми пробували знайти в інтернеті готовий модуль з якимось екраном і лічильником імпульсів.
Шановне панство! Не рекомендуємо тратити час. Навіть якщо знайдете якийсь модуль, який рахує імпульси і відображає їх кількість, це будуть не Рентгени і не Зіверти, а просто кількість імпульсів або частота. А ціна такого модуля – як весь дозиметр.
Отже, для чого потрібний контролер?
- порахувати кількість імпульсів за період часу;
- розрахувати ряд параметрів, пов’язаних з рівнем радіації і захистом людини: поточний рівень, накопичений рівень; детектування і сигналізація про перевищення встановлених порогових значень, фіксація часу і місця вимірів, побудова діаграм і багато чого іншого, що може бути корисним або життєво важливим. Крім того, кожний тип трубки Гейгера-Мюллера має власні оригінальні характеристики, за якими проводяться розрахунки;
- відобразити результати вимірювання і розрахунків на дисплеї;
- пам’ятати статистику вимірювань;
- користуватися засобами радіозв’язку з комп’ютером (Wi-Fi);
- вимірювати і відображати рівень заряду елементів живлення.
На контролері кожний розробник може розробити свій сценарій для програмування і візуалізації даних. З іншого боку, контролер і є тим самим мініатюрним, простим і дешевим готовим модулем, який ми пробували знайти. Якщо Ви вважаєте, що не народились програмістом, це не правда. Контролер надає Вам можливість почати з найпростішого, а через певний час написати найкрутішу у світі програму. Більш того – з часом Ви маєте можливість переписати і оновити програми, щоб вони стали ще кращі.
Детектор GGreg20 можна з’єднати з будь-яким контролером. Це може бути NodeMCU або Arduino, які можна купити в інтернет магазинах. У випадку використання NodeMCU Вам прийдеться якимось чином підключити і закріпити дисплей. Використовуючи Arduino, виникнуть дві проблеми: відсутність дисплея і Wi-Fi. Використовуючи наш комплект GGreg20 + ESP12.OLED, з’єднайте дві плати, як це показано на Рис. 2, включіть живлення і програмуйте. На наших платах все передбачене.
Ми пропонуємо використати наш модуль контролера ESP12.Oled для створення повноцінного зручного дозиметра, і не тільки.
Контролер ESP12.Oled, розроблений на основі модуля ESP8266-12E(F) виробництва компанії Espressif і графічного дисплея, який у формі модуля також розміщений на платі контролера. Чим наш контролер особливий? Ми розробили своєрідний трансформер. Контролер Ви можете використати в якості:
- Программатора MCU 8266-12E (F), на який без пайки можна встановити MCU для програмування а після цього зняти і перенести на користувацький контролер.
- Плати для конструювання власного користувацького контролера в домашніх умовах, використовуючи доступні інструменти. На Рис. 4. і в Таблиці 1. ми відобразили максимум інформації, яка потрібна для створення власного контролера на основі плати ESP12.OLED в мінімальній комплектації.
- Користувацького контролера з постійно впаяним MCU, який можна програмувати і використовувати в пристроях без дисплея а для візуалізації обмежитися можливостями RGB світлодіода;
- В кінці кінців, це може бути повний контролер з дисплеєм, світлодіодом, стабілізатором, серійними інтерфейсами, GPIO, роз’ємом живлення від зарядного пристрою мікроUSB або альтернативний інтерфейс для живлення від батареї і ще багато іншого.
Конфігуратор режимів живлення передбачає режими master або slave. Це значить, що передбаченими перемикачами і роз’ємами контролер може виступати майстром і від нього можна живити підпорядковані модулі напругою 3,3 Вольт або 5 Вольт (якщо в проектах Arduino). Контролер може також бути в ролі підпорядкованого по живленню напругою 3,3 Вольт або 5 Вольт відносно інших модулів.
- Для програмування контролера підключіть ESP12.OLED через роз’єм UART до Вашого комп’ютера, застосувавши інтерфейсний конвертер UART-USB на мікросхемі CP2102 або аналогічний, які широко і дешево пропонує ринок електроніки: модуль CP2102.
- Важливе зауваження: Якщо Ви пішли шляхом створення власного контролера на основі мінімального комплекта ESP12.OLED, вже визначились з додатковими компонентами і зробили прошивку необхідної для Вашого проекту модулів – припаяйте PIN-и усіх встановлених Вами компонентів до плати. Так буде надійніше.
- Таблиця 1.
Позначка на платі ESP12.OLED. | PIN # | Назва в ESP8266-12 | Призначення в ESP12.OLED | IN/OUT | Фізична “підтяжка” на платі ESP12.OLED | Активний рівень |
X2 | 1 | RST | Кнопка RST (Sw2) | In | Pull-up | Низький. На цей pin можна паралельно підключити ще одну кнопку Reset для виносу на панель корпусу. |
2 | ADC | Вхід АЦП – вимірювання рівея напруги живлення | Analog In | Поділювач | Встановлений поділювач для вимірювання рівня напруги живлення від батареї або від USB | |
3 | EN | – | Pull-up | |||
4 | GPIO16 | Deep-Sleep-Wake-up | Out | Pull-up | Низький | |
5 | GPIO14 | VD1 Led Blue | Out | Pull-up | Низький | |
6 | GPIO12 | VD1 Led Green | Out | Pull-up | Низький | |
7 | GPIO13 | VD1 Led Red | Out | Pull-up | Низький | |
8 | VCC | Живлення 3V3 | – | |||
X1 | 1 | GPIO11 | За потребою | |||
2 | GPIO7 | За потребою | ||||
3 | GPIO9 | За потребою | ||||
4 | GPIO10 | За потребою | ||||
5 | GPIO8 | За потребою | ||||
6 | GPIO6 | За потребою | ||||
X3 | 1 | GND | GND | Порт для підключення конвертера USB Загальна шина GND | ||
2 | GPIO15 | HSPI CS | Out | Pull-Down | Низький | |
3 | GPIO2 | Імпульсний вхід | in | Pull-up | Низький | |
4 | GPIO0 | Кнопка Flash (Sw1) | In | Pull-up | Низький. Нацей pin можна підключати паралельну кнопку | |
5 | GPIO4 | I2C SDA | In/out | Pull-up | Порт для підключення компонентів з шиною I2C: SDA | |
6 | GPIO5 | I2C SCL | In/out | Pull-up | Порт для підключення компонентів з шиною I2C: SCL | |
7 | RX | UART вхід даних | In | – | Порт для підключення конвертера USB: RX | |
8 | TX | UART Вихід даних | Out | – | Порт для підключення конвертера USB: TX | |
X5 | 1 | – | Режим живлення | Перемикач | ||
2 | – | Режим живлення | Перемикач | |||
X6 | 1 | – | Вхід живлення від батареї або від іншого компонента 4,5 – 6 Вольт, або вихід 5 Вольт на інший компонент при живленні від USB. | Увага! | Якщо встановлений перемикач Х5, то живлення від Х6(1) або USB.. Якщо живлення 3V3, що поступає через Х6(2) або Х2(8), то перемикач Х5 зняти. | |
2 | 3V3 | Вхід/Вихід 3V3 | In/out | |||
3 | Data (GPIO2) | Вхід імпульсних даних | In | Джерело імпульсів – лічильник Гейгера або лічильник води, електроенергії, тощо. | ||
4 | GND | GND | ||||
J1 | 1 | GPIO16 | On/Off Wake-up after Deep-Sleep | – | – | – |
OLED SDA | 1 | GPIO4 | I2C Data | In/Out | Pull-up | Низький |
OLED SCL | 2 | GPIO5 | I2C Clock | In/Out | Pull-up | Низький |
OLED VCC | 3 | VCC | 3V3 | In/Out | ||
OLED GND | 4 | GND | GND | COM |
- Розміри ESP12.OLED: 65х30х10 мм.
Детальні інструкції щодо варіантів підключення і використання модулів контролера знайдете в описах продуктів: GGreg20 , ESP12.OLED
Гарна штука. А як його програмувати???