{"id":1594,"date":"2010-11-13T12:46:02","date_gmt":"2010-11-13T17:46:02","guid":{"rendered":"http:\/\/www.plastibots.com\/?p=1594"},"modified":"2015-02-27T06:43:14","modified_gmt":"2015-02-27T11:43:14","slug":"pulito-featuring-dflex","status":"publish","type":"post","link":"https:\/\/www.plastibots.com\/index.php\/2010\/11\/13\/pulito-featuring-dflex\/","title":{"rendered":"Pulito &#8211; Featuring DFlex"},"content":{"rendered":"<p style=\"text-align: left;\">Over the summer we installed hardwood flooring &#8211; which needs constant sweeping and cleaning .\u00a0\u00a0\u00a0 What to do&#8230;\u00a0 What to do&#8230;\u00a0 Well, most of us would just sweep it, right?\u00a0 Some of us might even go buy a Roomba.\u00a0 But, then again, some of us build something to do it for them.\u00a0 Why?\u00a0 Because we can&#8230;<\/p>\n<p>Pulito (Italian for &#8216;clean&#8217;) is simply put, a sweeper robot. Much like a Swiffer and Roomba combined.\u00a0 The intent was to build a robot that could navigate around sweeping hard surface floors, stay away from carpeted areas, \u00a0make its way under our couches and seek out a docking station when the battery runs low.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBFrontalView2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1592 aligncenter\" title=\"Pulito - Front View\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBFrontalView2-300x77.jpg\" alt=\"\" width=\"557\" height=\"162\" \/><\/a><\/p>\n<p><!--more--><\/p>\n<p style=\"text-align: left;\">Pulito has been 5 months in the making.\u00a0 The biggest challenge was the making of the IR beacon that it uses to navigate to to recharge itself.\u00a0 Pulito is a combination of LEGO Mindstorms parts and other elctronics &#8211; most of which are within the beacon itself.\u00a0\u00a0 The following is a breakdown of features:<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Pulito:<\/span><\/strong><\/p>\n<ul>\n<li>1 x NXT Brick w\/ LiIon battery<\/li>\n<li>2x NXT motors\u00a0 (drive wheels)<\/li>\n<li>1x Power Functions small motor (sweeper application force)<\/li>\n<li>1x HiTechnic IR Seeker V2 (for seeking the charging beacon)<\/li>\n<li>1x<a href=\"http:\/\/www.dexterindustries.com\/Products-dFlex.html\" target=\"_blank\"> Dexter Industries &#8211; dFlex &#8211; flex sensor strip<\/a><\/li>\n<li>1x Cybermaster <a href=\"http:\/\/www.plastibots.com\/?p=1564\" target=\"_blank\">touch sensor mutiplexer<\/a> (allows for 3 touch sensors to be multiplextd to one sensor port)<\/li>\n<li>1x custom <a title=\"Photo Resistor\" href=\"http:\/\/www.societyofrobots.com\/images\/schematics_photoresistors.jpg\" target=\"_blank\">photo resistor<\/a> (for detecting the NXT LiIon battery light illumination)<\/li>\n<li>2x brass charging bars mounted to the touch detection arms.\u00a0\u00a0 Wired to custom connector jack attached to the NXT&#8217;s Li-Ion batter.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>IR Charging Beacon:<\/strong><\/span><\/p>\n<ul>\n<li>Custom LM556 timer to create 38KHz IR flashing carrier signal and generate the 1200 Hz pulse required by the HiTechnic IR Seeker V2 IR sensor.<\/li>\n<li>Custom main board power supply to provide 5V and 9V regulated power for the BSII, IR Beacon LEDs, LM555 timer, LCD readout.<\/li>\n<li>Brass charge bars linked to power supply.<\/li>\n<li>Powered by 12V Wall Wart.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>IR Charging Beacon (original design):<\/strong><\/span><\/p>\n<ul>\n<li>I have since made some changes to the original beacon to make it more effective. \u00a0Here are the original version specs.<\/li>\n<li>Basic Stamp II Sx module to generate 1200 Hz IR flashing signal (for IR Seeker)<\/li>\n<li>Custom LM555 timer to create 38KHz IR flashing carrier signal.<\/li>\n<li>LCD readout linked to the BSII. Allows for display of 1200\/600 Hz dual modes.<\/li>\n<li>Custom main board power supply to provide 5V and 9V regulated power for the BSII, IR Beacon LEDs, LM555 timer, LCD readout.<\/li>\n<li>Brass charge bars linked to power supply.<\/li>\n<li>Powered by 12V Wall Wart.<\/li>\n<li><a href=\"http:\/\/www.plastibots.com\/?p=1769\" target=\"_blank\">Details on the original beacon design<\/a><\/li>\n<\/ul>\n<p style=\"text-align: center;\">[ad name=&#8221;GoogleAS728x90ImgOnly&#8221;]<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_1593\" aria-describedby=\"caption-attachment-1593\" style=\"width: 300px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBTopView.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1593 \" title=\"Top View\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBTopView-300x274.jpg\" alt=\"\" width=\"300\" height=\"274\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBTopView-300x274.jpg 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBTopView.jpg 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1593\" class=\"wp-caption-text\">Top view of Pulito<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>The idea behind the design is a robot that can autonomously navigate a room dragging a cloth around which picks up dust, hair etc while avoiding obstacles and carpeted areas. \u00a0 \u00a0It does not\u00a0vacuum. \u00a0Would be nice, but that is beyond the ability of LEGO components and this guy&#8217;s budget. \u00a0 \u00a0Avoidance is done via a number of sensors and bumpers. \u00a0The two front &#8216;antenna&#8217; are used for both object bump detection as well as raised surface detection. \u00a0Luckily in my case I have raised transition strips between my kitchen and other rooms (ceramic and carpeted areas), so the bump sensors will trigger when the transition strip is touched.<\/p>\n<p>Pulito also has a motor that allows for adjustment of the cleaning pad. \u00a0It can put more or less pressure on the pad as it see&#8217;s fit. \u00a0It an also raise the pad. \u00a0 At the front of the touch sensors, there are 2 brass rods attached. These are used to charge the unit when it docks to the beacon &#8211; more on this later.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Pulito also uses a new sensor from <a href=\"http:\/\/www.dexterindustries.com\/\" target=\"_blank\">Dexter Industries<\/a> called DFlex. \u00a0 The sensor consists of a long flat flexible sensor strip that returns variable values depending on how much it is flexed. \u00a0It does this by varying the resistance as you flex the strip. \u00a0Within RobotC, you can uses a Raw or Normalized value for the results giving a wide range of options for interfacing with a robot. \u00a0In this case, the sensor serves a unique purpose. \u00a0Pulito was built to go under couches and chairs. \u00a0However, the underside of these objects can vary in height. \u00a0The backside of Pulito (the NXT) sticks up a bit higher than the front. \u00a0DFlex allows the robot to navigate under couches and monitors the values of the sensor strip. \u00a0Once the value hits somewhere between 90-100 (normalized) it is considered too low and Pulito must get out. \u00a0The following video shows how DFlex allows you to control motor speed. \u00a0In the video, the right wheel motor will vary its speed as I flex the strip. \u00a0At full flex, it will go into reverse and avoidance mode. \u00a0There are also more video&#8217;s below.<\/p>\n<p style=\"text-align: center;\"><object width=\"480\" height=\"385\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,40,0\"><param name=\"allowFullScreen\" value=\"true\" \/><param name=\"allowscriptaccess\" value=\"always\" \/><param name=\"src\" value=\"http:\/\/www.youtube.com\/v\/eO9buKXiQe8?fs=1&amp;hl=en_US&amp;rel=0\" \/><param name=\"allowfullscreen\" value=\"true\" \/><\/object><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>The bottom view shows the \u00a0cleaning pad (dirty after a number of test runs) as well as some other components. \u00a0 You can also see the charge photoresistor sensor (more later). \u00a0The motors are setup as direct drive to the wheels and can easily move Pulito around the floor area.<\/p>\n<figure id=\"attachment_1586\" aria-describedby=\"caption-attachment-1586\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBbottomView.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1586 \" title=\"SBbottomView\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBbottomView-300x232.jpg\" alt=\"\" width=\"300\" height=\"232\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBbottomView-300x232.jpg 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBbottomView.jpg 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1586\" class=\"wp-caption-text\">Bottom View<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>This image shows the photoresitor sensor that I created. \u00a0Originally, I had hoped to use software to monitor when the NXT LiIon battery was charging, but there is no direct way to do this. \u00a0They are some internal variables available to monitor battery voltage, but they are not reliable and I needed something that instantly registers when the charger was engaged with the beacon and the battery started to charge. \u00a0 \u00a0When the Li-Ion battery is connected to a charger, there are 2 LEDs at the bottom &#8211; one red and one green. \u00a0Both light up when the battery is being charged. \u00a0So, I whipped up this photoresistor sensor that sits directly over the red LED. When Pulito docks to the beacon, the LED lights up immediately. \u00a0The sensor is easy &#8211; it is setup in RAW mode as a <em>LightInactive<\/em>. \u00a0When the LED is off, the value is 0. \u00a0When the LED is on, the value ranges above 0. \u00a0I trigger it when it hits &gt; 200 units.<\/p>\n<figure id=\"attachment_1652\" aria-describedby=\"caption-attachment-1652\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBChargePhotoDetector.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1652 \" title=\"SBChargePhotoDetector\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBChargePhotoDetector-300x225.png\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBChargePhotoDetector-300x225.png 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBChargePhotoDetector.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1652\" class=\"wp-caption-text\">Charge Photo Detector Sensor<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>A front view of the shows the left bumper, the flex tubes that track at floor level as well as the brass charge bars. \u00a0 The charge bars meet with the charge plates on the beacon when the unit docks.<\/p>\n<figure id=\"attachment_1589\" aria-describedby=\"caption-attachment-1589\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBchargeBar.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1589 \" title=\"SBchargeBar\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBchargeBar-300x125.jpg\" alt=\"\" width=\"300\" height=\"125\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBchargeBar-300x125.jpg 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBchargeBar.jpg 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1589\" class=\"wp-caption-text\">Left Side Charge Bar<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>A top view showing the brush position motor. \u00a0 The robot uses a PF small motor linked to a linear actuator and a cam system to raise\/lower the cleaning brush. \u00a0It was a tight fit.<\/p>\n<figure id=\"attachment_1650\" aria-describedby=\"caption-attachment-1650\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBBrushPosMotor.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1650 \" title=\"SBBrushPosMotor\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBBrushPosMotor-300x225.png\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBBrushPosMotor-300x225.png 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBBrushPosMotor.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1650\" class=\"wp-caption-text\">Brush Position Motor<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Another top view showing the cam system that links the brush position motor to the brush. \u00a0To the right is one of 3 Cybermaster touch sensors. \u00a0This one is used to detect when the brush is in the raised position. \u00a0The cam attaches to 2 linked set of axles and each axle set is linked together. \u00a0 The brush unit is connected at 4 points. \u00a0 Changing the pad is as simple as disconnecting these 4 points and the entire pad plate (seen in blue).<\/p>\n<figure id=\"attachment_1651\" aria-describedby=\"caption-attachment-1651\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBBrushPosMotorCam.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1651 \" title=\"SBBrushPosMotorCam\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBBrushPosMotorCam-300x225.png\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBBrushPosMotorCam-300x225.png 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBBrushPosMotorCam.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1651\" class=\"wp-caption-text\">Brush Position Cam Unit and Touch Sensor<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>The following is a picture of the charging beacon. Although it looks quite plain from the outside, it is what is inside that resulted in this being a 5 month build (well that and things like kids! \ud83d\ude42 From the top there is a cutout for the LCD. The purpose of the LCD is to display the change from 1200 to 600 Hz. The gray axle on top is used to swap between frequencies. These frequencies are tuned to work with the HT IR Seeker V2 sensor on Pulito. Together they allow Pulito to detect the beacon from across the room in many varying conditions (incl bright sunlinght). As many of you know, IR is everywhere, so the 1200Hz is used to allow robots to tune into a specific frequency while ignoring other sources of IR. At the front, the 2 charge bars can be seen. These allow Pulito to dock to the unit and begin charging. At the center in the front, the blue cylinder contains 3 IR LEDs. These LEDs are connected internally to a Basic Stamp II Sx which drives a 1200\/600 Hz pulse through a separate 555 timer that generates a 38Khz carrier wave. Together the 1200Hz and 38KHz carrier allow the HT IR Seeker V2 to find the beacon. To the left side of the beacon an external wall wart connector has been mounted in 2 1&#215;2 bricks and runs 12 Volts into the system (more like 14V). This is all regulated using the power supply. Additionally, a dedicated (fused) like runs directly to the 2 charge bars (brass things at the bottom left and right) which bring 14V to the Pulito charging system. The fuse is necessary in case there is ever a short across the charge cars (read as\u00a0my 3 yr old son likes to explore). Of course, its only 14V and pretty much harmless.<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_1657\" aria-describedby=\"caption-attachment-1657\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBChargingBeacon.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1657 \" title=\"SBChargingBeacon\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBChargingBeacon-300x227.png\" alt=\"Charging Beacon\" width=\"300\" height=\"227\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBChargingBeacon-300x227.png 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/SBChargingBeacon.png 967w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1657\" class=\"wp-caption-text\">Charging Beacon<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>The core components consist of th 556 Dual Timer circuit board (left), the main power supply board (middle) and the IR LEDs (x3) to the right. These all fit inside the beacon shell. Now that I am no longer using the BSIISx, I probably could make the beacon smaller.<\/p>\n<figure style=\"width: 300px\" class=\"wp-caption aligncenter\"><a title=\"Beacon Internals\" href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/11\/SB-Beacon-Pwr-Supply-and-556-Timer.png\"><img loading=\"lazy\" decoding=\"async\" title=\"SB - Beacon Pwr Supply and 556 Timer\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/11\/SB-Beacon-Pwr-Supply-and-556-Timer-300x225.png\" alt=\"Beacon Internals\" width=\"300\" height=\"225\" \/><\/a><figcaption class=\"wp-caption-text\">Beacon Internal<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>The heart of the beacon is a small circuit that uses a 556 dual timer to generate both the 38KHz carrier and 1200Hz pulse that the HT IrSeeker V2 needs to see to find the beacon from a distance. It works quite well, even when there is ample light coming in from our two large windows.<\/p>\n<figure style=\"width: 258px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" \" title=\"556Timer\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/11\/556Timer.jpg\" alt=\"\" width=\"258\" height=\"147\" \/><figcaption class=\"wp-caption-text\">556 Dual Timer Chip<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>I ended up choosing a circuit described in\u00a0<a href=\"http:\/\/www.botmag.com\/articles\/scribbler.shtml\" target=\"_blank\">BotMag based on the Scribbler Robot<\/a>. The values I used for resistors are slightly different &#8211; but close. To the top left, the 1K is the same, the 10K was replaced with a 5K variable resistor (tuned to approx 3.5k).<\/p>\n<p>The ones for the 1K, 10K and 10K POT shown in the middle where the same (as this circuit generates the 38KHz carrier as well). However, I found that I had to tune the 10K POT to 5.44K. I also did not use the 7805 in this circuit as I had it on my power supply. I also did not use the 47uF cap or the 82R resistors\/IR LED&#8217;s. See below for details on that. Everything else is the same.<\/p>\n<p>In order to determine the correct tuning of the variable resistors, I needed an oscilloscope. Problem was, I did not want to shell out hundreds of bucks for it. However, I found myself more and more in need of measuring simple signals. So, I found the\u00a0<a href=\"http:\/\/www.seeedstudio.com\/depot\/dso-nano-v2-p-681.html?cPath=104_108\" target=\"_blank\">DSO Nano V2<\/a>. Great little oscilloscope for the hobbyist. Does the trick for simple measurements.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/11\/556-Timer-circuit.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"556 Timer circuit\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/11\/556-Timer-circuit-300x231.jpg\" alt=\"\" width=\"300\" height=\"231\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>The 556 dual timer (right) has a regulated 5V power supply that runs from the power supply board. To the top right you can see the resistors\/caps that are used to generate the 1200Hz pulse. You dont have to use variable resistors here, but it helps to custom tune the circuit. I found that even though I used a number of online calculators to determine the correct resistor\/cap combination for R1, R2 and C1, I still needed an oscilloscope to get it right.<\/p>\n<ul>\n<li>To test\/tune the 1200Hz signal (left side) \u2013 \u00a0temporarily ground pin 8 to pin 7 on the 556 timer, then adjust the 5K pot until you get 1200 Hz.<\/li>\n<li>To test\/tune the 38KHz carrier signal \u2013 temporarily ground pin 6 to pin 7 on the 556 timer, then adjust the 10K pot until you get 38KHz.<\/li>\n<\/ul>\n<figure style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/11\/SB-Beacon-556-Timer.png\"><img loading=\"lazy\" decoding=\"async\" title=\"SB - Beacon 556 Timer\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/11\/SB-Beacon-556-Timer-300x297.png\" alt=\"\" width=\"300\" height=\"297\" \/><\/a><figcaption class=\"wp-caption-text\">556 Timer Circuit<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>The power supply was built to providepower to a number of sources. In my V1 version of the beacon, I required 5V supplies for the BSIISx, LCD and 9V supplies for the IR LEDs. I also needed to run a straight line to the charging bars. This was all done here. The bottom left shows the power supply for the charge bars. This was fused in the event of a short. It runs the raw (appox 13V) through to the NXT LiIon battery when docked. To the top you can see a small switching circuit that uses a transistor connected to the output of the 556 timer to switch 9V power to ensure the 3 IR LEDs get the most juice possible so that the beacon can be seen from a distance. Along the right side there are 2 sets of regulated power supplies. One uses an LM7805 to provide regulated 5 Volts and the other uses an LM7809 to provide regulated 9 Volts.<\/p>\n<figure style=\"width: 224px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/11\/SB-Beacon-Power-Supply.png\"><img loading=\"lazy\" decoding=\"async\" title=\"SB - Beacon Power Supply\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/11\/SB-Beacon-Power-Supply-224x300.png\" alt=\"\" width=\"224\" height=\"300\" \/><\/a><figcaption class=\"wp-caption-text\">Beacon Power Supply<\/figcaption><\/figure>\n<figure style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/BeaconPowerSupply.png\"><img loading=\"lazy\" decoding=\"async\" title=\"BeaconPowerSupply\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/BeaconPowerSupply-300x225.png\" alt=\"Beacon Power Supply\" width=\"300\" height=\"225\" \/><\/a><figcaption class=\"wp-caption-text\"><span style=\"line-height: 17px; font-size: 11px;\">Power Supply In Beacon<\/span><\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>A front view of the beacon when powered. The camera shows the beacon IR LEDs illuminated. These LEDs are being driven at 1200Hz with a a 38KHz carrier. Tuned for the HT Ir Seeker V2. When Pulito needs to charge, it seeks out this beacon source and navigates towards it. It was necessary to cover the cylinder with the axle holed plate as the 3 IR LEDs flooded the area with IR and made it more difficult for Pulito to center itself in the beacon base. This way, the IR light is not as dispersed. This also limits the distance of detection, but this is not an issue in the area that this setup is running within.<\/p>\n<p><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/BeaconIRLEDs.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1584 \" title=\"BeaconIRLEDs\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/BeaconIRLEDs-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/BeaconIRLEDs-300x225.jpg 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/10\/BeaconIRLEDs.jpg 680w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\">Pulito seeking out the beacon. I created a task that monitors the battery voltage. When it reaches below a certain threshold Pulito will switch from &#8216;cleaning&#8217; mode to &#8216;beaconseeking&#8217; mode.<\/p>\n<p style=\"text-align: center;\"><object width=\"480\" height=\"385\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,40,0\"><param name=\"allowFullScreen\" value=\"true\" \/><param name=\"allowscriptaccess\" value=\"always\" \/><param name=\"src\" value=\"http:\/\/www.youtube.com\/v\/UZZhOGgeuts?fs=1&amp;hl=en_US&amp;rel=0\" \/><param name=\"allowfullscreen\" value=\"true\" \/><\/object><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\">Pulito cleaning. Video has speed increased 4x to make it less boring&#8230;<\/p>\n<p style=\"text-align: center;\"><object width=\"480\" height=\"385\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,40,0\"><param name=\"allowFullScreen\" value=\"true\" \/><param name=\"allowscriptaccess\" value=\"always\" \/><param name=\"src\" value=\"http:\/\/www.youtube.com\/v\/vjcm1EzqlNY?fs=1&amp;hl=en_US&amp;rel=0\" \/><param name=\"allowfullscreen\" value=\"true\" \/><\/object><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\">I attached a Swiffer to the bottom to ensure that the dust is caught and &#8216;locked in&#8217; as they say on their commercials. Works quite well for the fine stuff! Admittedly, the robot pretty much just pushes around the big crumbs&#8230; I need a vaccume for that<\/p>\n<figure id=\"attachment_1782\" aria-describedby=\"caption-attachment-1782\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/11\/PulitoCleaning.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1782   \" title=\"PulitoCleaning\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/11\/PulitoCleaning-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/11\/PulitoCleaning-300x225.jpg 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2010\/11\/PulitoCleaning.jpg 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1782\" class=\"wp-caption-text\">Dust &amp; Stuff Collected<\/figcaption><\/figure>\n<p><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2011\/04\/Pulito_beaconCode.bsx_.txt\">Beacon Code<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Over the summer we installed hardwood flooring &#8211; which needs constant sweeping and cleaning .\u00a0\u00a0\u00a0 What to do&#8230;\u00a0 What to do&#8230;\u00a0 Well, most of us would just sweep it, right?\u00a0 Some of us might even go buy a Roomba.\u00a0 But, then again, some of us build something to do it for them.\u00a0 Why?\u00a0 Because we can&#8230; Pulito (Italian for &#8216;clean&#8217;) is simply put, a sweeper robot. Much like a Swiffer and Roomba combined.\u00a0 The intent &hellip; <a href=\"https:\/\/www.plastibots.com\/index.php\/2010\/11\/13\/pulito-featuring-dflex\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[18,6,57,3,4,28,59],"tags":[62,61,63,60,56],"class_list":["post-1594","post","type-post","status-publish","format-standard","hentry","category-autonomous","category-dyihacks","category-electronics","category-legorobots","category-nxtrobots","category-other-robots","category-timers","tag-556-timer","tag-basic-stamp","tag-dflex","tag-ir-seeker","tag-sensor-multiplexing","has_no_thumb"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pK41j-pI","jetpack_sharing_enabled":true,"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/posts\/1594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/comments?post=1594"}],"version-history":[{"count":0,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/posts\/1594\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/media?parent=1594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/categories?post=1594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/tags?post=1594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}