BOB

Z MediaWiki SPŠ a VOŠ Písek
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Otázky k opakování:)
 
(Není zobrazeno 24 mezilehlých verzí od 3 uživatelů.)
Řádka 1: Řádka 1:
'''Boe - Bot robot (5 ks z projektu [[Aplikovaná robotika]] + 1 ks z projektu [[OPVK]] 2009'''
+
{| class="toccolours" cellpadding="5" style="float: left; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 35em"
 +
| colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''NEW !!! - BOB with Arduino'''''
 +
|-
 +
|
 +
''' == NEW !!! == '''
 +
[http://learn.parallax.com/ShieldRobot Robotics with the BOE Shield for Arduino]
 +
 
 +
[[Soubor:BOB-Arduino_1.png‎|link=http://learn.parallax.com/ShieldRobot]]
 +
|}
 +
 
 +
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 +
 
 +
== Piezospeaker ==
 +
http://learn.parallax.com/node/206
 +
 
 +
[[Soubor:BOB-arduino-buzzer.png‎|right]]
 +
 
 +
<source lang="Cpp">
 +
 
 +
void setup()                                //
 +
{
 +
  Serial.begin(9600);
 +
  Serial.println("Beep!");  
 +
 
 +
  tone(4, 3000, 1000);                      // Play tone for 1 second
 +
  delay(1000);                              //
 +
 +
 +
void loop()                                  //
 +
{       
 +
  Serial.println("Waiting for reset...");
 +
  delay(1000);
 +
}
 +
 
 +
</source>
 +
 
 +
== servo ==
 +
http://learn.parallax.com/node/187
 +
 
 +
[[Soubor:BOB-arduino-servp.png‎|right]]
 +
 
 +
<source lang="Cpp">
 +
 
 +
#include <Servo.h>                          //
 +
 +
Servo servoLeft;                            //
 +
Servo servoRight;                            //
 +
 
 +
void setup()                                //
 +
{
 +
  servoLeft.attach(13);                      //
 +
  servoRight.attach(12);                      //
 +
 
 +
  servoLeft.writeMicroseconds(1300);        //
 +
  servoRight.writeMicroseconds(1700);        //
 +
 
 +
  delay(5000);                              //
 +
 
 +
  servoLeft.detach();                        // Stop
 +
  servoRight.detach();
 +
 +
 +
void loop()                                  //
 +
{                                            //
 +
}
 +
</source>
 +
 
 +
 
 +
== Put Maneuvers Into Functions ==
 +
http://learn.parallax.com/node/226
 +
 
 +
[[Soubor:BOB-arduino-Put_Maneuvers_Into_Functions.png‎|right]]
 +
 
 +
<source lang="Cpp">
 +
 
 +
#include <Servo.h>                          //
 +
 +
Servo servoLeft;                            //
 +
Servo servoRight;
 +
 +
void setup()                                //
 +
{
 +
  tone(4, 3000, 1000);                      //
 +
  delay(1000);                              //
 +
 
 +
  servoLeft.attach(13);                      //
 +
  servoRight.attach(12);                    //
 +
 
 +
  forward(2000);                            //
 +
  turnLeft(600);                            //
 +
  turnRight(600);                            //
 +
  backward(2000);                            //
 +
  disableServos();                          //
 +
 +
 +
void loop()                                  //
 +
{                                            //
 +
}
 +
 
 +
void forward(int time)                      // Forward function
 +
{
 +
  servoLeft.writeMicroseconds(1700);        //
 +
  servoRight.writeMicroseconds(1300);        //
 +
  delay(time);                              //
 +
}
 +
 
 +
void turnLeft(int time)                      // Left turn function
 +
{
 +
  servoLeft.writeMicroseconds(1300);        //
 +
  servoRight.writeMicroseconds(1300);        //
 +
  delay(time);                              //
 +
}
 +
 
 +
void turnRight(int time)                    //
 +
{
 +
  servoLeft.writeMicroseconds(1700);        //
 +
  servoRight.writeMicroseconds(1700);        //
 +
  delay(time);                              //
 +
}
 +
 
 +
void backward(int time)                      // Backward function
 +
{
 +
  servoLeft.writeMicroseconds(1300);        //
 +
  servoRight.writeMicroseconds(1700);        //
 +
  delay(time);                              //
 +
}
 +
 
 +
void disableServos()                        // STOP
 +
{                                           
 +
  servoLeft.detach();                        //
 +
  servoRight.detach();
 +
}
 +
 
 +
</source>
 +
 
 +
== Line Follower  ==
 +
 
 +
<source lang="Cpp">
 +
 
 +
void loop()
 +
{
 +
  motion = digitalRead(5) + digitalRead(6)*2 + digitalRead(7)*4;
 +
  switch(motion)
 +
  {
 +
    case 0b010:  servoLeft.writeMicroseconds(1300); servoRight.writeMicroseconds(1700); break; // forward
 +
    case 0b011:  servoLeft.writeMicroseconds(1300); servoRight.writeMicroseconds(1500); break; // slightly to the right
 +
    case 0b001:  servoLeft.writeMicroseconds(1300); servoRight.writeMicroseconds(1300); break; // turn right
 +
    case 0b110:  servoLeft.writeMicroseconds(1500); servoRight.writeMicroseconds(1300); break; // slightly to the left
 +
    case 0b100:  servoLeft.writeMicroseconds(1700); servoRight.writeMicroseconds(1300); break; // turn left
 +
  }
 +
}
 +
</source>
 +
 
 +
== Popis ==
  
Je vytvořeno 6 pracovišť s výukovým robotem Boe-Bot Full Kit
 
 
[[Soubor:BOB1.jpg‎|right]]
 
[[Soubor:BOB1.jpg‎|right]]
 +
[[Soubor:Stamp_01.jpg|thumb]]
 +
[[Soubor:Stamp_02.jpg|thumb]]
 +
[[Soubor:Stamp_03.jpg|thumb]]
 +
[[Soubor:Stamp_04.jpg|thumb]]
 +
[[Soubor:Stamp_05.jpg|thumb]]
 +
[[Soubor:Stamp_06.jpg|thumb]]
 +
[[Soubor:Stamp_07.jpg| thumb ]]
 +
[[Soubor:Stamp_08.jpg| thumb ]]
 +
[[Soubor:Stamp_09.jpg| thumb ]]
 +
[[Soubor:Stamp_10.jpg| thumb ]]
 +
[[Soubor:Stamp_11.jpg| thumb ]]
 +
[[Soubor:Stamp_12.jpg| thumb ]]
  
 +
 +
'''Boe - Bot  robot (5 ks z projektu [[Robotika|Aplikovaná robotika]] + 1 ks z projektu [[OPVK]] 2009'''
  
[ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/63_BOB_Robot%20Boe-Bot/PRE_BOB_03.pdf Prezentace robota Boe-Bot]
+
Je vytvořeno 6 pracovišť s výukovým robotem Boe-Bot Full Kit (5ks s COM, 1ks s USB)
 +
 +
* BOB má jednoduchou konstrukci
 +
* Pohon zabezpečují dva upravené modelářské servomotory.
 +
* Napájený je čtyřmi 1,2 V akumulátory typu AA.
 +
* Řízení zabezpečuje speciální mikroprocesor BasicStamp2 firmy [http://www.parallax.com Parallax].  
 +
 
 +
[[Soubor:Pdf.jpg‎]]  
  
 
== Výukové materiály: ==
 
== Výukové materiály: ==
  
[ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/69_ROR_Roboticka%20ruka%20L601/DOC_ROR_80.pdf Robotická ruka L601 od firmy Lynxmotion]
+
na školní síti: [ftp://obelix.sps-pi.cz/n/Janousek/mikroLAB/63_BOB_Robot%20Boe-Bot/ N:\Janousek\mikroLAB\63_BOB_Robot Boe-Bot]
  
[ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/69_ROR_Roboticka%20ruka%20L601/DOC_ROR_84.pdf RSSC–32 kontrolér pro 32 serv]
+
==Úkoly na cvičení:==
 +
# [[Image:Icon-pdf.gif]] [ftp://obelix.sps-pi.cz/n/Janousek/mikroLAB/63_BOB_Robot%20Boe-Bot/BOB25_Komunikace%20s%20Boe-Bot/BOB25.pdf BOB25_Komunikace s Boe-Bot na síti]
 +
# [[Image:Icon-pdf.gif]] [[Media:BOB29 Testujeme servopohony.pdf|BOB29 Testujeme servopohony]] [[Image:Icon-bs2.jpg]] [[Media:BOB29a.BS2|BOB29a]] [[Image:Icon-bs2.jpg]] [[Media:BOB29b.BS2|BOB29b]] [[Image:Icon-bs2.jpg]] [[Media:BOB29c.BS2|BOB29C]]
 +
# [[BOB32_Sestava robota Boe-Bot]]
 +
# [[BOB33_Prvni pohyby robota Boe-Bot]]
 +
# BOB34_Navigace robota Boe-Bot
 +
# BOB44_Whiskers_dotykova cidla
 +
# BOB50_Sleduj linku
 +
# BOB55_Navigating with Infrared Headlights
 +
# BOB60_PING- Ultrazvukove cidlo
 +
# BOB70_IR Remote for the Boe-Bot
 +
# BOB75_Kompas
  
[ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/69_ROR_Roboticka%20ruka%20L601/DOC_ROR_88.pdf SD20AX - Modul s procesorem PICAXE-18X a servo driverem SD20]
+
== [[Vývoj aplikace s robotem BOB]] ==
  
== Úlohy na cvičení: ==
+
#[[BOB-Jízda rovně|Jízda rovně]]
 +
#[[BOB-Jízda ve čtverci|Jízda ve čtverci]]
 +
#[[BOB-Jízda podle čáry|Jízda podle čáry]]
 +
#[[BOB-Jízda s detekcí nárazu|Jízda s detekcí nárazu]]
 +
#[[BOB-Jízda s čidlem ultrazvuku|Jízda s čidlem ultrazvuku]]
 +
#[[BOB-Jízda bludištěm|Jízda bludištěm]]
 +
#[[BOB-Jízda v uzavřeném prostoru černou čarou|Jízda v uzavřeném prostoru černou čarou]]
 +
#[[BOB-Hledání černé čáry s následnou jízdou po ní|Hledání černé čáry s následnou jízdou po ní]]
 +
#[[BOB-Jízda po čáře s objížděním překážek|Jízda po čáře s objížděním překážek]]
 +
# [[BOB-Corridor Sensing|Corridor Sensing]]
  
[ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/69_ROR_Roboticka%20ruka%20L601/ULO_ROR_10.pdf Ovládání robotické ruky pomocí RIOS - konfigurace s modulem SSC-32]
+
[[Vývoj aplikace s robotem BOB|více úloh]]
  
[ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/69_ROR_Roboticka%20ruka%20L601/ULO_ROR_11.pdf Ovládání robotické ruky pomocí RIOS - konfigurace geometrie ramen]
+
== Otázky k opakování: ==
 +
[[Soubor:Pdf.jpg‎]] [ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/63_BOB_Robot%20Boe-Bot/OTA_BOB.pdf Robot Boe-Bot]
  
[ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/69_ROR_Roboticka%20ruka%20L601/ULO_ROR_12.pdf Ovládání robotické ruky pomocí RIOS - pohyby]  
+
== Užitečné odkazy: ==
 +
* na školní síti: [ftp://obelix.sps-pi.cz/n/Janousek/mikroLAB/63_BOB_Robot%20Boe-Bot/ N:\Janousek\mikroLAB\63_BOB_Robot Boe-Bot]
 +
* [ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/63_BOB_Robot%20Boe-Bot/PRE_BOB_03.pdf Prezentace robota Boe-Bot]
 +
* [http://www.parallax.com/detail.asp?product_id=28832  Boe-Bot na www.parallax.com]
 +
* [[Soubor:Pdf.jpg‎]] [ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/63_BOB_Robot%20Boe-Bot/Roboticsv2_2.pdf Robotics with the Boe-Bot]
 +
* [[Soubor:Pdf.jpg‎]] [ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/63_BOB_Robot%20Boe-Bot/web-BSM-v2.2.pdf BASIC Stamp Syntax and Referenc Manual v2.2]
 +
* [http://www.aaronklapheck.com/Boe-Bot_code.html source code]
  
[ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/69_ROR_Roboticka%20ruka%20L601/ULO_ROR_20.pdf Ovládání robotické ruky pomocí joysticku z Playstationu 2]
+
'''Sada čidel''':
 +
 +
[http://www.parallax.com/Store/Sensors/AccelerationTilt/tabid/172/CategoryID/46/List/0/SortField/0/Level/a/ProductID/468/Default.aspx Sensor Sampler Kit],  ( [http://www.parallax.com/tabid/768/ProductID/98/Default.aspx Hitachi HM55B Compass Module], ......)
  
[ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/69_ROR_Roboticka%20ruka%20L601/ULO_ROR_24.pdf Ovládání ramen pomocí vývojové desky (Basic Stamp 2) a SSC-32]
+
== SW: [[STAMP]]==
  
[http://www.hobbyrobot.cz/picaxe.htm PICAXE popis]   [http://www.hobbyrobot.cz/PDF/PICAXE_basic_man_cz.pdf Programátorská příručka]   [http://www.rev-ed.co.uk/picaxe/software.htm  SW]
+
* na školní síti: [ftp://obelix.sps-pi.cz/p/SPS/PRA/SW/uP_UCB-PIC-%20Basic%20Stamp uP_UCB-PIC- Basic Stamp]  
 +
* officiální stránky: [http://www.parallax.com/Support/DownloadsPress/tabid/477/Default.aspx Parallax.com - download]  
 +
* [ftp://obelix.sps-pi.cz/p/SPS/PRA/SW/uP_UCB-PIC-%20Basic%20Stamp/USB%20Drivers%20Parallax%20for%20Boe-Bot USB Drivers Parallax for Boe-Bot]
  
== Otázky k opakování: ==
+
== Syntaxe jazyka: ==
  
[ftp://obelix.sps-pi.cz/n/janousek/mikroLAB/69_ROR_Roboticka%20ruka%20L601/OTA_ROR.pdf Robotická ruka]
+
Příklad:
  
== Užitečné odkazy: ==
+
<source lang="qbasic">
 +
' {$STAMP BS2}
 +
' {$PBASIC 2.5}
 +
start:
 +
HIGH 3 'nastaví linku (0 až 15) číslo 3 jako výstup s úrovní logické "1"
 +
LOW 2  'nastaví linku číslo 2 jako výstup s úrovní log. "0"
 +
goto start 'skok v programu do místa označeného parametrem návěští. 
 +
</source> 
 +
 
 +
<source lang="qbasic">
 +
' {$STAMP BS2}
 +
' {$PBASIC 2.5}
 +
 
 +
Main:  
 +
FREQOUT 7, 10, 25000        ‘generate 25khz tone for 10ms
 +
FREQOUT 7, 1000, 38500      ‘generate 38.5khz tone for 1sec
 +
FREQOUT 7, 2000, 4000, 6000  ‘generate 4khz and 6khz tones for 2sec (at most 2 tones allowed)
 +
 
 +
END
 +
</source>
 +
 
 +
== Experimenty ==
 +
 
 +
[[BOB - úkoly]]
 +
----
 +
[[category:JA]]
 +
[[category:Robotika]]
 +
[[category:KR]]

Aktuální verze z 6. 12. 2015, 22:58

NEW !!! - BOB with Arduino

== NEW !!! == Robotics with the BOE Shield for Arduino

BOB-Arduino 1.png























Obsah

Piezospeaker

http://learn.parallax.com/node/206

BOB-arduino-buzzer.png
void setup()                                 // 
{
  Serial.begin(9600);
  Serial.println("Beep!");  
 
  tone(4, 3000, 1000);                       // Play tone for 1 second
  delay(1000);                               // 
}  
 
void loop()                                  // 
{         
  Serial.println("Waiting for reset...");
  delay(1000);
}

servo

http://learn.parallax.com/node/187

BOB-arduino-servp.png
#include <Servo.h>                           // 
 
Servo servoLeft;                             // 
Servo servoRight;                            // 
 
void setup()                                 // 
{
  servoLeft.attach(13);                      // 
  servoRight.attach(12);                      // 
 
  servoLeft.writeMicroseconds(1300);         // 
  servoRight.writeMicroseconds(1700);        // 
 
  delay(5000);                               // 
 
  servoLeft.detach();                        // Stop 
  servoRight.detach();
}  
 
void loop()                                  // 
{                                            // 
}


Put Maneuvers Into Functions

http://learn.parallax.com/node/226

BOB-arduino-Put Maneuvers Into Functions.png
#include <Servo.h>                           // 
 
Servo servoLeft;                             // 
Servo servoRight;
 
void setup()                                 // 
{
  tone(4, 3000, 1000);                       // 
  delay(1000);                               // 
 
  servoLeft.attach(13);                      // 
  servoRight.attach(12);                     // 
 
  forward(2000);                             // 
  turnLeft(600);                             // 
  turnRight(600);                            // 
  backward(2000);                            // 
  disableServos();                           // 
}  
 
void loop()                                  // 
{                                            // 
}
 
void forward(int time)                       // Forward function
{
  servoLeft.writeMicroseconds(1700);         // 
  servoRight.writeMicroseconds(1300);        // 
  delay(time);                               // 
}
 
void turnLeft(int time)                      // Left turn function
{
  servoLeft.writeMicroseconds(1300);         // 
  servoRight.writeMicroseconds(1300);        // 
  delay(time);                               // 
}
 
void turnRight(int time)                     // 
{
  servoLeft.writeMicroseconds(1700);         // 
  servoRight.writeMicroseconds(1700);        // 
  delay(time);                               //
}
 
void backward(int time)                      // Backward function
{
  servoLeft.writeMicroseconds(1300);         // 
  servoRight.writeMicroseconds(1700);        // 
  delay(time);                               // 
}
 
void disableServos()                         // STOP
{                                            
  servoLeft.detach();                        // 
  servoRight.detach();
}

Line Follower

void loop() 
{
  motion = digitalRead(5) + digitalRead(6)*2 + digitalRead(7)*4;
  switch(motion)
  {
    case 0b010:  servoLeft.writeMicroseconds(1300); servoRight.writeMicroseconds(1700); break; // forward
    case 0b011:  servoLeft.writeMicroseconds(1300); servoRight.writeMicroseconds(1500); break; // slightly to the right
    case 0b001:  servoLeft.writeMicroseconds(1300); servoRight.writeMicroseconds(1300); break; // turn right
    case 0b110:  servoLeft.writeMicroseconds(1500); servoRight.writeMicroseconds(1300); break; // slightly to the left
    case 0b100:  servoLeft.writeMicroseconds(1700); servoRight.writeMicroseconds(1300); break; // turn left
  }
}

Popis

BOB1.jpg
Stamp 01.jpg
Stamp 02.jpg
Stamp 03.jpg
Stamp 04.jpg
Stamp 05.jpg
Stamp 06.jpg
Stamp 07.jpg
Stamp 08.jpg
Stamp 09.jpg
Stamp 10.jpg
Stamp 11.jpg
Stamp 12.jpg


Boe - Bot robot (5 ks z projektu Aplikovaná robotika + 1 ks z projektu OPVK 2009

Je vytvořeno 6 pracovišť s výukovým robotem Boe-Bot Full Kit (5ks s COM, 1ks s USB)

  • BOB má jednoduchou konstrukci
  • Pohon zabezpečují dva upravené modelářské servomotory.
  • Napájený je čtyřmi 1,2 V akumulátory typu AA.
  • Řízení zabezpečuje speciální mikroprocesor BasicStamp2 firmy Parallax.

Pdf.jpg

Výukové materiály:

na školní síti: N:\Janousek\mikroLAB\63_BOB_Robot Boe-Bot

Úkoly na cvičení:

  1. Icon-pdf.gif BOB25_Komunikace s Boe-Bot na síti
  2. Icon-pdf.gif BOB29 Testujeme servopohony Icon-bs2.jpg BOB29a Icon-bs2.jpg BOB29b Icon-bs2.jpg BOB29C
  3. BOB32_Sestava robota Boe-Bot
  4. BOB33_Prvni pohyby robota Boe-Bot
  5. BOB34_Navigace robota Boe-Bot
  6. BOB44_Whiskers_dotykova cidla
  7. BOB50_Sleduj linku
  8. BOB55_Navigating with Infrared Headlights
  9. BOB60_PING- Ultrazvukove cidlo
  10. BOB70_IR Remote for the Boe-Bot
  11. BOB75_Kompas

Vývoj aplikace s robotem BOB

  1. Jízda rovně
  2. Jízda ve čtverci
  3. Jízda podle čáry
  4. Jízda s detekcí nárazu
  5. Jízda s čidlem ultrazvuku
  6. Jízda bludištěm
  7. Jízda v uzavřeném prostoru černou čarou
  8. Hledání černé čáry s následnou jízdou po ní
  9. Jízda po čáře s objížděním překážek
  10. Corridor Sensing

více úloh

Otázky k opakování:

Pdf.jpg Robot Boe-Bot

Užitečné odkazy:

Sada čidel:

Sensor Sampler Kit, ( Hitachi HM55B Compass Module, ......)

SW: STAMP

Syntaxe jazyka:

Příklad:

 ' {$STAMP BS2}
 ' {$PBASIC 2.5}
start: 
HIGH 3 'nastaví linku (0 až 15) číslo 3 jako výstup s úrovní logické "1" 
LOW 2  'nastaví linku číslo 2 jako výstup s úrovní log. "0"
GOTO start 'skok v programu do místa označeného parametrem návěští.
 ' {$STAMP BS2}
 ' {$PBASIC 2.5}
 
Main: 
FREQOUT 7, 10, 25000         ‘generate 25khz tone FOR 10ms 
FREQOUT 7, 1000, 38500       ‘generate 38.5khz tone FOR 1sec 
FREQOUT 7, 2000, 4000, 6000  ‘generate 4khz AND 6khz tones FOR 2sec (at most 2 tones allowed) 
 
END

Experimenty

BOB - úkoly


Osobní nástroje
Jmenné prostory
Varianty
Akce
Rychlá navigace
NEJ aktivity
Nejlepší předměty
Nejlepší MCU
SW-HW
Ostatní
Utility
Nástroje
Tisk/export