Платформа Блоктину за визуално обучение по програмиране на C/C++ и разработка на приложен софтуер за микроконтролери.
Платформата Блоктину решава проблем в конкретна област, а по-точно създаване на приложни програми за микроконтролери ATtiny85 [2] и по-специално за платформата Tinusaur. Това обуславя и конкретните цели и изисквания, представени в доклада.
Платформа Блоктину за визуално по C/C++ за микроконтролери
1. Платформа Блоктину
за визуално обучение по
програмиране на C/C++ и разработка на
приложен софтуер за микроконтролери
Научна конференция на факултет "Математика и информатика" на младите изследователи
29.5.2017 г., факултет „Математика и информатика”, ВТУ “Св. Св. Кирил и Методий”
2. Области на приложениеОбласти на приложение
● Обучение
– Основи на програмирането
– Програмиране на C/C++
– Микроконтролери
– Вградени устройства
– Роботика
● Хоби
– Електроника,
вградени устройства
– Домашна автоматизация
– Смарт системи
3. ПроблемътПроблемът
● При обучение
– Трудности при бързото изучаване
на понятията
– Невъзможност или неспособност
за усвояване на знанията
● Хоби
– Непознаване на
основни понятия
в областта
● Причини
– Липса на предварителни познания по програмиране
– Липса на други предварително необходими познания
– Нужда от бързо навлизане в материята
– Прекалена сложност на материята
– Възраст
4. РешениетоРешението
● Визуална среда за програмиране
– Блокове и връзки
– Интуитивен интерфейс
● Компилиране в облака
– Независимост от SDK
● Работа в среда на
уеб браузър
● BG10xEU хакатон
– За 24 часа на 12-13 май 2017 г.
в София Тех Парк
– Полуфиналист
5. История и настоящеИстория и настояще
● В миналото ...
– АЛГОЛ
– Други визуални системи
● Scratch
● Google:
App Inventor for Android
● Blocklyduino
● ... и много други
● Недостатъци:
– Не се разработват активно
– Не са предназначени за
конкретната хардуерна
платформа
6. Постановка и изискванияПостановка и изисквания
● Изучаване на програмиране
и езика C/C++
– За микроконтролери
– За абсолютно начинаещи
– За широк възрастов диапазон:
10 ... 60+ г.
– Обвързан с платф. Тинузавър
● Технически параметри
– Платформа
Atmel ATtiny85
– Език за програмиране
C (опц. C++)
– Среда за работа
PC, Mac, Linux
● Всички основни понятия в процедурното програмиране
● Видимост на изходния код на програмния език – C/C++
● Създаване на реални работещи програми
● Минимални изисквания към работната среда
11. Инсталиране и стартИнсталиране и старт
H E X f i l e
- - - - - - - -
B 8 9 A B 9 9 A
C 0 9 A C 1 9 8
8 F E 4 9 3 E C
0 1 9 7 F 1 F 7
0 0 C 0 0 . . .
Backend
SDK, GCC-AVR,
AVR-LibC, Make,
etc.
Backend
SDK, GCC-AVR,
AVR-LibC, Make,
etc.
Web browserWeb browser
Browser extensionBrowser extension
Host applicationHost application
AVRDUDEAVRDUDE
12. Предимства и особеностиПредимства и особености
● Обучение
– Включва всички важни
езикови конструкции
– Генерира предварително
подготвен добре написан код
– Може да се разглежда
генерирания код
– Може да се ползва за
самообучение
● За децата
– Забавно е да се учи
програмиране с Блоктину
● Удобства
– Работи и на български
– Подходящо е за всякакви
възрасти
● Възможност за развитие
– Може да се премине лесно
към „истинско“ програмиране
– Не създава грешни навици
13. Предимства и особеностиПредимства и особености
● Инсталация
1. Браузър разширение
2. Хост-приложение + Драйвер
● SDK, Toolchain, etc.
– Не се инсталират
=> не се обновяват
● Софтуер
– Свободен лиценз
– Отворен код
● Хардуер
– Свободен лиценз
– Отворен код
– Популярен
– Ардуино съвместим
● Работи и на мобилни
платформи – телефони,
таблети и др.
14. Бъдещи плановеБъдещи планове
● За довършване
– Връзката
hosting-app <=> avrdude
– Подобрения за мобилната версия
– Добавка за Firefox
● Ново – Blocktinu Box
– Самостоятелна
система
– Базирана на
Raspberry Pi
– Вграден Wi-Fi
– Независимост от
интеренет
● Ще се използва в лятно
училище по електроника,
програмиране и роботика.
15. ЗаключениеЗаключение
● Първоначалната идея за
проекта доведе до
практическо изпълнение
● Съществуващите
технически проблеми са
решими
● Нужно е практическото
прилагане на платформата
за да се направят изводи
16. Контакти и информацияКонтакти и информация
● Невен Боянов
e-mail: neven@boyanov.org
● Георги Маринов
email: gmtyrnovo@gmail.com
● Blocktinu Project
https://tinusaur.org/projects/blocktinu/
● Tinusaur Project
https://tinusaur.org