
{"id":1304,"date":"2009-02-01T17:41:37","date_gmt":"2009-02-01T16:41:37","guid":{"rendered":"http:\/\/www.knutsel.org\/2009\/02\/01\/gebruik-van-het-cc2500-arduino-shield-2\/"},"modified":"2015-12-13T12:27:35","modified_gmt":"2015-12-13T11:27:35","slug":"gebruik-van-het-cc2500-arduino-shield","status":"publish","type":"post","link":"http:\/\/www.knutsel.org\/nl\/2009\/02\/01\/gebruik-van-het-cc2500-arduino-shield\/","title":{"rendered":"Gebruik van het CC2500 Arduino Shield"},"content":{"rendered":"<h3>Software : de Arduino Library<\/h3>\n<p>&nbsp;<\/p>\n<p><strong>Update<\/strong>: het voorbeeld programma en de library zijn <strong>aangepast<\/strong> voor Arduino versie 1.0. De nieuwe versie van de applicatie is hier te vinden :\u00a0<a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/04\/a_LiCo_Control_A1.zip\">a_LiCo_Control_A1.zip<\/a> , de nieuwe versie van de LivingColors library hier : <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2012\/02\/LivingColors.zip\">LivingColors.zip<\/a><\/p>\n<p>De software bestaat uit een library voor de Arduino voor het bedienen van een Philips Livingcolors. Hier zit in het verzenden en ontvangen van berichten in en het kan gebruikt worden als basis om tussen twee shields te communiceren.<\/p>\n<p>De library staat <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2012\/02\/LivingColors.zip\">hier<\/a> voor oude versie, en voor versies van Arduino voor 1.0 <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/01\/a_LiCo_Control.zip\">hier<\/a>, en moet uitgepakt in de &#8220;\/libraries&#8221; van de Arduino omgeving (in de oudere versies van Arduino is dat &#8220;hardware\/libraries&#8221;). Je moet dus een &#8220;&lt;arduino&gt;librariesLivingColors&#8221; directory hebben met daarin :<\/p>\n<ul>\n<li>CC2500.cpp<\/li>\n<li>CC2500.h<\/li>\n<li>ColourConversion.cpp<\/li>\n<li>ColourConversion.h<\/li>\n<li>keywords.txt<\/li>\n<li>LivingColors.cpp<\/li>\n<li>LivingColors.h<\/li>\n<\/ul>\n<p>De library is <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/01\/LivingColors.zip\">hier<\/a> voor oude versies, en voor versies van Arduino voor 1.0 <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/01\/a_LiCo_Control.zip\">hier<\/a>, en in de bestanden zelf <a href=\"http:\/\/www.knutsel.org\/static\/livingcolorslib\/html\/\">uitgebreid gedocumenteerd<\/a>.<\/p>\n<p>De broncode heeft een GPL licentie. Als je deze code of een product gebaseerd op deze code verspreidt moet dat dus ook met dezelfde licentie. De code is gebaseerd op code van Jeroen Domburg, bekend van <a href=\"http:\/\/gathering.tweakers.net\/forum\/list_topics\/82\">Tweakers<\/a> en diverse hacks, en beschreven in <a href=\"http:\/\/www.elektor.nl\/artikelen-als-pdf\/2008\/mei\/kleurig-computerlicht.429788.lynkx\">een artikel van Elektuur in de Mei 2008 editie<\/a>. George Mathijssen heeft de code opgeschoond en aan de praat gekregen als Arduino library.<\/p>\n<p>De library heeft vast bugs. Zo lijkt de RGB naar HSI conversie niet helemaal te kloppen en negeren we de ACK of NACK van de Livingcolors. Fixes, aanpassingen en verbeteringen zijn welkom !<\/p>\n<h3>LiCo_Control : een voorbeeld Arduino applicatie.<\/h3>\n<p>Om de library te testen de Livincolors te bedienen heb ik een Arduino applicatie gemaakt die je commando&#8217;s kan geven via de seriele poort over USB. Je kan hem dan bedienen met Putty of Hyperterminal of iets dergelijks.<\/p>\n<p>Als LiCo klaar is om commando&#8217;s stuurt hij een &#8220;!&#8221;. Is een commando niet begrepen dan stuurt hij een &#8220;?&#8221;.<\/p>\n<p>De commando&#8217;s zijn :<\/p>\n<table>\n<tbody>\n<tr>\n<th>Commando<\/th>\n<th>Functie<\/th>\n<\/tr>\n<tr>\n<td><strong>r<\/strong><\/td>\n<td>reset<\/td>\n<\/tr>\n<tr>\n<td><strong>w<\/strong><em>n-rrr-ggg-bbb<\/em><\/td>\n<td><em>r<\/em>, <em>g<\/em> and <em>b<\/em> are numbers 000 to 255. Example &#8220;w000-255-000&#8221; for bright green. <em>n<\/em> is the lamp number.<\/td>\n<\/tr>\n<tr>\n<td><strong>h<\/strong><em>n-hhh-sss-iii<\/em><\/td>\n<td><em>h<\/em>, <em>s<\/em> and <em>i<\/em> are numbers 000 to 255. No example for now. <em>n<\/em> is the lamp number.<\/td>\n<\/tr>\n<tr>\n<td><strong>i<\/strong><\/td>\n<td>print info<\/td>\n<\/tr>\n<tr>\n<td><strong>n<\/strong><em>n<\/em><\/td>\n<td>turn lamp number<em> n<\/em> on<\/td>\n<\/tr>\n<tr>\n<td><strong>f<\/strong><em>n<\/em><\/td>\n<td>turn lamp number<em> n<\/em>off<\/td>\n<\/tr>\n<tr>\n<td><strong>e<\/strong><em>e<\/em><\/td>\n<td><em>e<\/em> = 0 echo off, <em>e<\/em> = 1 echo on.<\/td>\n<\/tr>\n<tr>\n<td><strong>l<\/strong><\/td>\n<td>listen for adresses. Use i to list adresses.<\/td>\n<\/tr>\n<tr>\n<td><strong>s<\/strong><em>aabbccddeeffgghhii<\/em><\/td>\n<td>store adress in a..i. 9 numbers as 2 digit hex<\/td>\n<\/tr>\n<tr>\n<td><strong>?<\/strong><\/td>\n<td>dummy command.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Hier een voorbeeld van het gebruik van deze Arduino applicatie :<br \/>\n<object width=\"425\" height=\"344\" 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\/mKMTu3o42Y8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1\" \/><param name=\"allowfullscreen\" value=\"true\" \/><param name=\"allowscriptaccess\" value=\"always\" \/><embed width=\"425\" height=\"344\" type=\"application\/x-shockwave-flash\" src=\"http:\/\/www.youtube.com\/v\/mKMTu3o42Y8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1\" allowfullscreen=\"allowfullscreen\" allowscriptaccess=\"always\" allowfullscreen=\"allowfullscreen\" allowscriptaccess=\"always\" \/><\/object><\/p>\n<p>In LiCo-Control bedien je de lamp door :<\/p>\n<ul>\n<li>De lamp aan te doen met de afstand bediening.<\/li>\n<li>Een verbinding te openen met een terminal applicatie (putty, hyperterminal.. etc.).<\/li>\n<li>De code van je lampen te leren met &#8220;l&#8221;..<\/li>\n<li>.. en dan de lamp te bedienen met de afstandbediening..<\/li>\n<li>De Arduino luistert dan naar berichten tussen de afstandbediening en de lamp en leert daar de adressen uit.<\/li>\n<li>Met &#8220;i&#8221; kan je dan de geleerde adressen printen.<\/li>\n<li>Met &#8220;w0-255-000-000&#8221; kan je lamp 0 dan op fel rood zetten (R=255, G=000 eb B=000).<\/li>\n<li>Met &#8220;w1-000-000-010&#8221; kan je lamp 1 dan op een beetje baluw zetten.<\/li>\n<\/ul>\n<p>De geleerde adressen kan je hard in de broncode voor LiCo-Control zetten, je hoeft ze dan niet steeds de adressen te leren.<\/p>\n<h3>WheelColor : een voorbeeld Processing applicatie.<\/h3>\n<p><a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/01\/p_WheelColor.zip\">WheelColor<\/a> is een Processing applicatie die commando&#8217;s kan sturen naar LiCo_Control. Je kan dan de kleur van de LivigColors instellen met een kleurenwiel. De applicatie is simple en lelijk maar er zit een goed voorbeeld in voor het communiceren met LiCo_Control op een robuste manier.<\/p>\n<p>Hier een voorbeeld van het gebruik van deze Arduino applicatie :<\/p>\n<p><object width=\"425\" height=\"344\" 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\/3JY42cgeLn0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1\" \/><param name=\"allowfullscreen\" value=\"true\" \/><param name=\"allowscriptaccess\" value=\"always\" \/><embed width=\"425\" height=\"344\" type=\"application\/x-shockwave-flash\" src=\"http:\/\/www.youtube.com\/v\/3JY42cgeLn0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1\" allowfullscreen=\"allowfullscreen\" allowscriptaccess=\"always\" allowfullscreen=\"allowfullscreen\" allowscriptaccess=\"always\" \/><\/object><\/p>\n<p>In LiCo-Control bedien je de lamp door :<\/p>\n<ul>\n<li>De lamp aan te doen met de afstand bediening.<\/li>\n<li>Een verbinding te openen met een terminal applicatie (putty, hyperterminal.. etc.).<\/li>\n<li>De code van je lampen te leren met &#8220;l&#8221;..<\/li>\n<li>.. en dan de lamp te bedienen met de afstandbediening..<\/li>\n<li>De Arduino luistert dan naar berichten tussen de afstandbediening en de lamp en leert daar de adressen uit.<\/li>\n<li>Met &#8220;i&#8221; kan je dan de geleerde adressen printen.<\/li>\n<li>Met &#8220;w0-255-000-000&#8221; kan je lamp 0 dan op fel rood zetten (R=255, G=000 eb B=000).<\/li>\n<li>Met &#8220;w1-000-000-010&#8221; kan je lamp 1 dan op een beetje baluw zetten.<\/li>\n<\/ul>\n<p>De geleerde adressen kan je hard in de broncode voor LiCo-Control zetten, je hoeft ze dan niet steeds de adressen te leren.<\/p>\n<h3>Relevante bestanden.<\/h3>\n<p>Het <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2013\/02\/arduino_shield_CC2500_x125_SMD.pdf\">schema<\/a> (als pdf).<br \/>\nDe <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2013\/02\/arduino_shield_CC2500_x125_SMD_brd.png\">printlayout<\/a> (als png).<br \/>\nDe <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/01\/arduino_shield_CC2500_x125_SMD_parts.txt\">stuklijst<\/a> (als txt).<br \/>\nDe Arduino versie &lt; 1.0 <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/01\/LivingColors.zip\">library<\/a> (als zip), een Arduino versie 1.0 <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2012\/02\/LivingColors.zip\">library<\/a> (als zip).<br \/>\nEen Arduino versie &lt; 1.0 <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/01\/a_LiCo_Control.zip\">voorbeeld<\/a> (als zip), <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/04\/a_LiCo_Control_A1.zip\">voorbeeld<\/a> voor Arduino versie 1.0 (als zip).<br \/>\nEen <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/01\/p_WheelColor.zip\">Processing voorbeeld<\/a> die het Arduino voorbeeld gebruikt (als zip).<br \/>\nDe <a href=\"http:\/\/www.ti.com\/general\/docs\/lit\/getliterature.tsp?genericPartNumber=cc2500&amp;fileType=pdf\">datasheet<\/a> van de <a href=\"http:\/\/www.ti.com\/product\/cc2500\">CC2500 chip<\/a> van <a href=\"http:\/\/www.ti.com\/\">TI<\/a>. (<a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/01\/cc2500.pdf\">mirror<\/a>). Er staan <strong>belangrijke bugs<\/strong> in de <strong><a href=\"http:\/\/static.knutsel.org\/kits\/CC2500_Arduino_Shield_v03\/documents\/swrz002d.pdf\">errata<\/a><\/strong> op de site van TI !<br \/>\nDe <a href=\"http:\/\/www.quasaruk.co.uk\/acatalog\/DSQFM-TRX2-1.pdf\">datasheet<\/a> van de <a href=\"http:\/\/www.quasaruk.co.uk\/acatalog\/info_QFM_TRX2_24G.html\">CC2500 module<\/a> van Quasar. (<a href=\"http:\/\/www.quasaruk.co.uk\/acatalog\/DSQFM-TRX2-1.pdf\">mirror<\/a>)<br \/>\nDe <a href=\"http:\/\/www.ti.com\/general\/docs\/lit\/getliterature.tsp?genericPartNumber=sn74lvc125a&amp;fileType=pdf\">datasheet<\/a> van de <a href=\"http:\/\/www.ti.com\/product\/sn74lvc125a\">74LVC125<\/a>. (<a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/01\/sn74lvc125a.pdf\">mirror<\/a>)<br \/>\nDe <a href=\"http:\/\/www.onsemi.com\/pub_link\/Collateral\/LP2950-D.PDF\">datasheet<\/a> van de <a href=\"http:\/\/www.onsemi.com\/PowerSolutions\/product.do?id=LP2950ACDT-3.3RG\">LP2950<\/a> spannings regelaar. (<a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/01\/LP2950-D.pdf\">mirror<\/a>)<br \/>\nDe CC2500 en Atmel op de Arduino gebruiken <a href=\"http:\/\/en.wikipedia.org\/wiki\/Serial_Peripheral_Interface_Bus\">SPI<\/a> om te communiceren. TI heeft er <a href=\"http:\/\/www.knutsel.org\/wp-content\/uploads\/2010\/01\/swra112b-.pdf\">een document<\/a> over gemaakt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Software : de Arduino Library &nbsp; Update: het voorbeeld programma en de library zijn aangepast voor Arduino versie 1.0. De nieuwe versie van de applicatie is hier te vinden :\u00a0a_LiCo_Control_A1.zip , de nieuwe versie van de LivingColors library hier : LivingColors.zip De software bestaat uit een library voor de Arduino voor het bedienen van een &hellip; <a href=\"http:\/\/www.knutsel.org\/nl\/2009\/02\/01\/gebruik-van-het-cc2500-arduino-shield\/\" class=\"more-link\">Lees verder <span class=\"screen-reader-text\">&#8220;Gebruik van het CC2500 Arduino Shield&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,205,13,234],"tags":[55,56,60],"class_list":["post-1304","post","type-post","status-publish","format-standard","hentry","category-arduino-shields-nl","category-kit-nl","category-kits-nl","category-livingcolors-gen1-nl","tag-arduino-nl","tag-arduino-shield-nl","tag-cc2500-nl"],"_links":{"self":[{"href":"http:\/\/www.knutsel.org\/nl\/wp-json\/wp\/v2\/posts\/1304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.knutsel.org\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.knutsel.org\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.knutsel.org\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.knutsel.org\/nl\/wp-json\/wp\/v2\/comments?post=1304"}],"version-history":[{"count":0,"href":"http:\/\/www.knutsel.org\/nl\/wp-json\/wp\/v2\/posts\/1304\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.knutsel.org\/nl\/wp-json\/wp\/v2\/media?parent=1304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.knutsel.org\/nl\/wp-json\/wp\/v2\/categories?post=1304"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.knutsel.org\/nl\/wp-json\/wp\/v2\/tags?post=1304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}