{"id":102,"date":"2012-10-29T17:20:31","date_gmt":"2012-10-29T23:20:31","guid":{"rendered":"http:\/\/www.teracharge.com\/?p=102"},"modified":"2013-01-06T16:19:21","modified_gmt":"2013-01-06T23:19:21","slug":"halloween-leds","status":"publish","type":"post","link":"http:\/\/www.teracharge.com\/?p=102","title":{"rendered":"Halloween LEDs"},"content":{"rendered":"<p>There comes a time in a mouse\u2019s life when it is no longer a mouse: it transpires away from the realm of the living and joins the ever increasing pile of electronics junk.<\/p>\n<p>My mouse, computer mouse that is, gave its last breath not too long ago.\u00a0 In the midst of an intense Portal2 Co-Op session, my mouse suddenly decided that it would no longer acknowledge any my clicks, irrespective of how hard I pressed the buttons.\u00a0 Thankfully, spare mice are plentiful in these parts, and it wasn&#8217;t long until the Portal2 endeavor vigorously ensued.<\/p>\n<p>I suppose that in normal circumstances I should have felt at least a bit sad about my loss, but instead I couldn\u2019t wait to open it up and figure out the decorative multi-color LED was wired (this <a title=\"Multi-colored LED on computer mouse\" href=\"https:\/\/www.youtube.com\/watch?v=Lmqj-521ITo\" onclick=\"javascript:_gaq.push(['_trackEvent','outbound-article','http:\/\/www.youtube.com']);\">video<\/a> illustrates this feature).<\/p>\n<p>After cracking the mouse open, I was surprised to find that the LED only had two leads instead of the standard four.\u00a0 Aha!\u00a0 This is one of those integrated LEDs: and sure enough, wiring straight to 5V produced the ever changing color patterns.\u00a0 Very simple to wire up, entertaining to watch, but not terribly useful to keep around: unless of course Halloween is around the corner.<\/p>\n<p>Carve a pumpkin (there\u2019s a great <a href=\"http:\/\/www.youtube.com\/watch?v=2Qj8PhxSnhg\" onclick=\"javascript:_gaq.push(['_trackEvent','outbound-article','http:\/\/www.youtube.com']);\">online tutorial<\/a> on how to carve amazing looking pumpkins), wire up the LED, and you got yourself a groovy jack-o-lantern.<\/p>\n<div id=\"attachment_116\" style=\"width: 560px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/IMG_2650.jpg\" ><img aria-describedby=\"caption-attachment-116\" loading=\"lazy\" class=\"size-large wp-image-116\" title=\"RGB Integrated LED\" src=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/IMG_2650-1024x768.jpg\" alt=\"Integrated RGB LED wired to a 5V boost circuit from Sparkfun and batteries.\" width=\"550\" height=\"412\" srcset=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/IMG_2650-1024x768.jpg 1024w, http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/IMG_2650-300x225.jpg 300w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><p id=\"caption-attachment-116\" class=\"wp-caption-text\">Integrated RGB LED wired to a 5V boost circuit from Sparkfun and batteries.<\/p><\/div>\n<div id=\"attachment_117\" style=\"width: 395px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/IMG_2657.jpg\" ><img aria-describedby=\"caption-attachment-117\" loading=\"lazy\" class=\" wp-image-117 \" title=\"IMG_2657\" src=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/IMG_2657-768x1024.jpg\" alt=\"Carving a Pumpkin.\" width=\"385\" height=\"513\" srcset=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/IMG_2657-768x1024.jpg 768w, http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/IMG_2657-225x300.jpg 225w\" sizes=\"(max-width: 385px) 100vw, 385px\" \/><\/a><p id=\"caption-attachment-117\" class=\"wp-caption-text\">Carving a Pumpkin.<\/p><\/div>\n<div id=\"attachment_118\" style=\"width: 395px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/IMG_2671.jpg\" ><img aria-describedby=\"caption-attachment-118\" loading=\"lazy\" class=\" wp-image-118 \" title=\"IMG_2671\" src=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/IMG_2671-768x1024.jpg\" alt=\"Integrated RGB LED circuit inside the pumpkin.\" width=\"385\" height=\"513\" srcset=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/IMG_2671-768x1024.jpg 768w, http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/IMG_2671-225x300.jpg 225w\" sizes=\"(max-width: 385px) 100vw, 385px\" \/><\/a><p id=\"caption-attachment-118\" class=\"wp-caption-text\">Integrated RGB LED circuit inside the pumpkin.<\/p><\/div>\n<p>Mission accomplished, unless, of course, you have two carved pumpkins.\u00a0 It simply wouldn\u2019t be fair for the other pumpkin to not have any cool LEDs as well.\u00a0 The second pumpkin, carved by my lovely assistant, is pretty evil looking.\u00a0 Groovy LEDs don&#8217;t go well with evil pumpkins, but it&#8217;s nothing a small PIC and a few spare LEDs can\u2019t fix.<\/p>\n<div id=\"attachment_122\" style=\"width: 560px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/11\/IMG_2661.jpg\" ><img aria-describedby=\"caption-attachment-122\" loading=\"lazy\" class=\"size-large wp-image-122\" title=\"IMG_2661\" src=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/11\/IMG_2661-1024x768.jpg\" alt=\"Evil pumpkin, and friend.\" width=\"550\" height=\"412\" srcset=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/11\/IMG_2661-1024x768.jpg 1024w, http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/11\/IMG_2661-300x225.jpg 300w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><p id=\"caption-attachment-122\" class=\"wp-caption-text\">Evil pumpkin, and friend.<\/p><\/div>\n<p>For this project, you\u2019ll need:<\/p>\n<ol>\n<li type=\"_moz\">A small breadboard (something like <a title=\"Small Breadboard\" href=\"http:\/\/www.allelectronics.com\/make-a-store\/item\/PB-400\/SOLDERLESS-BREADBOARD-400-CONTACTS\/1.html\" onclick=\"javascript:_gaq.push(['_trackEvent','outbound-article','http:\/\/www.allelectronics.com']);\">this<\/a> would do)<\/li>\n<li type=\"_moz\">A 0.1uF ceramic capacitor.<\/li>\n<li type=\"_moz\">A 4.7k-10kOhm resistor.<\/li>\n<li type=\"_moz\">Five 220Ohm resistors.<\/li>\n<li type=\"_moz\">Five LEDs of your choice (preferably of different colors).<\/li>\n<li type=\"_moz\">A 3.3V or 5V boost converter (<a href=\"https:\/\/www.sparkfun.com\/products\/10968?\" onclick=\"javascript:_gaq.push(['_trackEvent','outbound-article','http:\/\/www.sparkfun.com']);\">Sparkfun<\/a> builds a great little boost converter)<\/li>\n<\/ol>\n<p>Wire them up like this:<\/p>\n<div id=\"attachment_103\" style=\"width: 725px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/Schematic.png\" ><img aria-describedby=\"caption-attachment-103\" loading=\"lazy\" class=\" wp-image-103 \" title=\"Halloween LED Schematic\" src=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/Schematic-1024x447.png\" alt=\"Halloween LED Schematic\" width=\"715\" height=\"312\" srcset=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/Schematic-1024x447.png 1024w, http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/Schematic-300x131.png 300w, http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/Schematic.png 1717w\" sizes=\"(max-width: 715px) 100vw, 715px\" \/><\/a><p id=\"caption-attachment-103\" class=\"wp-caption-text\">Halloween LED Schematic<\/p><\/div>\n<p>And with the little snippet of code below, you got yourself a pretty angry multi-colored LED pattern.<\/p>\n<pre>\r\n\/* \r\n * File:   main.c\r\n * Author: Jonathan Bruneau\r\n *\r\n * Created on October 26, 2012, 10:52 AM\r\n *\/\r\n\r\n#pragma config FOSC = IRC  \t\/\/Internal RC oscillator\r\n#pragma config MCLRE = ON       \/\/MCLR is enabled to allow for ISCP.\r\n#pragma config LVP = OFF\t\/\/Single Supply ISCP disabled.\r\n#pragma config STVREN = ON\t\/\/Stack overflow will cause a reset.\r\n#pragma config XINST = OFF\t\/\/Extended instruction set disabled.\r\n\r\n#include \"xc.h\"\r\n#include \"stdlib.h\"\r\n#include \"stdint.h\"\r\n\r\n\/\/The port mask for blink LEDs\r\n#define PORT_MASK 0x1F\r\n\r\n\/\/Set the timer to the specified elapsed time.\r\n#define set_timer(x) do{TMR0L = (uint8_t)x;}while(0)\r\n\r\n\/\/Turn the LEDs on\/off in function of the specified value.\r\n#define set_leds(x) do{LATC = (LATC &amp; ~PORT_MASK) | ((x) &amp; PORT_MASK);}while(0)\r\n\r\nvoid interrupt high_isr(void)\r\n{\r\n    \/\/Clear timer interrupt.\r\n    INTCONbits.TMR0IF = 0;\r\n\r\n    {\r\n        \/\/Generate random value once, and use said value to set the timer and the LEDs.\r\n        const uint16_t x = rand();\r\n        set_timer(x);\r\n        set_leds(x);\r\n    }\r\n}\r\n\r\nint main(int argc, char** argv)\r\n{\r\n    \/\/Set the oscillator to a *really* slow speed to save on power.\r\n    OSCTUNEbits.INTSRC = 0;\r\n    OSCCONbits.IRCF = 0x0;\r\n\r\n    \/\/Seed the random value generator.\r\n    srand(0);\r\n\r\n    \/\/Make the processor go to IDLE when a sleep command is received.\r\n    \/\/(This allows Timer0 to continue operation).\r\n    OSCCONbits.IDLEN = 1;\r\n\r\n    \/\/Set PORT C0, C1, C2, C3, and C4 to outputs.\r\n    TRISC &amp;= ~PORT_MASK;\r\n\r\n    \/\/Setup Timer\r\n    T0CONbits.T0CS = 0;     \/\/Use internal oscillator as clock source.\r\n    \/\/T0CONbits.T0PS = 0x5;   \/\/1:32 prescaler.  Increase the prescaler if it's the holidays.\r\n    \/\/T0CONbits.PSA = 0;      \/\/Use prescaler.\r\n    INTCONbits.TMR0IE = 1;  \/\/Enable timer0 interrupts.\r\n\r\n    set_timer(rand());      \/\/Set the timer to an initial value.\r\n    T0CONbits.TMR0ON = 1;   \/\/Enable the timer.\r\n\r\n    \/\/Enable global interrupts.\r\n    INTCONbits.GIEL = INTCONbits.GIEH = 1;\r\n\r\n    while(1)\r\n        Sleep();\r\n}\r\n<\/pre>\n<div id=\"attachment_124\" style=\"width: 560px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/11\/IMG_2651.jpg\" ><img aria-describedby=\"caption-attachment-124\" loading=\"lazy\" class=\"size-large wp-image-124\" title=\"IMG_2651\" src=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/11\/IMG_2651-1024x768.jpg\" alt=\"Multi-Color LED breadboard for evil pumpkin.\" width=\"550\" height=\"412\" srcset=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/11\/IMG_2651-1024x768.jpg 1024w, http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/11\/IMG_2651-300x225.jpg 300w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><p id=\"caption-attachment-124\" class=\"wp-caption-text\">Multi-Color LED breadboard for evil pumpkin.<\/p><\/div>\n<p>What the code does, in essence, is initialize Timer0 of the PIC18 to a random value, and starts the timer.\u00a0 On every timer interrupt, a random value is assigned to the LEDs (wired to PORTC0 to PORTC4), and a new random value is assigned to the timer.\u00a0 The LEDs thus turn on\/off randomly, and at a random intervals.\u00a0 The end effect is pretty cool, to say the least.\u00a0 But don&#8217;t take my word for it: check it this video that show both pumpkins in action.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/j4XM_SPRpjI?feature=player_detailpage\" frameborder=\"0\" width=\"640\" height=\"360\"><\/iframe><\/p>\n<p>Notice that the Timer0 prescaler is off.\u00a0 If you want the LEDs to change more slowly (say, because the holidays are soon coming), uncomment these two lines in the main() routine, and the end result will be much more soothing.<\/p>\n<pre>\/\/Setup Timer\r\nT0CONbits.T0CS = 0;     \/\/Use internal oscillator as clock source.\r\nT0CONbits.T0PS = 0x5;   \/\/1:32 prescaler.  Increase the prescaler if it's the holidays.\r\nT0CONbits.PSA = 0;      \/\/Use prescaler.\r\nINTCONbits.TMR0IE = 1;  \/\/Enable timer0 interrupts.<\/pre>\n<p>Needless to say, these little pumpkins turned out great.\u00a0 Happy Halloween!<\/p>\n<div id=\"attachment_126\" style=\"width: 560px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/11\/IMG_2663.jpg\" ><img aria-describedby=\"caption-attachment-126\" loading=\"lazy\" class=\"size-large wp-image-126\" title=\"IMG_2663\" src=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/11\/IMG_2663-1024x768.jpg\" alt=\"Happy Halloween!\" width=\"550\" height=\"412\" srcset=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/11\/IMG_2663-1024x768.jpg 1024w, http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/11\/IMG_2663-300x225.jpg 300w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><p id=\"caption-attachment-126\" class=\"wp-caption-text\">Happy Halloween!<\/p><\/div>\n<p>&nbsp;<\/p>\n<p><!--[if gte mso 9]><xml>\n<w:WordDocument>\n<w:View>Normal<\/w:View>\n<w:Zoom>0<\/w:Zoom>\n<w:TrackMoves\/>\n<w:TrackFormatting\/>\n<w:PunctuationKerning\/>\n<w:ValidateAgainstSchemas\/>\n<w:SaveIfXMLInvalid>false<\/w:SaveIfXMLInvalid>\n<w:IgnoreMixedContent>false<\/w:IgnoreMixedContent>\n<w:AlwaysShowPlaceholderText>false<\/w:AlwaysShowPlaceholderText>\n<w:DoNotPromoteQF\/>\n<w:LidThemeOther>EN-US<\/w:LidThemeOther>\n<w:LidThemeAsian>X-NONE<\/w:LidThemeAsian>\n<w:LidThemeComplexScript>X-NONE<\/w:LidThemeComplexScript>\n<w:Compatibility>\n<w:BreakWrappedTables\/>\n<w:SnapToGridInCell\/>\n<w:WrapTextWithPunct\/>\n<w:UseAsianBreakRules\/>\n<w:DontGrowAutofit\/>\n<w:SplitPgBreakAndParaMark\/>\n<w:DontVertAlignCellWithSp\/>\n<w:DontBreakConstrainedForcedTables\/>\n<w:DontVertAlignInTxbx\/>\n<w:Word11KerningPairs\/>\n<w:CachedColBalance\/>\n<\/w:Compatibility>\n<w:BrowserLevel>MicrosoftInternetExplorer4<\/w:BrowserLevel>\n<m:mathPr>\n<m:mathFont m:val=\"Cambria Math\"\/>\n<m:brkBin m:val=\"before\"\/>\n<m:brkBinSub m:val=\"&#45;-\"\/>\n<m:smallFrac m:val=\"off\"\/>\n<m:dispDef\/>\n<m:lMargin m:val=\"0\"\/>\n<m:rMargin m:val=\"0\"\/>\n<m:defJc m:val=\"centerGroup\"\/>\n<m:wrapIndent m:val=\"1440\"\/>\n<m:intLim m:val=\"subSup\"\/>\n<m:naryLim m:val=\"undOvr\"\/>\n<\/m:mathPr><\/w:WordDocument>\n<\/xml><![endif]--><\/p>\n<p>&nbsp;<\/p>\n<p><!--[if gte mso 9]><xml>\n<w:LatentStyles DefLockedState=\"false\" DefUnhideWhenUsed=\"true\" DefSemiHidden=\"true\" DefQFormat=\"false\" DefPriority=\"99\" LatentStyleCount=\"267\">\n<w:LsdException Locked=\"false\" Priority=\"0\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"Normal\"\/>\n<w:LsdException Locked=\"false\" Priority=\"9\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"heading 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"9\" QFormat=\"true\" Name=\"heading 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"9\" QFormat=\"true\" Name=\"heading 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"9\" QFormat=\"true\" Name=\"heading 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"9\" QFormat=\"true\" Name=\"heading 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"9\" QFormat=\"true\" Name=\"heading 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"9\" QFormat=\"true\" Name=\"heading 7\"\/>\n<w:LsdException Locked=\"false\" Priority=\"9\" QFormat=\"true\" Name=\"heading 8\"\/>\n<w:LsdException Locked=\"false\" Priority=\"9\" QFormat=\"true\" Name=\"heading 9\"\/>\n<w:LsdException Locked=\"false\" Priority=\"39\" Name=\"toc 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"39\" Name=\"toc 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"39\" Name=\"toc 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"39\" Name=\"toc 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"39\" Name=\"toc 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"39\" Name=\"toc 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"39\" Name=\"toc 7\"\/>\n<w:LsdException Locked=\"false\" Priority=\"39\" Name=\"toc 8\"\/>\n<w:LsdException Locked=\"false\" Priority=\"39\" Name=\"toc 9\"\/>\n<w:LsdException Locked=\"false\" Priority=\"35\" QFormat=\"true\" Name=\"caption\"\/>\n<w:LsdException Locked=\"false\" Priority=\"10\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"Title\"\/>\n<w:LsdException Locked=\"false\" Priority=\"1\" Name=\"Default Paragraph Font\"\/>\n<w:LsdException Locked=\"false\" Priority=\"11\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"Subtitle\"\/>\n<w:LsdException Locked=\"false\" Priority=\"22\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"Strong\"\/>\n<w:LsdException Locked=\"false\" Priority=\"20\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"Emphasis\"\/>\n<w:LsdException Locked=\"false\" Priority=\"59\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Table Grid\"\/>\n<w:LsdException Locked=\"false\" UnhideWhenUsed=\"false\" Name=\"Placeholder Text\"\/>\n<w:LsdException Locked=\"false\" Priority=\"1\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"No Spacing\"\/>\n<w:LsdException Locked=\"false\" Priority=\"60\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Shading\"\/>\n<w:LsdException Locked=\"false\" Priority=\"61\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light List\"\/>\n<w:LsdException Locked=\"false\" Priority=\"62\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Grid\"\/>\n<w:LsdException Locked=\"false\" Priority=\"63\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"64\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"65\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"66\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"67\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"68\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"69\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"70\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Dark List\"\/>\n<w:LsdException Locked=\"false\" Priority=\"71\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Shading\"\/>\n<w:LsdException Locked=\"false\" Priority=\"72\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful List\"\/>\n<w:LsdException Locked=\"false\" Priority=\"73\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Grid\"\/>\n<w:LsdException Locked=\"false\" Priority=\"60\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Shading Accent 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"61\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light List Accent 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"62\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Grid Accent 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"63\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 1 Accent 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"64\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 2 Accent 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"65\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 1 Accent 1\"\/>\n<w:LsdException Locked=\"false\" UnhideWhenUsed=\"false\" Name=\"Revision\"\/>\n<w:LsdException Locked=\"false\" Priority=\"34\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"List Paragraph\"\/>\n<w:LsdException Locked=\"false\" Priority=\"29\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"Quote\"\/>\n<w:LsdException Locked=\"false\" Priority=\"30\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"Intense Quote\"\/>\n<w:LsdException Locked=\"false\" Priority=\"66\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 2 Accent 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"67\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 1 Accent 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"68\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 2 Accent 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"69\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 3 Accent 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"70\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Dark List Accent 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"71\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Shading Accent 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"72\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful List Accent 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"73\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Grid Accent 1\"\/>\n<w:LsdException Locked=\"false\" Priority=\"60\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Shading Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"61\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light List Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"62\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Grid Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"63\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 1 Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"64\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 2 Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"65\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 1 Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"66\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 2 Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"67\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 1 Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"68\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 2 Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"69\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 3 Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"70\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Dark List Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"71\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Shading Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"72\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful List Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"73\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Grid Accent 2\"\/>\n<w:LsdException Locked=\"false\" Priority=\"60\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Shading Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"61\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light List Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"62\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Grid Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"63\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 1 Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"64\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 2 Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"65\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 1 Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"66\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 2 Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"67\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 1 Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"68\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 2 Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"69\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 3 Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"70\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Dark List Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"71\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Shading Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"72\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful List Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"73\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Grid Accent 3\"\/>\n<w:LsdException Locked=\"false\" Priority=\"60\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Shading Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"61\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light List Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"62\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Grid Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"63\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 1 Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"64\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 2 Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"65\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 1 Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"66\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 2 Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"67\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 1 Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"68\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 2 Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"69\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 3 Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"70\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Dark List Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"71\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Shading Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"72\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful List Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"73\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Grid Accent 4\"\/>\n<w:LsdException Locked=\"false\" Priority=\"60\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Shading Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"61\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light List Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"62\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Grid Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"63\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 1 Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"64\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 2 Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"65\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 1 Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"66\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 2 Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"67\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 1 Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"68\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 2 Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"69\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 3 Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"70\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Dark List Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"71\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Shading Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"72\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful List Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"73\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Grid Accent 5\"\/>\n<w:LsdException Locked=\"false\" Priority=\"60\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Shading Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"61\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light List Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"62\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Light Grid Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"63\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 1 Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"64\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Shading 2 Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"65\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 1 Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"66\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium List 2 Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"67\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 1 Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"68\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 2 Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"69\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Medium Grid 3 Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"70\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Dark List Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"71\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Shading Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"72\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful List Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"73\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" Name=\"Colorful Grid Accent 6\"\/>\n<w:LsdException Locked=\"false\" Priority=\"19\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"Subtle Emphasis\"\/>\n<w:LsdException Locked=\"false\" Priority=\"21\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"Intense Emphasis\"\/>\n<w:LsdException Locked=\"false\" Priority=\"31\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"Subtle Reference\"\/>\n<w:LsdException Locked=\"false\" Priority=\"32\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"Intense Reference\"\/>\n<w:LsdException Locked=\"false\" Priority=\"33\" SemiHidden=\"false\" UnhideWhenUsed=\"false\" QFormat=\"true\" Name=\"Book Title\"\/>\n<w:LsdException Locked=\"false\" Priority=\"37\" Name=\"Bibliography\"\/>\n<w:LsdException Locked=\"false\" Priority=\"39\" QFormat=\"true\" Name=\"TOC Heading\"\/>\n<\/w:LatentStyles>\n<\/xml><![endif]--><!--[if gte mso 10]>\n\n\n\n<style>\n\/* Style Definitions *\/\ntable.MsoNormalTable\n{mso-style-name:\"Table Normal\";\nmso-tstyle-rowband-size:0;\nmso-tstyle-colband-size:0;\nmso-style-noshow:yes;\nmso-style-priority:99;\nmso-style-qformat:yes;\nmso-style-parent:\"\";\nmso-padding-alt:0in 5.4pt 0in 5.4pt;\nmso-para-margin-top:0in;\nmso-para-margin-right:0in;\nmso-para-margin-bottom:10.0pt;\nmso-para-margin-left:0in;\nline-height:115%;\nmso-pagination:widow-orphan;\nfont-size:11.0pt;\nfont-family:\"Calibri\",\"sans-serif\";\nmso-ascii-font-family:Calibri;\nmso-ascii-theme-font:minor-latin;\nmso-hansi-font-family:Calibri;\nmso-hansi-theme-font:minor-latin;\nmso-bidi-font-family:\"Times New Roman\";\nmso-bidi-theme-font:minor-bidi;}\n<\/style>\n\n<![endif]--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There comes a time in a mouse\u2019s life when it is no longer a mouse: it transpires away from the realm of the living and joins the ever increasing pile of electronics junk. My mouse, computer mouse that is, gave<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"http:\/\/www.teracharge.com\/?p=102\" >Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":1,"featured_media":126,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[25,31,27,29,13,42,23,7,24,30,12],"_links":{"self":[{"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/posts\/102"}],"collection":[{"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.teracharge.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=102"}],"version-history":[{"count":28,"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/posts\/102\/revisions"}],"predecessor-version":[{"id":134,"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/posts\/102\/revisions\/134"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/media\/126"}],"wp:attachment":[{"href":"http:\/\/www.teracharge.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.teracharge.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=102"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.teracharge.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}