SlideShare a Scribd company logo
Конструиране и програмиране на
малки микропроцесорни системи
Невен Боянов
ВТУ/ФМИ
2014-05-27
Защо ни е да знаем
как работи хардуера
Какви проблеми се решават с
хардуера
● Софтуерни :)
● Създава връзка с външния свят
Трудно ли се разработва хардуер за
малки устройства
Не!
Raspberry Pi – C/C++
#include <wiringPi.h>
int main (void)
{
wiringPiSetup ();
pinMode (0, OUTPUT);
for (;;)
{
digitalWrite (0, HIGH); delay (500);
digitalWrite (0, LOW); delay (500);
}
return 0;
}
#include <wiringPi.h>
int main (void)
{
wiringPiSetup ();
pinMode (0, OUTPUT);
for (;;)
{
digitalWrite (0, HIGH); delay (500);
digitalWrite (0, LOW); delay (500);
}
return 0;
}
Raspberry Pi – Python
import RPi.GPIO as GPIO
import time
# blinking function
def blink(pin):
GPIO.output(pin,GPIO.HIGH)
time.sleep(1)
GPIO.output(pin,GPIO.LOW)
time.sleep(1)
return
# to use Raspberry Pi board pin numbers
GPIO.setmode(GPIO.BOARD)
# set up GPIO output channel
GPIO.setup(11, GPIO.OUT)
# blink GPIO17 50 times
for i in range(0,50):
blink(11)
GPIO.cleanup()
Arduino – C/C++
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off
delay(1000); // wait for a second
}
ATtiny85 – C/C++
#include <avr/io.h>
#include <util/delay.h>
// Define the I/O port to be used for the LED.
// This a number between 0 and 7 that tells which bit to use.
#define LED_PORT PB3
int main(void) {
// Set the LED port number as output.
// The DDRB is the data direction for port B.
// - shifts the "1" on left to the desired position and ...
// - does bitwise "OR" with the value in the port register.
DDRB |= (1 << LED_PORT);
// Start infinite loop.
while (1) {
// Set the LED bit to "1" - LED will be "on".
PORTB |= (1 << LED_PORT);
// Wait a little. The delay does N-number of "empty" loops.
_delay_ms(200);
// Set the LED bit to "0" - LED will be "off".
PORTB &= ~(1 << LED_PORT);
// Wait a little.
_delay_ms(400);
}
return (0);
}
Как да изберем какъв хардуер да
използваме
The Tinusaur project
● ATtiny85, 8-bit RISK
● 1 MHz (up to 20 MHz)
● 512 B RAM
● 8 KB PRG
● 512 B EEPROM
● 6 GPIO
Технически критерии за сравнение
Raspberry Pi Arduino Uno ATtiny85/Tinusaur
Процесор ARM11 – 32-bit RISK ATmega328P 8-bit RISK ATtiny85 – 8-bit RISK
Честота 700 MHz 16 MHz 1 MHz
Памет RAM 256/512 MB 2 KB 512 B
Памет PRG On-board SD slot 32 KB, 1 KB EERPROM 8 KB, 512 B EERPROM
Вход/изход 8×GPIO, UART, I²C, SPI ... 6 analog, 14 digital 6 analog/digital
Периферия USB, audio & video, HDMI - -
OS Linux, etc. - -
Размери 85×56 mm 53×68 mm 23×36 mm
Тегло 45 гр. 28 гр. 9 гр.
Консумация 500mA, 700–1000 mA 50 mA 1-2 мА, 300 µA (0.1 µA)
Цена 35 USD 20 USD (10 USD) 8 USD (5 USD)
Една практическа задача
Talking Toy
Основни функции:
● Дигитализиране на аудио
● Запис на аудио
● Промени в записания сигнал
● Възпроизвеждане на аудио
Използваме Raspberry Pi + Linux
● Трябва да се използва
външен модул за
аудио вход
● Кода може да се
напише на:
– C/C++
– Python
– Shell script
– Etc..
Използваме Arduino
● Външен модул за
запис и
възпроизвеждане
за аудио
● Програма за
комуникация с
модула
– Ползва се C/C++
Използваме ATtiny85/Tinusaur
Нужни са:
● микрофон с предусилвател
● външна памет със сериен достъп
●
високоговорител с усилвател
Най-важното е:
● Програма
Защо ATtiny85/Tinusaur
Ефективен:
● Минималната нужна
производителност
● Ниска консумация
● Ниска себестойност
● Миниатюрни размери
● Лесен старт при
разработката
Предимства на другите:
● Arduino:
– достатъчно вградена памет;
– възможност за разширение на
възможностите;
– сравнително ниска цена.
● Raspberry Pi:
– достатъчно ресурси (процесор
и памет);
– възможност за разширение на
възможностите.
Защо не ATtiny85/Tinusaur
А защо не?
● Няма достатъчно
вградена памет.
● Невъзможност за
разширение при
бъдещи нужди.
Недостатъци на другите
решения:
● Arduino:
– по-висока себестойност;
– по-големи размери;
– по-висока консумация.
● Raspberry Pi:
● прекалено мощен за
задачата;
● висока себестойност;
● много висока консумация;
● големи размери.
За какво друго може
да ни послужи Tinusaur
Лични проекти:
● Включване,
изключване при
различни условия –
време, температура,
светлина, сигнал, и
др.
За какво друго може
да ни послужи Tinusaur
Обхваща един пълен, но
лесен за усвояване, цикъл на
разработка на малка
микропроцесорна система:
● подбор на компонентите на
системата
●
сглобяване на хардуера
●
писане на софтуер на ниско
ниво
●
писане на софтуер на високо
ниво
● решаване на
теоретични задачи
– хардуерни – логика,
сигнали и др.
– софтуерни – алгоритми,
паралелни задачи и др.
● решаване на
практически задачи
● създаване на реални
продукти
Kickstarter проекти
Kickstarter проекти
Въпроси и отговори
?
Контакти
Невен Боянов
https://www.facebook.com/boyanov
https://twitter.com/boyanov
https://plus.google.com/+NevenBoyanov
http://www.boyanov.org/

More Related Content

Viewers also liked

Отворена система за управление на потребителите
Отворена система за управление на потребителитеОтворена система за управление на потребителите
Отворена система за управление на потребителите
Neven Boyanov
 
Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)
Stefano Stabellini
 
Creating Great Dashboards - Beyond the Colors & Fonts
Creating Great Dashboards - Beyond the Colors & FontsCreating Great Dashboards - Beyond the Colors & Fonts
Creating Great Dashboards - Beyond the Colors & Fonts
Logi Analytics
 
Automating Analysis and Exploitation of Embedded Device Firmware
Automating Analysis and Exploitation of Embedded Device FirmwareAutomating Analysis and Exploitation of Embedded Device Firmware
Automating Analysis and Exploitation of Embedded Device Firmware
Malachi Jones
 
Presentation Ebrd February 1211
Presentation Ebrd February 1211Presentation Ebrd February 1211
Presentation Ebrd February 1211
ilko gruev
 
Network Security and Network Attacks
Network Security and Network AttacksNetwork Security and Network Attacks
Network Security and Network AttacksSvetlin Nakov
 
Организации по кибербезопасност
Организации по кибербезопасностОрганизации по кибербезопасност
Организации по кибербезопасностМария Георгиева
 
Acc week 10
Acc week 10Acc week 10
Acc week 10Shu Shin
 
Стартиране на софтуерен бизнес - пътят от програмата до продукта
Стартиране на софтуерен бизнес - пътят от програмата до продуктаСтартиране на софтуерен бизнес - пътят от програмата до продукта
Стартиране на софтуерен бизнес - пътят от програмата до продукта
Neven Boyanov
 
Reup&Audit2
Reup&Audit2Reup&Audit2
Reup&Audit2
ilko gruev
 
упражнение контроли калкулатор
упражнение контроли   калкулаторупражнение контроли   калкулатор
упражнение контроли калкулаторdnaidenowa
 
безопасност и защита Cloud computing 10995
безопасност и защита Cloud computing 10995безопасност и защита Cloud computing 10995
безопасност и защита Cloud computing 10995Petya Radeva
 
\"Guerrilla Marketing\" в Интернет - Жанер Найденова
\"Guerrilla Marketing\" в Интернет - Жанер Найденова\"Guerrilla Marketing\" в Интернет - Жанер Найденова
\"Guerrilla Marketing\" в Интернет - Жанер Найденова
Digital Agency Interactive Share
 
интернет Yordan
интернет Yordanинтернет Yordan
интернет Yordanvyapova
 
Възприемане на заплахата и горовност за реакция в ситуация на повишена радио...
 Възприемане на заплахата и горовност за реакция в ситуация на повишена радио... Възприемане на заплахата и горовност за реакция в ситуация на повишена радио...
Възприемане на заплахата и горовност за реакция в ситуация на повишена радио...
Petar Kardjilov
 
Аудио-визуална база - система за управление
Аудио-визуална база - система за управлениеАудио-визуална база - система за управление
Аудио-визуална база - система за управление
NIT- New Internet Technologies PLC
 

Viewers also liked (18)

Отворена система за управление на потребителите
Отворена система за управление на потребителитеОтворена система за управление на потребителите
Отворена система за управление на потребителите
 
Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)
 
Creating Great Dashboards - Beyond the Colors & Fonts
Creating Great Dashboards - Beyond the Colors & FontsCreating Great Dashboards - Beyond the Colors & Fonts
Creating Great Dashboards - Beyond the Colors & Fonts
 
Automating Analysis and Exploitation of Embedded Device Firmware
Automating Analysis and Exploitation of Embedded Device FirmwareAutomating Analysis and Exploitation of Embedded Device Firmware
Automating Analysis and Exploitation of Embedded Device Firmware
 
Presentation Ebrd February 1211
Presentation Ebrd February 1211Presentation Ebrd February 1211
Presentation Ebrd February 1211
 
Network Security and Network Attacks
Network Security and Network AttacksNetwork Security and Network Attacks
Network Security and Network Attacks
 
Os
OsOs
Os
 
Организации по кибербезопасност
Организации по кибербезопасностОрганизации по кибербезопасност
Организации по кибербезопасност
 
Chap6
Chap6Chap6
Chap6
 
Acc week 10
Acc week 10Acc week 10
Acc week 10
 
Стартиране на софтуерен бизнес - пътят от програмата до продукта
Стартиране на софтуерен бизнес - пътят от програмата до продуктаСтартиране на софтуерен бизнес - пътят от програмата до продукта
Стартиране на софтуерен бизнес - пътят от програмата до продукта
 
Reup&Audit2
Reup&Audit2Reup&Audit2
Reup&Audit2
 
упражнение контроли калкулатор
упражнение контроли   калкулаторупражнение контроли   калкулатор
упражнение контроли калкулатор
 
безопасност и защита Cloud computing 10995
безопасност и защита Cloud computing 10995безопасност и защита Cloud computing 10995
безопасност и защита Cloud computing 10995
 
\"Guerrilla Marketing\" в Интернет - Жанер Найденова
\"Guerrilla Marketing\" в Интернет - Жанер Найденова\"Guerrilla Marketing\" в Интернет - Жанер Найденова
\"Guerrilla Marketing\" в Интернет - Жанер Найденова
 
интернет Yordan
интернет Yordanинтернет Yordan
интернет Yordan
 
Възприемане на заплахата и горовност за реакция в ситуация на повишена радио...
 Възприемане на заплахата и горовност за реакция в ситуация на повишена радио... Възприемане на заплахата и горовност за реакция в ситуация на повишена радио...
Възприемане на заплахата и горовност за реакция в ситуация на повишена радио...
 
Аудио-визуална база - система за управление
Аудио-визуална база - система за управлениеАудио-визуална база - система за управление
Аудио-визуална база - система за управление
 

Similar to Програмиране на малки микропроцесорни системи

Направи си сам Raspberry Pi HAT
Направи си сам Raspberry Pi HATНаправи си сам Raspberry Pi HAT
Направи си сам Raspberry Pi HAT
Leon Anavi
 
Свободни PLC
Свободни PLCСвободни PLC
Свободни PLC
OpenFest team
 
45. komp s ma intel core i
45. komp s ma intel core i45. komp s ma intel core i
45. komp s ma intel core idnaidenowa
 
16. серийна шина usb. основни характеристики
16. серийна шина usb. основни характеристики16. серийна шина usb. основни характеристики
16. серийна шина usb. основни характеристикиdnaidenowa
 
Как проектът Yocto помага за създаване на Internet of Things?
Как проектът Yocto помага за създаване на Internet of Things?Как проектът Yocto помага за създаване на Internet of Things?
Как проектът Yocto помага за създаване на Internet of Things?
Leon Anavi
 
Курсове по роботика с Arduino 1.0
Курсове по роботика с Arduino 1.0Курсове по роботика с Arduino 1.0
Курсове по роботика с Arduino 1.0
Milen Tsolov
 
описание и технически параметри на компютърна система
описание и технически параметри на компютърна системаописание и технически параметри на компютърна система
описание и технически параметри на компютърна системаПетя Газдова
 
Open Vpn – Poor Man’S Vpn Solution
Open Vpn – Poor Man’S Vpn SolutionOpen Vpn – Poor Man’S Vpn Solution
Open Vpn – Poor Man’S Vpn Solution
guest782598d5
 
OpenVPN
OpenVPNOpenVPN
latest tech: (bulgarian language) de da znamm
latest tech: (bulgarian language) de da znammlatest tech: (bulgarian language) de da znamm
latest tech: (bulgarian language) de da znamm
boqn1
 
9 pentium pentium pro
9 pentium pentium pro9 pentium pentium pro
9 pentium pentium prodnaidenowa
 
StorPool Demo Day Presentations
StorPool Demo Day PresentationsStorPool Demo Day Presentations
StorPool Demo Day Presentations
StorPool Storage
 
56. каскадно свързване на контролерите на прекъсване
56. каскадно свързване на контролерите на прекъсване56. каскадно свързване на контролерите на прекъсване
56. каскадно свързване на контролерите на прекъсванеdnaidenowa
 
компютърни системи с процесори Amd k8
компютърни системи с процесори Amd k8компютърни системи с процесори Amd k8
компютърни системи с процесори Amd k8dnaidenowa
 
6. komp s ma pc-xt
6. komp s ma pc-xt6. komp s ma pc-xt
6. komp s ma pc-xtdnaidenowa
 
Връщане към живота на ретро електроника с Raspberry Pi
Връщане към живота на ретро електроника с Raspberry PiВръщане към живота на ретро електроника с Raspberry Pi
Връщане към живота на ретро електроника с Raspberry Pi
Leon Anavi
 
архитектура на дънна платка
архитектура на дънна платкаархитектура на дънна платка
архитектура на дънна платкаdnaidenowa
 
Конференции с Jitsi Meet
Конференции с Jitsi MeetКонференции с Jitsi Meet
Конференции с Jitsi Meet
Yasen Pramatarov
 
Виртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDВиртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDOpenFest team
 

Similar to Програмиране на малки микропроцесорни системи (20)

Направи си сам Raspberry Pi HAT
Направи си сам Raspberry Pi HATНаправи си сам Raspberry Pi HAT
Направи си сам Raspberry Pi HAT
 
Свободни PLC
Свободни PLCСвободни PLC
Свободни PLC
 
45. komp s ma intel core i
45. komp s ma intel core i45. komp s ma intel core i
45. komp s ma intel core i
 
16. серийна шина usb. основни характеристики
16. серийна шина usb. основни характеристики16. серийна шина usb. основни характеристики
16. серийна шина usb. основни характеристики
 
Как проектът Yocto помага за създаване на Internet of Things?
Как проектът Yocto помага за създаване на Internet of Things?Как проектът Yocto помага за създаване на Internet of Things?
Как проектът Yocto помага за създаване на Internet of Things?
 
Курсове по роботика с Arduino 1.0
Курсове по роботика с Arduino 1.0Курсове по роботика с Arduino 1.0
Курсове по роботика с Arduino 1.0
 
описание и технически параметри на компютърна система
описание и технически параметри на компютърна системаописание и технически параметри на компютърна система
описание и технически параметри на компютърна система
 
br7
br7br7
br7
 
Open Vpn – Poor Man’S Vpn Solution
Open Vpn – Poor Man’S Vpn SolutionOpen Vpn – Poor Man’S Vpn Solution
Open Vpn – Poor Man’S Vpn Solution
 
OpenVPN
OpenVPNOpenVPN
OpenVPN
 
latest tech: (bulgarian language) de da znamm
latest tech: (bulgarian language) de da znammlatest tech: (bulgarian language) de da znamm
latest tech: (bulgarian language) de da znamm
 
9 pentium pentium pro
9 pentium pentium pro9 pentium pentium pro
9 pentium pentium pro
 
StorPool Demo Day Presentations
StorPool Demo Day PresentationsStorPool Demo Day Presentations
StorPool Demo Day Presentations
 
56. каскадно свързване на контролерите на прекъсване
56. каскадно свързване на контролерите на прекъсване56. каскадно свързване на контролерите на прекъсване
56. каскадно свързване на контролерите на прекъсване
 
компютърни системи с процесори Amd k8
компютърни системи с процесори Amd k8компютърни системи с процесори Amd k8
компютърни системи с процесори Amd k8
 
6. komp s ma pc-xt
6. komp s ma pc-xt6. komp s ma pc-xt
6. komp s ma pc-xt
 
Връщане към живота на ретро електроника с Raspberry Pi
Връщане към живота на ретро електроника с Raspberry PiВръщане към живота на ретро електроника с Raspberry Pi
Връщане към живота на ретро електроника с Raspberry Pi
 
архитектура на дънна платка
архитектура на дънна платкаархитектура на дънна платка
архитектура на дънна платка
 
Конференции с Jitsi Meet
Конференции с Jitsi MeetКонференции с Jitsi Meet
Конференции с Jitsi Meet
 
Виртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDВиртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSD
 

More from Neven Boyanov

Tinusaur Intro (EN) 2020-02
Tinusaur Intro (EN) 2020-02Tinusaur Intro (EN) 2020-02
Tinusaur Intro (EN) 2020-02
Neven Boyanov
 
Платформа Блоктину за визуално по C/C++ за микроконтролери
Платформа Блоктину за визуално по C/C++ за микроконтролериПлатформа Блоктину за визуално по C/C++ за микроконтролери
Платформа Блоктину за визуално по C/C++ за микроконтролери
Neven Boyanov
 
Интегриран подход за обучение по математика и информатика със засилени интер...
Интегриран подход за обучение по математика и информатика  със засилени интер...Интегриран подход за обучение по математика и информатика  със засилени интер...
Интегриран подход за обучение по математика и информатика със засилени интер...
Neven Boyanov
 
Tinusaur Starter - User Guide
Tinusaur Starter - User GuideTinusaur Starter - User Guide
Tinusaur Starter - User Guide
Neven Boyanov
 
Отворена система за управление на потребителите
Отворена система за управление на потребителитеОтворена система за управление на потребителите
Отворена система за управление на потребителите
Neven Boyanov
 
Стартиране на софтуерен бизнес - пътят от програмата до продукта
Стартиране на софтуерен бизнес - пътят от програмата до продуктаСтартиране на софтуерен бизнес - пътят от програмата до продукта
Стартиране на софтуерен бизнес - пътят от програмата до продукта
Neven Boyanov
 

More from Neven Boyanov (6)

Tinusaur Intro (EN) 2020-02
Tinusaur Intro (EN) 2020-02Tinusaur Intro (EN) 2020-02
Tinusaur Intro (EN) 2020-02
 
Платформа Блоктину за визуално по C/C++ за микроконтролери
Платформа Блоктину за визуално по C/C++ за микроконтролериПлатформа Блоктину за визуално по C/C++ за микроконтролери
Платформа Блоктину за визуално по C/C++ за микроконтролери
 
Интегриран подход за обучение по математика и информатика със засилени интер...
Интегриран подход за обучение по математика и информатика  със засилени интер...Интегриран подход за обучение по математика и информатика  със засилени интер...
Интегриран подход за обучение по математика и информатика със засилени интер...
 
Tinusaur Starter - User Guide
Tinusaur Starter - User GuideTinusaur Starter - User Guide
Tinusaur Starter - User Guide
 
Отворена система за управление на потребителите
Отворена система за управление на потребителитеОтворена система за управление на потребителите
Отворена система за управление на потребителите
 
Стартиране на софтуерен бизнес - пътят от програмата до продукта
Стартиране на софтуерен бизнес - пътят от програмата до продуктаСтартиране на софтуерен бизнес - пътят от програмата до продукта
Стартиране на софтуерен бизнес - пътят от програмата до продукта
 

Програмиране на малки микропроцесорни системи

  • 1. Конструиране и програмиране на малки микропроцесорни системи Невен Боянов ВТУ/ФМИ 2014-05-27
  • 2. Защо ни е да знаем как работи хардуера
  • 3. Какви проблеми се решават с хардуера ● Софтуерни :) ● Създава връзка с външния свят
  • 4. Трудно ли се разработва хардуер за малки устройства Не!
  • 5. Raspberry Pi – C/C++ #include <wiringPi.h> int main (void) { wiringPiSetup (); pinMode (0, OUTPUT); for (;;) { digitalWrite (0, HIGH); delay (500); digitalWrite (0, LOW); delay (500); } return 0; } #include <wiringPi.h> int main (void) { wiringPiSetup (); pinMode (0, OUTPUT); for (;;) { digitalWrite (0, HIGH); delay (500); digitalWrite (0, LOW); delay (500); } return 0; }
  • 6. Raspberry Pi – Python import RPi.GPIO as GPIO import time # blinking function def blink(pin): GPIO.output(pin,GPIO.HIGH) time.sleep(1) GPIO.output(pin,GPIO.LOW) time.sleep(1) return # to use Raspberry Pi board pin numbers GPIO.setmode(GPIO.BOARD) # set up GPIO output channel GPIO.setup(11, GPIO.OUT) # blink GPIO17 50 times for i in range(0,50): blink(11) GPIO.cleanup()
  • 7. Arduino – C/C++ // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off delay(1000); // wait for a second }
  • 8. ATtiny85 – C/C++ #include <avr/io.h> #include <util/delay.h> // Define the I/O port to be used for the LED. // This a number between 0 and 7 that tells which bit to use. #define LED_PORT PB3 int main(void) { // Set the LED port number as output. // The DDRB is the data direction for port B. // - shifts the "1" on left to the desired position and ... // - does bitwise "OR" with the value in the port register. DDRB |= (1 << LED_PORT); // Start infinite loop. while (1) { // Set the LED bit to "1" - LED will be "on". PORTB |= (1 << LED_PORT); // Wait a little. The delay does N-number of "empty" loops. _delay_ms(200); // Set the LED bit to "0" - LED will be "off". PORTB &= ~(1 << LED_PORT); // Wait a little. _delay_ms(400); } return (0); }
  • 9. Как да изберем какъв хардуер да използваме
  • 10. The Tinusaur project ● ATtiny85, 8-bit RISK ● 1 MHz (up to 20 MHz) ● 512 B RAM ● 8 KB PRG ● 512 B EEPROM ● 6 GPIO
  • 11. Технически критерии за сравнение Raspberry Pi Arduino Uno ATtiny85/Tinusaur Процесор ARM11 – 32-bit RISK ATmega328P 8-bit RISK ATtiny85 – 8-bit RISK Честота 700 MHz 16 MHz 1 MHz Памет RAM 256/512 MB 2 KB 512 B Памет PRG On-board SD slot 32 KB, 1 KB EERPROM 8 KB, 512 B EERPROM Вход/изход 8×GPIO, UART, I²C, SPI ... 6 analog, 14 digital 6 analog/digital Периферия USB, audio & video, HDMI - - OS Linux, etc. - - Размери 85×56 mm 53×68 mm 23×36 mm Тегло 45 гр. 28 гр. 9 гр. Консумация 500mA, 700–1000 mA 50 mA 1-2 мА, 300 µA (0.1 µA) Цена 35 USD 20 USD (10 USD) 8 USD (5 USD)
  • 12. Една практическа задача Talking Toy Основни функции: ● Дигитализиране на аудио ● Запис на аудио ● Промени в записания сигнал ● Възпроизвеждане на аудио
  • 13. Използваме Raspberry Pi + Linux ● Трябва да се използва външен модул за аудио вход ● Кода може да се напише на: – C/C++ – Python – Shell script – Etc..
  • 14. Използваме Arduino ● Външен модул за запис и възпроизвеждане за аудио ● Програма за комуникация с модула – Ползва се C/C++
  • 15. Използваме ATtiny85/Tinusaur Нужни са: ● микрофон с предусилвател ● външна памет със сериен достъп ● високоговорител с усилвател Най-важното е: ● Програма
  • 16. Защо ATtiny85/Tinusaur Ефективен: ● Минималната нужна производителност ● Ниска консумация ● Ниска себестойност ● Миниатюрни размери ● Лесен старт при разработката Предимства на другите: ● Arduino: – достатъчно вградена памет; – възможност за разширение на възможностите; – сравнително ниска цена. ● Raspberry Pi: – достатъчно ресурси (процесор и памет); – възможност за разширение на възможностите.
  • 17. Защо не ATtiny85/Tinusaur А защо не? ● Няма достатъчно вградена памет. ● Невъзможност за разширение при бъдещи нужди. Недостатъци на другите решения: ● Arduino: – по-висока себестойност; – по-големи размери; – по-висока консумация. ● Raspberry Pi: ● прекалено мощен за задачата; ● висока себестойност; ● много висока консумация; ● големи размери.
  • 18. За какво друго може да ни послужи Tinusaur Лични проекти: ● Включване, изключване при различни условия – време, температура, светлина, сигнал, и др.
  • 19. За какво друго може да ни послужи Tinusaur Обхваща един пълен, но лесен за усвояване, цикъл на разработка на малка микропроцесорна система: ● подбор на компонентите на системата ● сглобяване на хардуера ● писане на софтуер на ниско ниво ● писане на софтуер на високо ниво ● решаване на теоретични задачи – хардуерни – логика, сигнали и др. – софтуерни – алгоритми, паралелни задачи и др. ● решаване на практически задачи ● създаване на реални продукти