Электрические схемы и программы
Вот электрическая схема, которая воспроизводит звук полицейской сирены:
http://rcl-radio.ru/?p=4110
Ток как-то мечется по всем этим проводам, то усиливаясь то уменьшаясь. Итог выдаётся на подключенный динамик. То, как это происходит задаётся схемой, т.е частоты и длительности задаются ёмкостями конденсаторов и сопротивлениями резисторов.
В вот программа, воспроизводящая мелодию:
http://radioparty.ru/prog-avr/program-c/284-lesson12-music
#include <avr/io.h>
#define A2 9008 // Ля (2 октава)
#define Ais2 8580 // Ля диез
#define B2 8098 // Си
#define C3 7644 // До (3 октава)
#define Cis3 7214 // До диез
#define D3 6810 // Ре
#define Dis3 6427 // Ре диез
// Цифры для остальных нот
int main(void)
{
DDRB |= (1 << PB1);
PORTB = 0x00;
Delay_ms(50);
Set_temp(3); // установка темпа
Play_LE(Dis4,LE8);
Play_LE(Cis4,LE8);
Play_LE(Fis3,LE4);
Play_LE(Fis4,LE4);
Play_LE(Fis4,LE4);
Play_LE(Dis4,LE8);
Play_LE(Cis4,LE8);
Play_LE(Fis3,LE4);
Play_LE(Fis4,LE4);
Play_LE(Fis4,LE4);
Play_LE(Dis4,LE8);
Play_LE(Cis4,LE8);
Play_LE(Fis3,LE4);
Play_LE(Fis4,LE4);
Play_LE(Dis3,LE4);
Play_LE(Fis4,LE4);
Play_LE(Cis3,LE4);
Play_LE(F4,LE4);
Play_LE(F4,LE4);
Delay_ms(1000);
while(1);}
… Там ещё всякие буквы понаписаны, но это не особо важно. Важно, что в итоге я могу воспроизвести любую мелодию, т.е любую комбинацию частот, длительностей и задержек. Легко могу что-то поменять. Но по сути это ещё один вариант вывода сигнала на всё тот же динамик. Только устройство, которое влияет на подаваемое в динамик напряжение очень сложно. Это целый компьютер.
Вычислительные возможности компьютера по меркам прикладных задач безграничны так же как и гибкость. Я могу написать вообще что угодно. Захочу я утром чтобы по чётным числам эта мелодия проигрывалась в обратном порядке – днём будет именно так.
Спаянная под конкретные операции схема такой гибкостью не обладает. Зато у электрических схем другие преимущества. Во-первых, они меньше по размерам. В сравнении с любым компьютером любая схема это «маленькая коробочка». Во-вторых, надёжность. Все эти провода можно залить пластиком и хоть танком по такой коробочке ездить – ничего ей не сделается. Компьютер же – вещь хрупкая и рассчитанная на другой режим эксплуатации.
Потому и предлагается на начальном этапе, когда вообще ещё не понятно что и как делать и получится ли что-то использовать обычный компьютер со всей его гибкостью. От привычного приборчика, который можно воткнуть в розетку он отличается формой, а не содержанием и функцией. А вот когда и если что-то получится можно будет весь код, который делает компьютерная программа заставить делать спаянную микросхему.
По теме от РадиоКота:
http://radiokot.ru/circuit/digital/game/51/
… что-то настолько страшное, что я это и читать боюсь, но тоже про воспроизведение музыки и про совмещение электроники и программ. Электрические компоненты это не только резисторы. Сложные по функциям, хоть и мелкие по размерам микросхемы там тоже есть. Другое дело, что лично я даже приблизительно не представляют, что может получать на входе GPS координаты, а на выходе выдавать усреднение по методу наименьших квадратов.
|