O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Микроконтролери
(за абсолютно начинаещи)
Въведение в микроконтролерите
2015-02-21, Hackafe Пловдив
Copyright © 2015, Neven...
Какво е това микроконтролер
Интегрална схема, съчетаваща в себе си
микропроцесор, тактов генератор,
оперативна памет и вхо...
Какво можем да правим с
микроконтролер – нещо просто
Какво можем да правим с
микроконтролер – нещо сложно
Как се програмира микроконтролер
Трябват ни …
● Компютър
● Програматор
● Микроконтролер
Как работи микроконтролера
Как контролираме битовете
Примерна програма
#include <avr/io.h>
int main(void) {
DDRB |= (1 << PB3);
DDRB &= ~(1 << PB4);
while (1) {
if (PINB & (1 ...
Мигащ светодиод
#include <avr/io.h>
#include <util/delay.h>
int main(void) {
DDRB |= (1 << PB3);
while (1) {
PORTB |= (1 <...
Мигащ светодиод
стъпка 1
#include <avr/io.h>
● Включване на
стандартните за за
микроконтролера
дефиниции с помоща
на #incl...
Мигащ светодиод
стъпка 2
#include <avr/io.h>
int main(void) {
return (0);
}
● Главната за
програмата main()
функция.
Мигащ светодиод
стъпка 3
#include <avr/io.h>
int main(void) {
DDRB |= (1 << PB3);
return (0);
}
● Настройка на PB3
като из...
Мигащ светодиод
стъпка 4
#include <avr/io.h>
int main(void) {
DDRB |= (1 << PB3);
while (1) {
}
return (0);
}
● Задаване н...
Мигащ светодиод
стъпка 5
#include <avr/io.h>
int main(void) {
DDRB |= (1 << PB3);
while (1) {
PORTB |= (1 << PB3);
PORTB &...
Мигащ светодиод
стъпка 6
#include <avr/io.h>
#include <util/delay.h>
int main(void) {
DDRB |= (1 << PB3);
while (1) {
PORT...
Среда за разработка
Windows
● WinAVR / AVR-GCC
Linux
● AVR-GCC
$ make ...
$ avrdude ...
make
avrdude
Практика
Въпроси
?
Контакти и препратки
Невен Боянов
● https://twitter.com/boyanov
● https://www.facebook.com/boyanov
● http://www.boyanov.or...
Бонус
Tinusaur: Какво е това?Tinusaur: Какво е това?
● Платка с ATtiny85
микроконтролер
● Минималния брой
компоненти нужни на
ми...
Проста и евтина платформа
за абсолютно начинаещи 
и нетърпеливи помагаща да
се научат бързо как да
работят с микроконтроле...
Какво включва Проекта Тинузавър?Какво включва Проекта Тинузавър?
● Дизайна на Тинузавър ● Ръководствата
● Проекти с Тинуза...
Екстри: Add-on платкиЕкстри: Add-on платки
Hello World!Hello World!
#include <avr/io.h>
#include <util/delay.h>
// Define the I/O port to be used for the LED.
#defin...
Проекти използващи ТинузавърПроекти използващи Тинузавър
Сравнение с други подобниСравнение с други подобни
Сравнение по параметриСравнение по параметри
Raspberry Pi Arduino Uno ATtiny85/Tinusaur
Processor ARM11 – 32-bit RISK ATme...
Кой би могъл да го използва?Кой би могъл да го използва?
● Абсолютно начинаещите,
не е необходим никакъв
почти опит
● Прог...
Кой не би могъл да го използва?Кой не би могъл да го използва?
Това може да се окаже
дразнещо за хора които ...
● Експерти...
Къде се използва в момента?Къде се използва в момента?
В обучението:
● Училища, извънкласни
форми
● Университети, като
доп...
Как се очаква в бъдеще?Как се очаква в бъдеще?
● Подобрени ръководства
● Подобрени онлайн уроци
● Повече проекти
● Повече ...
КонтактиКонтакти
http://tinusaur.org
http://facebook.com/tinusaur
http://twitter.com/tinusaur
… или просто Google: "tinusa...
Próximos SlideShares
Carregando em…5
×

Въведение в Микроконтролерите Пловдив/2015-02-21

Въведение в микроконтролерите като за съвсем начинаещи. Работа с Atmel AVR и по-специално ATtiny85.

  • Seja o primeiro a comentar

Въведение в Микроконтролерите Пловдив/2015-02-21

  1. 1. Микроконтролери (за абсолютно начинаещи) Въведение в микроконтролерите 2015-02-21, Hackafe Пловдив Copyright © 2015, Neven Boyanov This work by Neven Boyanov is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Въведение в микроконтролерите 2015-02-21, Hackafe Пловдив Copyright © 2015, Neven Boyanov This work by Neven Boyanov is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
  2. 2. Какво е това микроконтролер Интегрална схема, съчетаваща в себе си микропроцесор, тактов генератор, оперативна памет и входно-изходни устройства, което и позволява да функционира̀ като самостоятелно компютърно устройство.
  3. 3. Какво можем да правим с микроконтролер – нещо просто
  4. 4. Какво можем да правим с микроконтролер – нещо сложно
  5. 5. Как се програмира микроконтролер Трябват ни … ● Компютър ● Програматор ● Микроконтролер
  6. 6. Как работи микроконтролера
  7. 7. Как контролираме битовете
  8. 8. Примерна програма #include <avr/io.h> int main(void) { DDRB |= (1 << PB3); DDRB &= ~(1 << PB4); while (1) { if (PINB & (1 << PB4) == 0) { PORTB |= (1 << PB3); } else { PORTB &= ~(1 << PB3); } } return (0); }
  9. 9. Мигащ светодиод #include <avr/io.h> #include <util/delay.h> int main(void) { DDRB |= (1 << PB3); while (1) { PORTB |= (1 << PB3); _delay_ms(200); PORTB &= ~(1 << PB3); _delay_ms(400); } return (0); }
  10. 10. Мигащ светодиод стъпка 1 #include <avr/io.h> ● Включване на стандартните за за микроконтролера дефиниции с помоща на #include директивите.
  11. 11. Мигащ светодиод стъпка 2 #include <avr/io.h> int main(void) { return (0); } ● Главната за програмата main() функция.
  12. 12. Мигащ светодиод стъпка 3 #include <avr/io.h> int main(void) { DDRB |= (1 << PB3); return (0); } ● Настройка на PB3 като изход.
  13. 13. Мигащ светодиод стъпка 4 #include <avr/io.h> int main(void) { DDRB |= (1 << PB3); while (1) { } return (0); } ● Задаване на безкраен цикъл wihle(1) за изпълнение на програмата.
  14. 14. Мигащ светодиод стъпка 5 #include <avr/io.h> int main(void) { DDRB |= (1 << PB3); while (1) { PORTB |= (1 << PB3); PORTB &= ~(1 << PB3); } return (0); } ● Последователно установяване на изхода в … – 1 = високо ниво – 0 = ниско ниво … съответстващо на включване и изключване на светодиода.
  15. 15. Мигащ светодиод стъпка 6 #include <avr/io.h> #include <util/delay.h> int main(void) { DDRB |= (1 << PB3); while (1) { PORTB |= (1 << PB3); _delay_ms(200); PORTB &= ~(1 << PB3); _delay_ms(400); } return (0); } ● Задаване на закъснение след всяко включване и изключване.
  16. 16. Среда за разработка Windows ● WinAVR / AVR-GCC Linux ● AVR-GCC $ make ... $ avrdude ...
  17. 17. make
  18. 18. avrdude
  19. 19. Практика
  20. 20. Въпроси ?
  21. 21. Контакти и препратки Невен Боянов ● https://twitter.com/boyanov ● https://www.facebook.com/boyanov ● http://www.boyanov.org Tinusaur ● http://tinusaur.org ● https://www.facebook.com/tinusaur Programmers' Club in Veliko Turnovo ● http://www.pcvt.org ● https://www.facebook.com/groups/pcvt.org/ Невен Боянов ● https://twitter.com/boyanov ● https://www.facebook.com/boyanov ● http://www.boyanov.org Tinusaur ● http://tinusaur.org ● https://www.facebook.com/tinusaur Programmers' Club in Veliko Turnovo ● http://www.pcvt.org ● https://www.facebook.com/groups/pcvt.org/
  22. 22. Бонус
  23. 23. Tinusaur: Какво е това?Tinusaur: Какво е това? ● Платка с ATtiny85 микроконтролер ● Минималния брой компоненти нужни на микроконтролера ● Конектор за програмиране на микроконтролера ● Малка батерия и държач ● Отвори за монтиране
  24. 24. Проста и евтина платформа за абсолютно начинаещи  и нетърпеливи помагаща да се научат бързо как да работят с микроконтролери Какви са целите?Какви са целите? Относно хардуера ... ● Да се научим как да подбираме необходимите компоненти ● Да се научим как да запояваме и сглобяваме За 1 час!!! Осигуряване на необходимите компоненти, помощни инструменти и знания, за да завършите всичко от начало до край в рамките на 1 час или по-малко Относно софтуера … ● Да се научим как да инсталираме, настроим и ползваме средата за разработка. ● Да се научим как да пишем прости програми за микроконтролери
  25. 25. Какво включва Проекта Тинузавър?Какво включва Проекта Тинузавър? ● Дизайна на Тинузавър ● Ръководствата ● Проекти с Тинузавър● Уроци и примерни програми.
  26. 26. Екстри: Add-on платкиЕкстри: Add-on платки
  27. 27. Hello World!Hello World! #include <avr/io.h> #include <util/delay.h> // Define the I/O port to be used for the LED. #define LED_PORT PB3 int main(void) { // Set the LED port number as output. // The DDRB is the data direction for port B. DDRB |= (1 << LED_PORT); // Start an infinite loop. while (1) { // Set the LED bit to "1" - LED "on" PORTB |= (1 << LED_PORT); _delay_ms(200); // Wait a little. // Set the LED bit to "0" - LED "off" PORTB &= ~(1 << LED_PORT); _delay_ms(400); // Wait a little. } return (0); }
  28. 28. Проекти използващи ТинузавърПроекти използващи Тинузавър
  29. 29. Сравнение с други подобниСравнение с други подобни
  30. 30. Сравнение по параметриСравнение по параметри Raspberry Pi Arduino Uno ATtiny85/Tinusaur Processor ARM11 – 32-bit RISK ATmega328P 8-bit RISK ATtiny85 – 8-bit RISK Frequancy 700 MHz 16 MHz 1 MHz Memory RAM 256/512 MB 2 KB 512 B Memory PRG On-board SD slot 32 KB, 1 KB EERPROM 8 KB, 512 B EERPROM Input/Output 8×GPIO, UART, I²C, SPI ... 6 analog, 14 digital 6 analog/digital Peripheral USB, audio & video, HDMI - - OS Linux, etc. - - Dimensions 85×56 mm 53×68 mm 23×36 mm Weight 45 гр. 28 гр. 9 гр. Power 500mA, 700–1000 mA 50 mA 1-2 мА, 300 µA (0.1 µA) Cost 35 USD 20 USD (10 USD) 5 USD (8 USD Starter)
  31. 31. Кой би могъл да го използва?Кой би могъл да го използва? ● Абсолютно начинаещите, не е необходим никакъв почти опит ● Програмисти които са нетърпеливи да научат как работи хардуера ● Учители и преподаватели в училища, университети и др.
  32. 32. Кой не би могъл да го използва?Кой не би могъл да го използва? Това може да се окаже дразнещо за хора които ... ● Експерти по хардуера ● Експерти по микроконтролери ● Специалисти по и Raspberry Pi ● Които мразят C/C++ :) Където ... ● Има нужда от повече памет ● Има нужда от бърз процесор ● Има нужда от по-голям брои входно-изходни канали
  33. 33. Къде се използва в момента?Къде се използва в момента? В обучението: ● Училища, извънкласни форми ● Университети, като допълнителен материал ● Университети в чужбина ● Лични проекти Ще бъде използвано в ... ● летни училища по електроника и роботика
  34. 34. Как се очаква в бъдеще?Как се очаква в бъдеще? ● Подобрени ръководства ● Подобрени онлайн уроци ● Повече проекти ● Повече add-on платки – Сензори – Дисплеи – Безжична комуникация Може би … Нова платка с ARM базиран Cortex M0+ процесор, напр. Atmel SAM D10/D11 ● Видео уроци
  35. 35. КонтактиКонтакти http://tinusaur.org http://facebook.com/tinusaur http://twitter.com/tinusaur … или просто Google: "tinusaur"

×