два устройства тянут CLOCK, DATA

vov4ik
Offline
Зарегистрирован: 10.09.2013

Есть мыш и две матрицы 8х8, по отдельности всё работает идеально, но совместить их не могу.

Используются библиотеки где используетя одновременно CLOCK, DATA правдо рассажины по разным пинам.

Компиляция и прошивка на ура, но ничего не работает, в гугле пробовал посмотреть ничего, может чего посоветуете.

// http://littleredrat.blogspot.ru/
// http://github.com/kristopher/PS2-Mouse-Arduino/
#include <MaxMatrix.h>
#include <PS2Mouse.h>
//  спрайт прицела
byte star[] = {9, 8, B00000000, B00000000, B00000000, B00001000, B00010100, B00001000, B00000000,B00000000, B00000000};
int x = 0; // укозатель по х
int y = 0; // укозатель по y
// описание подключения матриц
// DIN к 8
// CS к 9
// CLK к 10
// 2 модуля
MaxMatrix m(8, 9, 10, 2);
// описание подключения мыши
// DATA 5
// CLOCK 6
#define MOUSE_DATA 5
#define MOUSE_CLOCK 6
PS2Mouse mouse(MOUSE_CLOCK, MOUSE_DATA, STREAM);
void setup(){
  m.init();
  mouse.initialize();
  m.setIntensity(3); // яркость матриц 0 из 15
  }
void loop(){
  int data[2]; mouse.report(data); // опрос мышки
 m.writeSprite(x, y, star);  // активация прицела
  if (data[1] < 20) {x--;}
  if (data[1] > 20) {x++;}
  if (data[2] < 20) {y--;}
  if (data[2] > 20) {y++;}
  constrain(x, -3, 11);
  constrain(y, -2, 4); 
  delay(100); /*
x = random (-3, 11);
y = random (-2, 4);*/
  }

 

vov4ik
Offline
Зарегистрирован: 10.09.2013

добил всё-таки ошибся с получением данных от мыши, код поправил всё работает

#include <MaxMatrix.h>
#include <PS2Mouse.h>
//  спрайт прицела
byte star[] = {9, 8, B00000000, B00000000, B00000000, B00001000, B00010100, B00001000, B00000000,B00000000, B00000000};
int x = 0; // укозатель по х
int y = 0; // укозатель по y
int z = 0;
int a = 0;
// описание подключения матриц
// DIN к 8
// CS к 9
// CLK к 10
// 2 модуля
MaxMatrix m(8, 9, 10, 2);
// описание подключения мыши
// DATA 5
// CLOCK 6
#define MOUSE_DATA 5
#define MOUSE_CLOCK 6
PS2Mouse mouse(MOUSE_CLOCK, MOUSE_DATA, STREAM);
void setup(){
  m.init();
  mouse.initialize();
  m.setIntensity(3); // яркость матриц 0 из 15
  }
void loop(){
  m.writeSprite(x, y, star);  // активация прицела
  delay(20);// обязательно
  int data[2]; mouse.report(data); // опрос мышки
  if (data[1] < -10) {x++;}
  if (data[1] > 10) {x--;}
  if (data[2] < -10) {y--;}
  if (data[2] > 10) {y++;}
  x = constrain(x, -3, 10);
  y = constrain(y, -2, 3); 
  }