<< 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
}
}
}
