dccharacter писал(а):Я наглухо запутался в гите.
Ржака и рука лицо
roboforum.ruТехнический форум по робототехнике. |
|
|
dccharacter писал(а):Я наглухо запутался в гите.
Dmitry__ писал(а):Так, вижу ошибку. Если ты пины физически подключал так:
- Код: Выделить всё • Развернуть
#define SDIO 12 //значения ставил как у вас и переключал физику, тоже работает.
#define SCLK 10 //
то в твоем board_ArduinoNano.h:
- Код: Выделить всё • Развернуть
//pin_nClock (SCK)
//PB4 D12
#define pin_nClock_bit 4
#define pin_nClock_DDR DDRB
#define pin_nClock_PORT PORTB
//MOSI
//PB3 D11
#define pin_SDIO_bit 3
#define pin_SDIO_DDR DDRB
#define pin_SDIO_PORT PORTB
#define pin_SDIO_PORT_IN PINB
Т.е. SDIO должен быть на D11, а SCLK на D12
Добавлено спустя 7 минут 58 секунд:
Я все понял, надо схему в док добавить для ардуины нано. Слишком круто все меняется...
dccharacter писал(а):Короче, ставим два лазера, оба под углом. Считываем только сервисные значения (сквалы там и т.д.). После каждого успешного считывания переключаемся на другой лазер (т.е. они пыхают попеременно)
В итоге схожие показатели в двух фреймах будут только тогда, когда лазеры светят в одну точку. При этом на показания не влияет ВООБЩЕ НИЧЕГО, можно даже музыку громко включать! АЕ?
Dmitry__ писал(а):Смотрю свой старый конфиг, отличия от гит:
- Код: Выделить всё • Развернуть
//pin_led
//PB5 D13
#define pin_led_bit 5
#define pin_led_DDR DDRD
#define pin_led_PORT PORTD
- Код: Выделить всё • Развернуть
//pin_led
//PB5 D13
#define pin_led_bit 5
#define pin_led_DDR DDRB
#define pin_led_PORT PORTB
Напомните, почему стало так?
//pin_led
//PB5 D13
#define pin_led_bit 5
#define pin_led_DDR DDRB
#define pin_led_PORT PORTB
dccharacter писал(а):Дим, ау, ты чо, не проникся идеей?
как только она начала уменьшаться
setup(){
Shutter=(24000000/1500)-3476;// Shutter max 12524;
}
loop(){
uint Pixel_Sum=0;
uint SQUAL=0;
uint Minimum_Pixel=63;
uint Maximum_Pixel=0;
for( i=0 ; i<324 ; i++){
Pixel_Sum+=Pixel_Data[i];
Maximum_Pixel=max(Maximum_Pixel,Pixel_Data[i]);
Minimum_Pixel=min(Minimum_Pixel,Pixel_Data[i]);
if(Pixel_Data[i] != Pixel_Data[i-1]){ //условно
SQUAL++;
}
}//for
Pixel_Sum=(uint)(Pixel_Sum/128);
if( Maximum_Pixel > 55 ){
if((Shutter+Shutter/16) < 12524)
Shutter=Shutter+Shutter/16;
}else if( Maximum_Pixel < 50 ){
if( (Shutter-Shutter/16) >0)
Shutter=Shutter-Shutter/16;
else
Shutter=1;
}
LED_CNTL=PWM(Shutter);
Update_registers();
}
Pixel_Sum мог бы однозначно сказать насколько жирное пятно мы видим если бы не зависел от динамической подстройки выдержки и мощности лазера
dccharacter писал(а):Да, максимум SQUAL дает максимальную точность. Но вот определить его очень сложно из-за упомянутого тобой шума
pix_sum, к сожалению, бесполезен
Т.е. остается минимум shutter - вот он работает всегда
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7