А я никогда и не подключал
Добавлено спустя 13 минут 15 секунд:
Дим, сделай норм графики - без управления лазером. А то фигня какая-то.
roboforum.ruТехнический форум по робототехнике. |
|
|
Переключиться в относительные координаты
G1 Z-0.1
M42 P7 S1
M42 P7 S0
G4 S2
#if flg_serial_debug ==5
//-----------------------------------------------------------------------
byte Frame[(ARRAY_WIDTH * ARRAY_HEIGHT)+1];
Frame[(ARRAY_WIDTH * ARRAY_HEIGHT)+1] = 0xff; // frame data is 0..63 or 0..127 so delimiter 255 is safe
int counter = 0;
delay(1000);
while(1)
{
if (pin_TRIG_IN) {
//if (digitalRead(4)) {
for (int i = 0; i < NUM_SAMPLES_PER_MEASURE; i++) {
Frame[0] = ADNS_read(squal);
Frame[1] = ADNS_read(Maximum_Pixel);
Frame[2] = ADNS_read(Minimum_Pixel);
Frame[3] = ADNS_read(Pixel_Sum);
Frame[4] = ADNS_read(Shutter_Upper);
Frame[5] = ADNS_read(Shutter_Lower);
Serial.println("meas: " + String(counter) + \
"\tsqual: " + String(Frame[0]) + \
"\tMax_Pix:" + String(Frame[1]) + \
"\tMin_Pix:" + String(Frame[2]) + \
"\tPix_Sum:" + String(Frame[3]) + \
"\tShutter:" + String((uint16_t)Frame[4] * 256 + Frame[5]));
}
counter++;
delay(300);
}
}
//-----------------------------------------------------------------------
#endif
#define NUM_SAMPLES_PER_MEASURE 10
//PD4 TRIGGER_PIN D4
#define pin_TRIG_bit 4
#define pin_TRIG_DDR DDRD
#define pin_TRIG_PORT PORTD
#define pin_TRIG_PORT_IN PIND
#define pin_TRIG_Mode_INPUT pin_TRIG_DDR &=~(1<<pin_TRIG_bit)
#define pin_TRIG_IN pin_TRIG_PORT_IN & (1<<pin_TRIG_bit)
G91
G1 Z-0.1
M42 P4 S255
M42 P4 S0
G4 S2
G1 Z-0.1
M42 P4 S255
M42 P4 S0
G4 S2
G1 Z-0.1
M42 P4 S255
M42 P4 S0
G4 S2
G1 Z-0.1
M42 P4 S255
M42 P4 S0
G4 S2
G1 Z-0.1
M42 P4 S255
M42 P4 S0
G4 S2
meas: 7 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 7 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 8 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 8 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 8 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 8 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 8 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 8 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 8 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 8 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 8 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 8 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 9 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 9 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 9 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 9 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 9 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 9 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 9 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 9 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 9 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 9 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 10 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 10 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 10 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 10 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 10 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 10 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 10 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 10 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 10 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
meas: 10 squal: 0 Max_Pix:255 Min_Pix:0 Pix_Sum:255 Shutter:65280
dccharacter писал(а):Все, пора
Дим, просыпайся
#if flg_serial_debug ==3
//-----------------------------------------------------------------------
//листинг для екселевских таблиц
byte Frame[(ARRAY_WIDTH * ARRAY_HEIGHT)+1];
//заголовок
#if !defined(__AVR_ATtiny85__)
Serial.println ("squal:\tMax_Pix:\tMin_Pix:\tPix_Sum:\tShutter:");
#else
MyDbgSerial.println (F ("Squal:\tMax:\tMin:\tSum:\tShutter:"));
#endif
while(1)
{
Frame[0] = ADNS_read(squal);
Frame[1] = ADNS_read(Maximum_Pixel);
Frame[2] = ADNS_read(Minimum_Pixel);
Frame[3] = ADNS_read(Pixel_Sum);
Frame[4] = ADNS_read(Shutter_Upper);
Frame[5] = ADNS_read(Shutter_Lower);
#if !defined(__AVR_ATtiny85__)
Serial.println( String(Frame[0]) + \
"\t"+ String(Frame[1]) + \
"\t"+ String(Frame[2]) + \
"\t"+ String(Frame[3]) + \
"\t"+ String(Frame[4]) + \
String(Frame[5]));
delay(20);
#else
ByteToString(Frame[0]); MyDbgSerial.write(Str[2]); MyDbgSerial.write(Str[1]); MyDbgSerial.write(Str[0]); MyDbgSerial.write(0x09);
ByteToString(Frame[1]); MyDbgSerial.write(Str[2]); MyDbgSerial.write(Str[1]); MyDbgSerial.write(Str[0]); MyDbgSerial.write(0x09);
ByteToString(Frame[2]); MyDbgSerial.write(Str[2]); MyDbgSerial.write(Str[1]); MyDbgSerial.write(Str[0]); MyDbgSerial.write(0x09);
ByteToString(Frame[3]); MyDbgSerial.write(Str[2]); MyDbgSerial.write(Str[1]); MyDbgSerial.write(Str[0]); MyDbgSerial.write(0x09);
Uint16ToString(Frame[4] *256 + Frame[5]); MyDbgSerial.write(Str[4]); MyDbgSerial.write(Str[3]); MyDbgSerial.write(Str[2]); MyDbgSerial.write(Str[1]); MyDbgSerial.write(Str[0]); MyDbgSerial.write(0x0a);// MyDbgSerial.write(0x0d);
delay(60); //задержка больше из-за низкой скорости Digispark
#endif
}
//-----------------------------------------------------------------------
void ByteToString(uint8_t a)
{
Str[0] = '0';
Str[1] = '0';
Str[2] = '0';
if(!a) return;
Str[0] = a % 10 + '0'; a /= 10;
if(!a) return;
Str[1] = a % 10 + '0'; a /= 10;
if(!a) return;
Str[2] = a % 10 + '0';
}
void Uint16ToString(uint16_t a)
{
Str[0] = '0';
Str[1] = '0';
Str[2] = '0';
Str[3] = '0';
Str[4] = '0';
if(!a) return;
Str[0] = a % 10 + '0'; a /= 10;
if(!a) return;
Str[1] = a % 10 + '0'; a /= 10;
if(!a) return;
Str[2] = a % 10 + '0'; a /= 10;
if(!a) return;
Str[3] = a % 10 + '0'; a /= 10;
if(!a) return;
Str[4] = a % 10 + '0';
}
Squal: Max: Min: Sum: Shutter:
006 027 006 031 03392
006 027 007 031 03392
007 029 010 036 03392
003 028 007 032 03392
005 027 007 032 03392
005 028 007 032 03392
006 027 007 032 03392
006 028 007 032 03392
006 027 007 032 03392
005 028 007 032 03392
007 028 007 032 03392
006 028 007 032 03392
006 028 007 032 03392
006 028 007 032 03392
008 028 007 032 03392
007 028 007 032 03392
006 028 006 032 03392
005 028 006 032 03392
006 028 007 031 03392
005 030 010 036 03392
005 026 006 031 03392
005 028 007 032 03392
005 028 007 032 03392
008 028 007 032 03392
Sketch uses 4 468 bytes (14%) of program storage space. Maximum is 30 720 bytes.
Global variables use 254 bytes (12%) of dynamic memory, leaving 1 794 bytes for local variables. Maximum is 2 048 bytes.
без Serial.println(String(Frame...
Sketch uses 2 866 bytes (9%) of program storage space. Maximum is 30 720 bytes.
Global variables use 247 bytes (12%) of dynamic memory, leaving 1 801 bytes for local variables. Maximum is 2 048 bytes.
Angel71 писал(а)::D правильно, нужно быстрей заканчивать датчик касания и переходит на более востребованные вещи. давай бум пилить копеечный модуль-полезняшку, что бы можно было определять на небольших расстояниях степень поглощения сигнала на 2.4ггц.
dccharacter писал(а):А вообще, ХВАТИТ ХЕРНЕЙ ЗАНИМАТЬСЯ! Растаскивание по платформам - все потом.
dccharacter писал(а):Но если понадобиться вывести на печать число через минимальный набор ассемблерных команд, я пойду на microchip.su и сдеру там готовый алгоритм :-р
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14