Продолжение эпопеи! Очередное мое письмо производителю:
------------------------------
From: Josef V...
Пользователи on-line
Блоги пользователей портала РЛС
Каждый зарегистрированный пользователь имеет возможность вести свой персональный блог. Кто-то этим пользуется, кто-то - нет. Это личный выбор каждого...
Я помню, как все начиналось... Это было давно. Настолько давно, что пришлось посмотреть дату создания исходного ролика. Вертолет с двигателем внутреннего сгорания(ДВС), работающий на метанольном топливе Raptor 30V2 от компании Thunder Tiger.
Конечно же мне не терпелось и времени на осваивание управления вертолетом я не выделил. Ну, в дОлжной мере. Итог - печальный - зарулился и влетел в ремонт. На то время - можно сказать, что отделался легким испугом. Я на тот момент еще не знал, какие ужасные травмы и последствия могут быть причинены вертолетом. Тем более - таких размеров...
После этого - приобрел нормальные тренировочные шасси. И хотя на симуляторе я так и не летал необходимое время, но уже начал после этого случая потихоньку к нему подходить. Итог - у меня больше не было до сегодняшнего дня таких глупых крешей. Надеюсь, что и в дальнейшем - не будет. А вертолет - жив и сейчас. правда, я не летаю на нем уже два года в связи с войной соседей против нашей страны. Но война не может быть вечной, а значит - верт еще полетает.
И да - исходный ролик мне сказал, что это был 2008-й год... Именно этот год можно считать годом рождения и этого сайта - тоже... :)
Два дня и ночь бился с однотипным вирусом, который хватанули все три домашних компа почти одновременно... Суть в том, что происходит иногда при серфинге переадресация на левую страницу с типа обновлением флеш плеера или на странице со встроенным плеером вместо видео вывешивается рекламный баннер. Уж что я ни делал - и обновлял антивирусник, и чистил темпы и куки, и переустанавливал Хром, и удалял учетки и создавал их заново. В финале - я вообще докатился до того, что качнул пару других антивирусов, которые типа понаходили вирусы на компах, НО - все равно - ничего не помогло. При открытии страницы моего сайта со встроенным плеером вместо видео - опять появлялся баннер с какой-то фигней.
И тут - меня осенило.
Сброс роутера на заводские настройки(ведь для роутеров нет антивирусов ) - вернул мне быстрый инет и спокойные нервы по поводу просмотра страниц инета и наличия вирусов на компах. Делов-то - на 10 минут(с учетом сброса и перенастройки роутера). Во как бывает...
Мой опыт пополнился еще одним прецедентом...
Так что знайте - если у вас на компах вдруг появились непонятные симптомы - не спешите заниматься мазохизмом и проверять компы на вирусы - просто сбросьте роутер на заводские настройки и заново настройте интернет-подключение... Рецепт - бесплатен :)
Давно... Когда-то... Занимался... Вот не терпелось мне... Пенопласт специально покупал... Деньги тратил... Вот не мог мозгами подумать, что с законами физики даже при придании нужной определенной формы - ничего не происходит... Парусность -не теряется, а масса - не исчезает... Ну, "опыт - сын ошибок трудных и гений - парадоксов друг"
И Случай, бог изобретатель.... Летающей пуговицы...
Пригласили меня на фестиваль радиоуправляемых зальных моделей в Трускавце. Мероприятие проходило в спортзале гостиницы "Карпаты". От Львова до Трускавца - около часа езды по довольно хорошей дороге. Правда, когда съезжаешь со Стрыйской трассы - дорога становится хуже, он оно и понятно - ведь не международного значения она становится...
Я взял всех своих и выдвинулись, как обычно, с опозданием... Ну, у меня - это нормальная семейная традиция. Однако, как выяснилось - не только мы опаздывать любим, поэтому мы приехали как раз перед официальным открытием. Хотя ребята - пилоты - уже активно "разминались".
Было много конкурсов - и гонка, и бомбометание, и пролет в ворота, и охота за шарами. Так же в обязательную программу входил фристайл и этап по исполнению обязательных фигур. Порадовали и модели "злых птиц". Когда они летают не по одной, а группой - это смотрится в разы зрелищнее. Пожалуй, я даже жалею, что я взял и свою птицу, но не стал летать. А с другой стороны - тогда бы я не смог снять то видео, которое предлагаю сейчас к просмотру.
Итак, общая нарезочка с фестиваля:
Если кто внимательно послушает, то может расслышать довольно интересное сочетание слов и звуков. Говорю сразу - именно так и называется музыкальная композиция и я знаю об этом. Но она - довольно неплохо подходит под видеоряд(на мой взгляд), поэтому я ее и использовал.
Не так давно я купил себе Arduio Uno и панель из четырех MAX7219 модулей бегущей строки для Ардуино.
Обошлось это не так много денег и покупалось конечно же, на ebay. Кстати, если кто не знает, как покупать на данном аукционе - пишите - разъясню.
Итак, берем вот эту планку из четырех модулей и сам микроконтроллер. У меня есть только Arduio Uno.
Берем пять проводков различного цвета(для удобства и чтобы не перепутать контакты) и подключаем эту планочку всего лишь с помощью пяти проводков напрямую к платке Arduio Uno вот по этой схемке
Получаем вот такую картину.
Ну, а Arduio Uno подключаем по USB-порту к помпьютеру
.
Далее, взяв оболочку, скачав и сохранив в соответствующей папке библиотеку LedControl.h (вот отсюда), и правильно выставив порт и модель, на котором находится ваша Arduio Uno - можно приниматься за сам скетч(так называется текст самой программки)
Он довольно не сложен и интуитивно понятен даже такому новичку в этом деле, как я .
Можно просто скопировать нижеприведенный "листинг" и вставить в свою оболочку Ардуино, после чего откомпилировать и загрузить его в контроллер.
Получим на выходе вот такую красивую и приятную штуку.
В отличие от других "листингов" на других сайтах - данный - 100% рабочий!
Если не догадались - что где писать и куда вставлять - пишите в комментариях вопросы, я с удовольствием отвечу.
#include <avr/pgmspace.h>
#include
const int numDevices = 4; // number of MAX7219s used
const long scrollDelay = 75; // adjust scrolling speed
for (int a=0;a<7;a++){ // Loop 7 times for a 5x7 font
unsigned long c = pgm_read_byte_near(font5x7 + ((ascii - 0x20) * 8) + a); // Index into character table to get row data
unsigned long x = bufferLong [a*2]; // Load current scroll buffer
x = x | c; // OR the new character onto end of current
bufferLong [a*2] = x; // Store in buffer
}
byte count = pgm_read_byte_near(font5x7 +((ascii - 0x20) * 8) + 7); // Index into character table for kerning data
for (byte x=0; x<count;x++){
rotateBufferLong();
printBufferLong();
delay(scrollDelay);
}
}
}
// Rotate the buffer
void rotateBufferLong(){
for (int a=0;a<7;a++){ // Loop 7 times for a 5x7 font
unsigned long x = bufferLong [a*2]; // Get low buffer entry
byte b = bitRead(x,31); // Copy high order bit that gets lost in rotation
x = x<<1; // Rotate left one bit
bufferLong [a*2] = x; // Store new low buffer
x = bufferLong [a*2+1]; // Get high buffer entry
x = x<<1; // Rotate left one bit
bitWrite(x,0,b); // Store saved bit
bufferLong [a*2+1] = x; // Store new high buffer
}
}
// Display Buffer on LED matrix
void printBufferLong(){
for (int a=0;a<7;a++){ // Loop 7 times for a 5x7 font
unsigned long x = bufferLong [a*2+1]; // Get high buffer entry
byte y = x; // Mask off first character
lc.setRow(3,a,y); // Send row to relevent MAX7219 chip
x = bufferLong [a*2]; // Get low buffer entry
y = (x>>24); // Mask off second character
lc.setRow(2,a,y); // Send row to relevent MAX7219 chip
y = (x>>16); // Mask off third character
lc.setRow(1,a,y); // Send row to relevent MAX7219 chip
y = (x>>8); // Mask off forth character
lc.setRow(0,a,y); // Send row to relevent MAX7219 chip
}
}
UPDATE:
В комментариях был задан вопрос: А как быть с буквами "Б" и "Ю"? Они чего то нивкакую не хотят переводиться?
Ответ:
Отличный вопрос.
Дело в том, что в английском алфавите - 26 букв. Ну, плюс спецсимволы. А в русском - 33. Поскольку мы здесь делали как бы подстановку - проводили соответствие латинской и русской буквы, то вам надо взять какой-то символ и переделать его для отображения буквы "Б" и "Ю"
Например, ниже - я взял символ "<" и сделал из него "Б" - чтобы при работе в стандартной клавиатуре не искать долго:
Исходная часть кода:
B00010000, //<
B00100000,
B01000000,
B10000000,
B01000000,
B00100000,
B00010000,
5,
Результат:
B11110000, //<(Б)
B10000000,
B10000000,
B11110000,
B10001000,
B10001000,
B11110000,
6,
Обратите внимание на изменившиеся цифры - 5 на 6. Это изменилась ширина символа в количестве светодиодов. Для разделения со следующим символом в строке при отображении на панели - добавлена дополнительная 1.
Вы сможете не только на русский язык перевести Вашу панель, но и на какой-нибудь другой, включая инопланетные...