{"id":13067,"date":"2016-03-18T09:00:31","date_gmt":"2016-03-18T16:00:31","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=13067"},"modified":"2021-06-16T14:19:27","modified_gmt":"2021-06-16T21:19:27","slug":"levitating-a-ping-pong-ball-obliterating-all-obstacles","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/levitating-a-ping-pong-ball-obliterating-all-obstacles\/","title":{"rendered":"Levitating a Ping Pong Ball &#8211; Obliterating All Obstacles"},"content":{"rendered":"<p>Welcome back to the Digilent Blog!<\/p>\n<p>I&#8217;m happy to say that this is the final stop on my journey towards levitating a ping pong ball. I started out with some <a href=\"https:\/\/digilent.com\/blog\/index.php\/levitating-a-ping-pong-ball-first-steps\/\" target=\"_blank\" rel=\"noopener\">first steps<\/a> and then a more <a href=\"https:\/\/digilent.com\/blog\/index.php\/levitating-a-ping-pong-ball-first-serious-attempt\/\" target=\"_blank\" rel=\"noopener\">serious attempt<\/a>, both of which had their own obstacles to overcome. But I have now successfully overcome all of the troubles that I encountered. Admittedly, (and sadly), I didn&#8217;t actually go Super Saiyan, but I&#8217;m pretty sure I was close.<\/p>\n<p>For this final iteration, I ended up using a few different things: a <a href=\"https:\/\/digilent.com\/shop\/pmodacl2-3-axis-mems-accelerometer\/\" target=\"_blank\" rel=\"noopener\">PmodACL2<\/a> to measure the static acceleration, a <a href=\"https:\/\/digilent.com\/shop\/chipkit-wf32-wifi-enabled-microntroller-board-with-uno-r3-headers\/\" target=\"_blank\" rel=\"noopener\">WF32<\/a> to read the acceleration values and control the fan speed, and a <a href=\"http:\/\/www.mouser.com\/ProductDetail\/Sanyo-Denki\/9GA0405P6F001\/?qs=sGAEpiMZZMt9MS9kROxCw0CYySnW7Gy%2fgdvKpA5eahc%3d\" target=\"_blank\" rel=\"noopener\">PWM controllable DC fan<\/a>. The PmodACL2 ended up being ideal as a user input for the height control, because people are able to hold it in their hand and rotate the Pmod back and forth to see a visible change in how high the ping pong ball is floating. The accelerometer can also be set back down without any damage to the overall setup or generating errors since it is either rotated or not rotated.<\/p>\n<figure id=\"attachment_13073\" aria-describedby=\"caption-attachment-13073\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-13073\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/03\/height-control-1000-600x439.png\" alt=\"Controlling the height of a ping pong ball with Digilent's PmodACL2 and WF32.\" width=\"600\" height=\"439\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/03\/height-control-1000-600x439.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/03\/height-control-1000-768x562.png 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/03\/height-control-1000-800x586.png 800w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/03\/height-control-1000.png 1000w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-13073\" class=\"wp-caption-text\">Controlling the height of a ping pong ball with Digilent&#8217;s PmodACL2 and WF32.<\/figcaption><\/figure>\n<p>I choose the PWM controllable fan for multiple reasons: it ran at 5V so I could easily power it from the microcontroller and allows for PWM control so that the fan speed can easily be adjusted from a digital signal to levitate the ping pong ball at different heights. At 0.9 Watts and 7.4 CFM (cubic feet per minute), it ran at a low enough power to be easily run from a small external power supply, but with enough &#8220;oomph&#8221; to levitate the ball the full 4 foot length of the tube. It was also small enough physically to have the column of air that it produces nicely take up the whole space inside of the tube, ensuring both that there is not any wasted air flow going around the sides of the tube, and ensuring that it is not too small (which would mean that the air has to expand to fill the tube, losing a lot of its speed and energy).<\/p>\n<p>Digilent&#8217;s WF32 is the brain behind the operation; with plenty of I\/O and an on-board Wi-Fi chip, the height control project can be easily expanded to simply be able to control the height of the ping pong ball remotely or implement side projects such as working with LabVIEW through NI&#8217;s <a href=\"https:\/\/www.labviewmakerhub.com\/doku.php?id=libraries:linx:start\" target=\"_blank\" rel=\"noopener\">LabVIEW MakerHub LINX<\/a>.<\/p>\n<p>You can check out how the final project is put altogether at <a href=\"http:\/\/www.instructables.com\/id\/Float-a-Ping-Pong-Ball-at-Will\/\" target=\"_blank\" rel=\"noopener\">Instructables<\/a>,\u00a0or if you simply can&#8217;t wait that long, check out the picture and short video of it in action on Digilent&#8217;s <a href=\"https:\/\/twitter.com\/DigilentInc\/status\/707657173187203072\" target=\"_blank\" rel=\"noopener\">Twitter<\/a> and <a href=\"https:\/\/www.instagram.com\/p\/BCvYW9DylgE\/?taken-by=digilentinc&amp;hl=en\" target=\"_blank\" rel=\"noopener\">Instagram<\/a>. This project will also be demo&#8217;d at booth 308 during the <a href=\"http:\/\/www.ecedha.org\/conferences\/2016-ecedha-annual-conference-and-ecexpo\" target=\"_blank\" rel=\"noopener\">ECExpo 2016 at ECEDHA<\/a>\u2014feel free to check it out if you&#8217;re in the San Diego area!<\/p>\n<p>&nbsp;<\/p>\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">Is it Magic?  The levitating ball trick with the <a href=\"https:\/\/twitter.com\/hashtag\/WF3?src=hash&amp;ref_src=twsrc%5Etfw\">#WF3<\/a>.  Look for this at <a href=\"https:\/\/twitter.com\/ECEDHA?ref_src=twsrc%5Etfw\">@ECEDHA<\/a> booth 308! <a href=\"https:\/\/t.co\/k0bBcfR9Cx\">https:\/\/t.co\/k0bBcfR9Cx<\/a> <a href=\"https:\/\/t.co\/KQhjRyfDYt\">pic.twitter.com\/KQhjRyfDYt<\/a><\/p>\n<p>&mdash; Digilent Inc. (@DigilentInc) <a href=\"https:\/\/twitter.com\/DigilentInc\/status\/707657173187203072?ref_src=twsrc%5Etfw\">March 9, 2016<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-13067 jlk' data-task='like' data-post_id='13067' data-nonce='ac068a413b' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-13067 lc'>0<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-13067 jlk' data-task='unlike' data-post_id='13067' data-nonce='ac068a413b' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-13067 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-13067 status align-left'>Be the 1st to vote.<\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>The final chapter of James&#8217; foray into the world of magic!<\/p>\n","protected":false},"author":17,"featured_media":13072,"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_memberships_contains_paid_content":false,"footnotes":""},"categories":[38,4327],"tags":[],"ppma_author":[4469],"class_list":["post-13067","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-expansion-modules","category-projects"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/03\/Youre-A-Wizard-James-And-a-Saiyan-Too-1000.png","jetpack_sharing_enabled":true,"authors":[{"term_id":4469,"user_id":17,"is_guest":0,"slug":"jamescolvin","display_name":"James Colvin","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/8aa85f7d11711acc7e571e1ed26c901b614a7064a2e15e522f54d9f26792ea9e?s=96&d=mm&r=g","1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":"","9":"","10":""}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/13067","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=13067"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/13067\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/13072"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=13067"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=13067"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=13067"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=13067"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}