Bambino Programming by David Buckley
Developer Programming instructions - Arduino
Now you have built Bambino you can either just use it with the preloaded program or you can learn about robots and programming by following the programs I wrote while creating the Arduino version of Bambino.
Each of the programs builds on the previous programs so the latest has all of the facilities of the earlier ones.
You will need the Arduino IDE
- ProMini-Headers1-39.txt sketch headers
- Bambino Arduino - program Rationales @#54
Programs
--------
The first 39 sketches are for the ProMini prototype.
You can right-click and 'save theses link as'. The file will need to be put in a folder of the same name to suit the Arduino IDE.
- B_PM01_ServosMid - set servos to mid so horns can be put on in the right place
- B_PM02_BoardTest - Servos to mid, flash LEDs, sound, test sensors
- B_PM03_BoardInit - Initialise the EEPROM then make a sound from the speaker
- B_PM04_Servos - calibrate and adjust the servo centres
- B_PM05_Rock - example code for Bambino to rock from side to side
- B_PM06_Shuffle - example code for Bambino to shuffle its feet
- B_PM07_WalkFd - example code for Bambino to walk Forwards
- B_PM08_WalkStop - a flag f_walking so Bambino on reset walks or stops
- B_PM09_Forward - example code for a Forwards step
- B_PM10_Backward - example code for a Backwards step
- B_PM11_TurnRight - example code for a Right turn
- B_PM12_TurnLeft - example code for a Left turn
- B_PM13_USsense - Sense obstacles with the Ultrasonic sensor and avoid obstacles
- B_PM14_USwander - Wander using the Ultasonic sensor to avoid obstacles
- B_PM15_BeardTest - Test the Beard LEDs and sensors
- B_PM15_WhiskerTest - Test the Whisker LEDs and sensors
- B_PM16_BeardWander - Wander using the Beard to avoid table edges
- B_PM16_WhiskerWander - Wander using the Whiskers to avoid obstacles
- B_PM17_Wander - Wander avoiding table edges and obstacles
- B_PM18_AvoidBack - a flag f_forwards so Bambino steps backwards when avoiding
- B_PM19_SpeedWander - speed-up and speed-down
These sketches are split into Tab Files
and so are in folders in Bambino-programs-Arduino20-39.zip, unpack to use in the IDE
- B_PM20_Wander - program split into Tab files
- B_PM21_PlayTime - rock and shuffle routines
- B_PM22_BeAlive - a routine to allow Bambino to act alive
- B_PM23_SerialCmnd - commanding Bambino from the Serial Monitor or a serial terminal
- B_PM24_Learn - learn and remember an Act
- B_PM25_Learn8 - learn uo to 8 Acts
- B_PM26_CopyAct - copy one Act to another
- B_PM27_loadAct - load an Act directly from a serial terminal
- B_PM28_DumpActs - Dump Acts to the PC
- B_PM29_Run8 - autorun of Act 8 on reset or poweron
- B_PM30_Wait - w to Wait '1' - '9' seconds
- B_PM31_Speed - speed up/down, set speed
- B_PM32_CommanderXE - Xplore, user Experiment
- B_PM33_PROGMEM - Help text put in PROGMEM
- B_PM34_vbt - commands for sound, vitality, turning skills
- B_PM35_Acts0 - addition of a second memory page for Acts
- B_PM36_turns - turn to light/dark, turn until at light/dark
- B_PM37_Mind - print the robot's mind
- B_PM38_NewPrint - ? - to print what is in the robot's brain
- B_PM39_Adjust - b@ - to calibrate and Adjust the Serovo centres
These sketches are written using #defines to suit the ProMini,and OEM-Uno versions of Bambino.
in Bambino-programs-Arduino40-52.zip, unpack to use in the IDE
- BA40 - B_PM39_Adjust rewritten as common program for all arduino variants 14758 bytes
- BA41_Name - # - assignment of robot Name and Group 16006
- BA42_Autorun - bax - to set the Autorun Act 16488
- BA43_Walk - g0,g1 commands to disable,enable walking 16552
- BA44_ReActs - Reactions now in EEPROM page 3 instead of hard coded 18818
- BA45_Behaviour - 8 behaviours in EEPROM instead of just one 24990
- BA46_Aware - background aware, bG,bW,bU - auto-testing of sensors at each move 26098
- BA47_Centre - altering pace and roll centres in RAM 27008
- BA48_Do - Do commands as a subroutine 27284
- BA49_Mind - ability to do randomly, different commands or Acts 27770
- BA50_IR - control of Bamduino from a Sony IRcontroller 29690
- BA51_actions - a - to execute coded actions 30676
- BA52_IRout - T - to transmit by IR IR commands 30520
- BA53_turnUS - t-,a-,[^][-] turn to object, t+,a+.[^][+] turn to open space 30868
make Act8 autorun if recorded by IR - BA53_turnUS.zip
- BA54_Whiskers - Whisker and Beard LEDs control - iw '0'-'3', ib '0'-'3' 30706
- `Acts.txt
- `ReActs.txt
- Doc_BA52.h
- Doc_BAcmnds54.h
- Doc_BAsections54.h
- BA54_Whiskers.ino
- acts51.ino
- adjustServos45.ino
- behaviour46.ino
- help54.ino
- mind54.ino
- movement49.ino
- pins20.h
- sense54.ino
- servos49.ino
- skills54.ino
- varsCons50.h
[page top]
Revisions
2023-06-15 BA54_Whiskers
2022-03-03 BA53_turnUS
2022-02-05 BA51_actions
2022-02-18 BA52_IRout