Архив рубрики: Программирование

Apple II становится LISP машиной.

В начале 70-х и начале 80-х годов команды гениальных разработчиков из Массачусетского Технологического Института разрабатывали LISP машины. Эти компьютеры специально разрабатывались для работы с LISP языком в качестве основного языка программирования. И примерно в этом же время пара крутых перцев работала над Apple II которому суждено было стать одним из популярнейших компьютеров того времени.

Apple ii lisp машина

Apple II использовал BASIC в качестве основного языка программирования. Лучше бы они тогда занялись Лиспом. Но не прошло и тридцати лет как это удалось двум энтузиастом своего дела: Алексу и Мартину. Как оказалось сейчас это сделать намного легче и проще используя компилятор для систем 6502. И прогнали через него интерператор Lisp написаный на С.

Если бы этим занялись еще 80-ые — было бы еще легче. Потому что основной проблемой было получение машинного кода для Apple II компьютера.  Для этого пришлось им воспользоваться интересной библиотекой Apple Disk Transfer ProDOS, или сокращенно ATDPro для загрузки с аналогового магнитофона в Эппл. И теперь интерпретатор Лиспа работает на древнем, но гламурном компьютере. Источник для 6502 можно найти на ГитХабе. В общем наслаждайтесь, а заодно можно глянуть видео:

Подключение дисплея LG KF700 к arduino и STM32

Сотовый телефон LG KF700 образца 2008 года, но с учетом темпов развития мобильной электроники можно с уверенностью сказать что этому телефону лет триста. Телефон был знаменит тем что использовал широкоформатный дисплей 420х240.

Экран lg kf700 для Arduino

К тому же эти дисплеи продаются на ebay. Если телефон уже выкинули. Но достать дисплей это самая легкая часть. Гораздо сложнее его подключить. LG хорошо тем, что через гугл можно найти множество схем подключений его.  Данный дисплей имеет контроллер Himax HX8352. что существенно облегчает подключение.

Для arduino mega lcd от lg-kf700

В общем Энди Брауну удалось сделать это. Для подробности смотрим его блог У него на сайте можно найти множество материалов на эту тему, схемы, распайку, распиновку и прочие ништяки.

После физического подключения придется приступить к программированию используя ПО Protel, или прежнее название Atlium дизайнера. Смотрим видео и наслаждаемся. И еще очень немаловажный момент: помните, что питание мега ардуино 5 вольт,  в то время как питание дисплея практического любого сотового телефона составляет 3,3 вольта. Не сожгите жк  [ lcd ] экран. С таким трудом полученного с ebay или выдранного из трехсотлетнего LG!

Начало работы и установка программ на BeagleBone Black 2.

Что за новый мини-компьютер BBB смотрите описание BeagleBone Black-2. Достоинство заключается в уже установленном ПО. А не достаток на мой взгляд заключается в огромном количестве печатной документации, в которую придется нырнуть чтобы хоть чтото сделать. А это свыше 4000 страниц дкументации от Texas Instruments которая описывает процессор ARM335x.

beaglebone-black

 

BBB спроектирован на получение пользователя Линукс и быстрый запуск. В течение пары минут используя usb кабель который идет в комплекте поставке ВВВ цепляется к главному компьютеру, или другими словами к хост компьютеру или к ББ — большому брату. Затем BBB монтируется как usb устройство хранения и поднимает интерфейс работающего DHCP сервера.

В качестве файлового менеджера удобно использовать Thunar, затем шелкнуть на START.htm для запуска BeagleBone’s Getting Started в веб браузере.

bbb

А также уже включен предустановленное Cloud9 IDE слушающий порт 192.168.7.2:3000, которое снабжает библиотекой JavaScript называемой BoneScript для управления железом BBB. Например даже есть крошечные скрипты для мигания ЖК индикаторов — чем то напоминает кучу примеров для применения Ардуино.

По материалам: http://www.circuidipity.com/getting-started-with-beaglebone-black.html

Продолжение следует.
PS не забыть вставить BBB в пост сравнения мини-компьютеров

Google coder: просто путь создания приложений и материалов на Raspberry Pi

Данный Сoder превращает ваш Raspberry Pi в мини веб сервер, который позволяет вам создавать контент используя html, css и java-скрипты через браузер ориентированную среду разработки. Или другими словами позволяет легко и быстро создавать отличные веб материалы. Coder был создан группой или командой Гугла в Нью-Йорке. Небольшое видео для знакомства что же это такое.

Почему стоит использовать Coder, а не чтото другое? Это простое гениальное решение, идеально подходит для людей которые не уверены, с чего начать. Вообще то начальная настройка серверов и сред и средств для разработки может обернуться кошмаром для не сведущих. Кроме этого это отличное введение чтобы понять что такое вебсервер и основные концепции которые лежат в основе Интернета.
Интерфейс простой и понятный, можно посмотреть любые изменения в реальном режиме времени. Инструкции находятся здесь http://googlecreativelab.github.io/coder/ ничего трудного или архисложного.
coder-google

 

Данный кодер отлично работает на Chrome, IE 10 b FireFox 23

Подключение 4 ЖК дисплеев к 1 Ардуино

Томас Фламер ( THOMAS FLUMMER ), инженер электронщик, занятый в первую очередь с разработкой веб-приложений в свободное время любит повозиться с электроникой.  В основном с упором на взаимодействие компьютера с окружающим миром. Он планировал использовать пару жк дисплеев, но не хотел бы чтобы большинство выводов ардуино оказались задействованы. На основе библиотеки LiquidCrystal, которая является объектно-ориентированной. И не только потому что она используется классы или еще что-то типа того из ООП С++, а и еще потому что ориентированна на конкретный объект и управление им — в данном случае ЖК дисплей. Так как нет необходимости считывать информацию с lcd дисплеев, то программирование немного облегчается тем что достаточно только записывать информацию в объект. Пять разъемов ( pin ) получается используется для всех четырех дисплеев ( Data и RS ) и по еще одному разъему на каждый отдельный дисплей.
// include the library code:
#include

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd1(12, 5, 7, 8, 9, 10);
LiquidCrystal lcd2(12, 4, 7, 8, 9, 10);
LiquidCrystal lcd3(12, 3, 7, 8, 9, 10);
LiquidCrystal lcd4(12, 2, 7, 8, 9, 10);

void setup() {
// set up the LCD’s number of rows and columns:
lcd1.begin(16, 2);
lcd2.begin(16, 2);
lcd3.begin(16, 2);
lcd4.begin(16, 2);

// Print a message to the LCD.
lcd1.print(«Disp1″);
lcd2.print(«Disp2″);
lcd3.print(«Disp3″);
lcd4.print(«Disp4″);
}

void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd1.setCursor(0, 1);
lcd2.setCursor(0, 1);
lcd3.setCursor(0, 1);
lcd4.setCursor(0, 1);

// print the number of seconds since reset:
lcd1.print(millis()/1);
lcd2.print(millis()/10);
lcd3.print(millis()/100);
lcd4.print(millis()/1000);
}

В данном случае будут использоваться 7, 8, 9 и 10 разъемы для линии или шины данных, 12 пин для RS, и 2,3,4 и 5 разъемы для разрешающего сигнала на 1,2,3 и 4 дисплеи соответственно. Но в принципе, можно использовать и другие.
Макет в формате PDF для подключения дисплеев http://www.hackmeister.dk/wp-content/uploads/2013/06/4_lcd_1_arduino_diagram.pdf
Но если чтото не понятно можно спросить и у самого автора у него на блоге http://www.hackmeister.dk/2010/08/4-lcd-displays-on-1-arduino/
Конечно, новые дисплеи стоят денег, если у кого есть старый добрый нокиа, то можно попробовать подключить его дисплей к арудино