ТАВРОФОРУМ

Вернуться   ТавроФорум > Не автомобильные темы > Решение бытовых проблем

Решение бытовых проблем Не вся жизнь в машине. Иногда что-то и дома сделать нужно.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.11.2015, 18:11   #1
softm
 
Адрес: Львів
Возраст: 51
Сообщений: 8,692
Длина: 17480мкм
Диаметр: 36мм
По умолчанию

Цитата:
Сообщение от ElectricMobile Посмотреть сообщение
Я забив і купив нормальний датчик...

Доречі, може хто знає як ініціалізувати грамотно MAX7219 і як відправити будьякий малюнок, на 2,3,4 матрицю... бо на першу я і сам вмію... Для такого модуля з 4х матриць 8х8:
http://ru.aliexpress.com/item/4in1-M...2_73_74_75,0_0

Проанализируй код часов, из подписи.

Из LedControl.h:

void setRow(int addr, int row, byte value);

/*
* Set all 8 Led's in a column to a new state
* Params:
* addr address of the display 0,1 ... numDevices
* col column which is to be set (0..7)
* value each bit set to 1 will light up the
* corresponding Led.
*/
void setColumn(int addr, int col, byte value);

Инициализация:

for (int x=0; x<numDevices; x++)
{
lc.shutdown(x,false); //The MAX72XX is in power-saving mode on startup
lc.setIntensity(x,brightness); // Set the brightness to default value
lc.clearDisplay(x); // and clear the display
}
__________________
Freelancer Chronicles
my diy-diary

Последний раз редактировалось softm; 04.11.2015 в 18:14.
softm вне форума   Ответить с цитированием
Старый 04.11.2015, 20:05   #2
ElectricMobile
 
ElectricMobile
 
Адрес: VN.UA
Возраст: 43
Сообщений: 4,486
Машина: Всілякі різні...
Длина: 42450мкм
Диаметр: 27мм
По умолчанию

Цитата:
Сообщение от softm Посмотреть сообщение
Проанализируй код часов, из подписи.
Все файно, але у мене Java і бібліотека rp4j...

Ініціалізую так:
Код:
// Init Max7219
write((byte)0xB, 0x07); // Show all 8 digits
write((byte)0x9, 0x00); // Using a LED matrix (not digits)
write((byte)0xF, 0x00); // No display test
write((byte)0xA, 0x00); // Set brightness (0 - min, F - max)
write((byte)0xC, 0x01); // Shutdown mode off
Сама процедура запису описана так:
Код:
public static void write(byte register, int data){
        byte packet[] = new byte[3];
        packet[0] = WRITE_CMD;  // address byte
        packet[1] = register;  // register byte
        packet[2] = (byte)data;  // data byte
        Spi.wiringPiSPIDataRW(0, packet, 3);        
}
Взято з прикладу:
https://github.com/Pi4J/pi4j/blob/ma...PIExample.java

Сама бібліотека тут:
https://github.com/Pi4J/pi4j/tree/ma.../pi4j/wiringpi

Граюсь з інітом, ніяк не можу зрозуміти на яку адресу які байти слати, вже плющить...
ElectricMobile вне форума   Ответить с цитированием
Старый 05.11.2015, 05:32   #3
softm
 
Адрес: Львів
Возраст: 51
Сообщений: 8,692
Длина: 17480мкм
Диаметр: 36мм
По умолчанию

Цитата:
Сообщение от ElectricMobile Посмотреть сообщение
Граюсь з інітом, ніяк не можу зрозуміти на яку адресу які байти слати, вже плющить...
Я банальности может напишу:

1. ПО можно писать двумя путями.
А. Изобретать новое (сложно)
Б. Использовать готовое и переделывать постепенно добиваясь результата (юникс вей, легко)

2. Б путь легче, и для начинающего - он единственный

3. Проще использовать ПО которое более распрастранено. В мире МК наиболее распространен С++.

Рекомендую gcc, или как оно там называется, взять и скомпилировать пример на С++. Используя готовую библиотеку. Которая там есть. Идти тяжелым путем, легче после анализа функций класса выводящего в СПИ. Есть в подписи в скетче для часиокв в составе класса доступа к 7219.
__________________
Freelancer Chronicles
my diy-diary
softm вне форума   Ответить с цитированием
Старый 05.11.2015, 10:34   #4
Yurasvs
 
Адрес: Днепропетровск
Сообщений: 11,725
Машина: Tesla model S 85, Таврия 1.3 инж.
Длина: 65880мкм
Диаметр: 34мм
По умолчанию

Цитата:
Сообщение от softm Посмотреть сообщение

3. Проще использовать ПО которое более распрастранено. В мире МК наиболее распространен С++.
Да ну? Для меня С++ - непонятная тарабарщина из горы кем-то написанных стандартных бибБЛЯтек и функций, которые почти никогда прямо не подходят для твоей задачи, и их приходится допиливать, или делать им костыли.
На простом Си написал только то, что тебе нужно, получил маленький, читаемый и быстро работающий код.
__________________
Кремлевский дед слетел с катушек, и все, что строил
20 лет, разрушил.
Yurasvs вне форума   Ответить с цитированием
Старый 05.11.2015, 13:22   #5
softm
 
Адрес: Львів
Возраст: 51
Сообщений: 8,692
Длина: 17480мкм
Диаметр: 36мм
По умолчанию

Цитата:
Сообщение от Yurasvs Посмотреть сообщение
Да ну? Для меня С++ - непонятная тарабарщина
Мне импонирует жесткая типизация, которая при определенной "гигиене" в коде сводит на нет всякие проблемы . Хотя "каждому свое", разные языки имеют право быть, так как все мы _разные_.

ИМХО, вначале - к чужим библиотекам лучше относиться как к черному ящику. Если не работает - делать свое. Нет халявы в этом мире. ИМХО, даже простейшие по сути часики сделать, грамотно, с умом - сложно. Я вот NTP синхро туда прикрутил, работает отлично просто. И вероятно когда перенесу на плату - только тогда задумаюсь над собственной версией библиотеки для 7219. По сути она уже есть в коде, но надо причесать.
__________________
Freelancer Chronicles
my diy-diary
softm вне форума   Ответить с цитированием
Старый 05.11.2015, 11:36   #6
ElectricMobile
 
ElectricMobile
 
Адрес: VN.UA
Возраст: 43
Сообщений: 4,486
Машина: Всілякі різні...
Длина: 42450мкм
Диаметр: 27мм
По умолчанию

Цитата:
Сообщение от softm Посмотреть сообщение
В мире МК наиболее распространен С++
Так, але у мене не МК. У мене Raspberry Pi + pi4j...
ElectricMobile вне форума   Ответить с цитированием
Старый 05.11.2015, 13:23   #7
softm
 
Адрес: Львів
Возраст: 51
Сообщений: 8,692
Длина: 17480мкм
Диаметр: 36мм
По умолчанию

Цитата:
Сообщение от ElectricMobile Посмотреть сообщение
Так, але у мене не МК. У мене Raspberry Pi + pi4j...
И там нельзя запустить ssh, и сделать все что угодно?
__________________
Freelancer Chronicles
my diy-diary
softm вне форума   Ответить с цитированием
Старый 05.11.2015, 13:52   #8
ElectricMobile
 
ElectricMobile
 
Адрес: VN.UA
Возраст: 43
Сообщений: 4,486
Машина: Всілякі різні...
Длина: 42450мкм
Диаметр: 27мм
По умолчанию

Цитата:
Сообщение от softm Посмотреть сообщение
И там нельзя запустить ssh, и сделать все что угодно?
Там можна запустити пітон, але я не знаю пітону... пробував в ньому розібратись - там дуже замутно і не зрозуміло...
На джаві з 1ш макс7219 + 8х8 все нормально виходить... якщо підімкнути "модуль 4х 8х8" - показує якись бред (((

Я так розумію що макс7219 працює як регістр, тобто в нього треба відправляти пакетами, щоб воно дійшло далі... так? Як працювати х таким регістром тоді?
ElectricMobile вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 12:23. Часовой пояс GMT +3.


Перевод: zCarot Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.