<< Základní funkce | Programování senzorů | Světelný senzor >>
Vlastnosti dotykového senzoru
- senzor funguje jako jednoduché tlačítko
- při stisku dochází ke spojení kontaktů a uzavření el. obvodu
- při stisku vrací hodnotu pravda
- při uvolnění vrací hodnotu nepravda
Inicializace senzoru
- SetSensorTouch(Port) -
SetSensorTouch(S1);
Mód měření senzoru
- SetSensorMode(Port, Mód sepnutí) -
SetSensorMode(IN_1, SENSOR_MODE_PULSE/EDGE);
- režim PULSE - reaguje jen na stisk
- režim EDGE - reaguje na stisk i na uvolnění
Příklady použití dotykového senzoru
Kontrola stisku
task main() { SetSensorTouch(S1); //Inicializace while(true) //Trvale opakuj { NumOut(0, LCD_LINE1, Sensor(S1), true); //Vypiš hodnotu ze senzoru 0 - 1 Wait(100); //Čekej 0,1 s } }
Počítadlo dotyků - čítač
task main() { SetSensorTouch(S1); SetSensorMode(S1, SENSOR_MODE_PULSE); //reaguje na stisk //SetSensorMode(S1, SENSOR_MODE_EDGE); //reaguje na změnu stavu while(true) { NumOut(0, LCD_LINE1, Sensor(S1), true); Wait(100); } }
Zastavení motorů
task main(){ SetSensorTouch(IN_1); //inicializace senzoru //SetSensor(IN_1,SENSOR_TYPE_TOUCH); //další způsob do { OnFwd(OUT_BC,25); //pohyb vpřed } while(SENSOR_1!=1) //opakuj do stisknutí senzoru Off(OUT_BC); //po stisku vypni motory }
Řízení pohybu robota
task main() { SetSensorTouch(IN_1); //inicializace senzoru OnFwd(OUT_BC,50); //jeď rovně vpřed while(true) //trvale kontroluj stav senzoru { if(SENSOR_1==1) //pokud sepne senzor { OnRev(OUT_BC,50); //couvni Wait(800); Off(OUT_BC); //zastav motory RotateMotor(OUT_B, -50, 360); //zatoč dozadu motorem B Off(OUT_B); //zastav motor B OnFwd(OUT_BC,50); //jeď rovne vpřed } } }