{"id":7209,"date":"2014-01-05T19:12:02","date_gmt":"2014-01-05T18:12:02","guid":{"rendered":"http:\/\/www.tilt.it\/flipper_pinball\/?p=7209"},"modified":"2014-07-30T18:05:29","modified_gmt":"2014-07-30T16:05:29","slug":"kinect4flipper-gioca-al-pinball-utilizzando-il-kinect","status":"publish","type":"post","link":"https:\/\/www.tilt.it\/flipper_pinball\/2014\/01\/kinect4flipper-gioca-al-pinball-utilizzando-il-kinect\/","title":{"rendered":"Kinect4Flipper \u2013 Gioca al Pinball utilizzando il Kinect"},"content":{"rendered":"<div class=\"translate_block\" style=\"display: none;\">\n<a class=\"translate_translate\" id=\"translate_button_post-7209\" lang=\"en\" xml:lang=\"en\" href=\"javascript:show_translate_popup('en', 'post', 7209);\">[Translate]<\/a><img src=\"https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/plugins\/google-ajax-translation\/transparent.gif\" id=\"translate_loading_post-7209\" class=\"translate_loading\" style=\"display: none;\" width=\"16\" height=\"16\" alt=\"\" \/>\n<\/div>\n<div id=\"content_div-7209\">\n<p style=\"text-align: justify;\">Tutti gli appassionati di Pinball sanno che questo fantastico gioco nasce intorno agli anni 50 negli Stati Uniti d\u2019America. Dopo aver spopolato anche oltre oceano ha visto come qualsiasi altro gioco meccanico un leggero declino. La generazione attuale preferisce sostituire questi giochi \u201cvintage\u201d con potentissime console capaci di interagire con il giocatore anche semplicemente muovendo il proprio corpo. Per questo motivo abbiamo deciso di avvicinare le vecchie generazioni alle nuove creando un\u2019architettura capace di controllare il flipper attraverso il sensore Microsoft Kinect.<\/p>\n<p><span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"1170\" height=\"659\" src=\"https:\/\/www.youtube.com\/embed\/VV8NiiRDwAQ?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=it-IT&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span><\/p>\n<p style=\"text-align: justify;\">How to\u2026Elettrico<br \/>\nIl flipper su cui abbiamo effettuato l\u2019hack utilizza i classici bottoni laterali. Questi bottoni, una volta premuti, chiudono il circuito di alimentazione della bobina utile ad alzare i flippers. Per \u201csimulare\u201d la pressione dei bottoni abbiamo utilizzato una circuiteria basata su relay SPST ,meglio conosciuti come rel\u00e8 one way. Guardare l\u2019immagine sotto rappresentata come riferimento:<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic01.jpg\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7210 size-medium\" src=\"http:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic01-300x225.jpg\" alt=\"kinectic01\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic01-300x225.jpg 300w, https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic01-768x576.jpg 768w, https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic01-1024x769.jpg 1024w, https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic01-520x390.jpg 520w, https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic01-740x555.jpg 740w, https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic01-900x675.jpg 900w, https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic01.jpg 1471w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Il controllo dei relay \u00e8 stato effettuato attraverso l\u2019utilizzo di una scheda di sviluppo Arduino 2009 collegata serialmente al pc.<\/p>\n<p> <!--more--><\/p>\n<p>How to\u2026Firmware&amp;Software<\/p>\n<p>Come ogni architettura basata su circuiteria elettronica necessita di una fase di sviluppo firmware &amp; software. Per prima cosa si \u00e8 scritto il firmware per Arduino che legge serialmente(tramite cavo USB) una sequenza di Byte inviata attraverso il software che utilizzer\u00e0 il Kinect:<\/p>\n<p><a href=\"http:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic02.png\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7211 size-medium\" src=\"http:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic02-300x102.png\" alt=\"kinectic02\" width=\"300\" height=\"102\" \/><\/a><\/p>\n<p>Dalla dichiarazione delle costanti del firmware \u00e8 possibile evincere che sono stati utilizzati i PIN digitali 2 e 3 per controllare rispettivamente i rel\u00e8 del flipper destro e flipper sinistro. Completata la scrittura del firmware e il flashing su ROM dell\u2019Arduino passiamo alla scrittura del software che analizzer\u00e0 le immagini attraverso il Kinect e invier\u00e0 la sequenza di Byte all\u2019Arduino. Il software controller \u00e8 stato scritto totalmente in C# attraverso le librerie NUI(Natural User Interface) di Microsoft. Per prima cosa occorre fare chiarezza sulla teoria di analisi delle immagini del Kinect. Un giocatore diventa rilevabile e attivo dal Kinect solo quando \u00e8 posizionato frontalmente rispetto ad esso. Rilevato il giocatore, il sensore effettua una scansione del corpo ed identifica i suoi punti fondamentali( Joints termine ufficiale SDK) e ne ricrea lo scheletro( Skeletal termine ufficiale SDK). L\u2019immagine qui di seguito aiuta a capire meglio la definizione data in precedenza:<\/p>\n<p><a href=\"http:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic03.png\" data-rel=\"lightbox-image-2\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7212 size-medium\" src=\"http:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic03-300x282.png\" alt=\"kinectic03\" width=\"300\" height=\"282\" srcset=\"https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic03-300x282.png 300w, https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic03.png 351w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Di seguito il posizionamento corretto del giocatore:<\/p>\n<p><a href=\"http:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic04.jpg\" data-rel=\"lightbox-image-3\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7213 size-medium\" src=\"http:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic04-225x300.jpg\" alt=\"kinectic04\" width=\"225\" height=\"300\" srcset=\"https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic04-225x300.jpg 225w, https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic04.jpg 480w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/a><\/p>\n<p>Per simulare la pressione dei tasti \u00e8 stato creato un algoritmo capace di riconoscere la posizione delle mani pi\u00f9 internamente rispetto a quelle dei gomiti. Ogni Joint \u00e8 rappresentato in uno spazio tridimensionale attraverso le coordinate X, Y e Z, quindi per rilevare la chiusura della braccia \u00e8 stato confrontato il punto X del gomito con quello della mano sull\u2019asse delle ascisse. L\u2019immagine di seguito mostra come un giocatore viene rappresentato all\u2019interno del sistema:<\/p>\n<p><a href=\"http:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic05.jpg\" data-rel=\"lightbox-image-4\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7214 size-medium\" src=\"http:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic05-225x300.jpg\" alt=\"kinectic05\" width=\"225\" height=\"300\" srcset=\"https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic05-225x300.jpg 225w, https:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic05.jpg 480w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/a><\/p>\n<p>Conclusioni..<\/p>\n<p>Questo articolo mostra una panoramica molto generica del progetto. Occorrerebbe entrare pi\u00f9 nel dettaglio per quanto riguarda la gestione dell\u2019analisi delle immagini e delle relative SDK utilizzate per questo progetto. Inoltre sarebbe opportuno entrare anche nel dettaglio della parte elettronica riguardante il wiring con il pinball.<\/p>\n<p>Chi siamo e perch\u00e9 abbiamo realizzato il progetto:<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7215 size-thumbnail\" src=\"http:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic06-150x150.jpg\" alt=\"kinectic06\" width=\"150\" height=\"150\" \/>Michele Galletta<\/p>\n<p style=\"text-align: justify;\">Appassionato di Pinball, sfrutta le sue grandi capacit\u00e0 da restauratore ed elettricista per sistemare con gran cura vecchi Pinball che necessitano ancora di GLORIA<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7216 size-thumbnail\" src=\"http:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic07-150x150.jpg\" alt=\"kinectic07\" width=\"150\" height=\"150\" \/>Antonio Blescia<\/p>\n<p>Da sempre amante delle tecnologie basate sulla realt\u00e0 aumentata, passa nottate a sviluppare applicazioni innovative ed utili per il prossimo.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7217 size-thumbnail\" src=\"http:\/\/www.tilt.it\/flipper_pinball\/wp-content\/uploads\/2014\/07\/kinectic08-150x150.jpg\" alt=\"kinectic08\" width=\"150\" height=\"150\" \/>Alessandro Galletta<\/p>\n<p style=\"text-align: justify;\">La mascotte del progetto, vederlo giocare con il Pinball interfacciato al Kinect \u00e8 stata una soddisfazione personale da parte nostra. Si \u00e8 divertito molto, quindi, possiamo affermare che il connubio old generation &amp; new generation \u00e8 stato soddisfatto appieno \ud83d\ude42 L\u2019idea del progetto non \u00e8 stata presa a tavolino, anzi, \u00e8 stata pensata durante una pausa caff\u00e8. Le idee migliori nascono proprio in questo modo. Speriamo che questo progetto possa piacere a tutta la community e che i commenti e le considerazioni fiocchino a bizzeffe..<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>[Translate] Tutti gli appassionati di Pinball sanno che questo fantastico gioco nasce intorno agli anni 50 negli Stati Uniti d\u2019America. Dopo aver spopolato anche oltre oceano ha visto come qualsiasi altro gioco meccanico un leggero<a class=\"read-more\" href=\"https:\/\/www.tilt.it\/flipper_pinball\/2014\/01\/kinect4flipper-gioca-al-pinball-utilizzando-il-kinect\/\">Continua la lettura<\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_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":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[216,14,1],"tags":[],"class_list":["post-7209","post","type-post","status-publish","format-standard","hentry","category-articoli-tecnici","category-bonus","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4PHlc-1Sh","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tilt.it\/flipper_pinball\/wp-json\/wp\/v2\/posts\/7209","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tilt.it\/flipper_pinball\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tilt.it\/flipper_pinball\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tilt.it\/flipper_pinball\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tilt.it\/flipper_pinball\/wp-json\/wp\/v2\/comments?post=7209"}],"version-history":[{"count":0,"href":"https:\/\/www.tilt.it\/flipper_pinball\/wp-json\/wp\/v2\/posts\/7209\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tilt.it\/flipper_pinball\/wp-json\/wp\/v2\/media?parent=7209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tilt.it\/flipper_pinball\/wp-json\/wp\/v2\/categories?post=7209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tilt.it\/flipper_pinball\/wp-json\/wp\/v2\/tags?post=7209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}