
Для изготовления лазерного проектора кроме нашей платки Марсоход нужны:
- винчестер
- четыре лазерных указки
- фототранзистор
Далее...
От винчестера оставляем только платформу и двигатель, а из самого жёсткого диска нужно сделать зеркало:

и закрепить его на двигателе

Из лазерных указок нужно достать сами модули и отпаять от них
все лишнее, оставив только ограничивающий резистор ( 68ом ):

Далее закрепляем кусочек монтажной платы и марсоход на платформу.
К пинам pt_left и gnd подключаем фототранзистор.
На монтажной платке устанавливаем четыре лазера:

Хочу заметить, что на корпусе у лазера "+" , поэтому нам проще использовать
обратную логику. Соединяем все корпуса вместе и подключаем их к питанию, а на другие концы, для зажигания лазера, буде подавать "0".
Самый правый (на фото ) лазер подключаем к пину key(3), остальные к F5, F4 и F3.
Зашиваем проект (
1.Проверка работоспособности и предварительная ориентация.
Подключаем по очереди все лазерчеки к пину GND и направляем лучи в
середину зеркала.
2. Регулировка зеркала.
Подключаем к GND самый правый (на фото ) лазер (это у нас будут две нижние строки), направляем отражённый от зеркала луч на экран и отмечаем его положение. Затем направляем на экран луч от противоположной стороны зеркала.
Если зеркало установлено абсолютно вертикально, то лучи, отраженные
от разных сторон зеркала будут точно совпадать по вертикали.
Нам-же нужно чтобы они немного отличались (это будет расстояние между
соседними строками).
3. Регулировка фототранзистора.
Его нужно установить на такой высоте, чтобы через него проходил отраженный от
зеркала луч первого ( нижнего ) лазера, причем от обоих сторон зеркала. При этом
должен загораться led[0].
4.Регулировка растра по вертикали.
После нажатия key(0) должен запустится двигатель и на экране будут
видны две горизонтальные линии. Далее подключаем к GND следующий
по порядку лазер и регулируя его по вертикали добиваемся, чтобы все четыре
строки были на одинаковом расстоянии и т.д. В итоге мы должны получить
восемь горизонтальных строк с одинаковым межстрочным расстоянием.
5.Регулировка растра по горизонтали.
Нажав key(1) останавливаем двигатель, отключаем от GND все лазерчики
и подключаем только один на свое место (key(3)). Теперь после запуска
двигателя вместо двух сплошных линий должны отображаться два бита
из константы "text.v" . Далее подключаем к пину F5 следующий лазер.
Поскольку наши лазеры разнесены в горизонтальной плоскости, то и
изображение от второго лазера будет довольно сильно сдвинуто в сторону.
Для корректировки этого сдвига в проекте предусмотрена константа inst28
(а для следующих лазеров inst41 и inst61) Исправляя эту константу и перешивая
проект нужно добиться максимально возможного совпадения пар строк
между собой. И так для всех остальных лазеров.
Нюансы: К сожалению мощность наших лазеров оказалась не очень большой,
поэтому днем изображение хорошо видно только на небольшом расстоянии - 0.5 - 1м.
В изображении могут быть перепутаны четные и нечетные строки.
Для выхода из этой ситуации в проекте предусмотрено их переключение
по нажатию key(2).

Зайдите в меню "Assignments/De vice/Device And Pin Options/Program ming Files" и убрите
галочку с "JEDEC STAPL Format File (.jam)"
И , на всякий случай, проверьте, нет ли где в путях к проекту русских букв. Квартус их не любит.
Попробовал запустить проект на Quartus II v10.0sp1
А компилятор выдаёт ошибки:
Error: Can't save or open file ///JAM32EF.jam
Error: Quartus II Assembler was unsuccessful. 1 error, 0 warnings
Error: Peak virtual memory: 180 megabytes
Error: Processing ended: Sun Jun 15 00:28:57 2014
Error: Elapsed time: 00:00:01
Error: Total CPU time (on all processors): 00:00:01
Error: Quartus II Full Compilation was unsuccessful. 3 errors, 31 warnings
=================
ошибки постом ниже были - исправил, появились вот такие
Последовательно сть действий следующая:
Найдите и удалите примитив "Output" с названием "key[3]"
Дайте проводочку, который к нему подходил , имя "key[3]"
Найдите и удалите примитив "Input" с названием "key[2..0]"
Установите примитив "Bidir" с названием "key[3..0]"
Попробовал запустить проект на Quartus II v11.0
А компилятор выдаёт ошибки:
Error: Inconsistent I/O type for element "key"
Error: Can't elaborate top-level user hierarchy
Error: Quartus II Analysis & Synthesis was unsuccessful. 2 errors, 1 warning
Error: Peak virtual memory: 245 megabytes
Error: Processing ended: Fri Jul 08 10:58:19 2011
Error: Elapsed time: 00:00:01
Error: Total CPU time (on all processors): 00:00:01
Error: Quartus II Full Compilation was unsuccessful. 4 errors, 1 warning
Как можно их исправить?
Двигатель подключается к пинам F0, F1 и F2
Прорези и отверстия нужны для того, чтобы поверхность
зеркала не искривлялась при затягивании винтов.
а для чего прорези и отверстия на зеркале ?