<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>It's working! chipKIT Max32 with added IO Sheild</title><link>https://community.element14.com/technologies/code_exchange/w/documents/10720/it-s-working-chipkit-max32-with-added-io-sheild</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>It's working! chipKIT Max32 with added IO Sheild</title><link>https://community.element14.com/technologies/code_exchange/w/documents/10720/it-s-working-chipkit-max32-with-added-io-sheild</link><pubDate>Fri, 08 Oct 2021 05:18:55 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:0e23ffc2-d6f1-4fbf-a69a-d0306581cec2</guid><dc:creator>patkelly</dc:creator><comments>https://community.element14.com/technologies/code_exchange/w/documents/10720/it-s-working-chipkit-max32-with-added-io-sheild#comments</comments><description>Current Revision posted to Documents by patkelly on 10/8/2021 5:18:55 AM&lt;br /&gt;
&lt;p style="margin:0;"&gt;After much head scratching and lot of google&amp;#39;ing I finally got the OLED screen on the chipKIT IO Shield to turn on. Here&amp;#39;s the proof:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x465/__key/communityserver-wikis-components-files/00-00-00-01-51/contentimage_5F00_20723.jpg"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/51/contentimage_20723.jpg-620x465.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=OD68e2AGg342jGBYClp4%2BjsSAaVF49WWYnplIYH4Cqk%3D&amp;amp;se=2026-04-12T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=aSQ5xOVlUzL4kXFlETUwpg==" style="max-height: 465px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Please join me in the most triumphant achievement. I think I deserve a cuppa and a biscuit(if I can find some).&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Here is the code that I used to get the OI shield to display, it&amp;#39;s a mashup of the demo script and the usual Arduino button script. So if you switch the sliding switch at pin 2 on, the OLED screen turns on, switch it again it goes off. &lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;A few prerequisites, when you download the OLED demo from the Max32 website the example code is in a different folder to the files required so make sure you copy all these over to the same directory (it&amp;#39;s one those silly little things that gets you scratching your head, for ages going &amp;quot;but it&amp;#39;s right, just work&amp;quot;):&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;ChrFont0.c&lt;/li&gt;&lt;li&gt;delay.c&lt;/li&gt;&lt;li&gt;delay.h&lt;/li&gt;&lt;li&gt;FillPat.c&lt;/li&gt;&lt;li&gt;IOSheildOled.cpp&lt;/li&gt;&lt;li&gt;IOShieldOled.h&lt;/li&gt;&lt;li&gt;OledChar.c&lt;/li&gt;&lt;li&gt;OledChar.h&lt;/li&gt;&lt;li&gt;OLedDriver.c&lt;/li&gt;&lt;li&gt;OledDriver.h&lt;/li&gt;&lt;li&gt;OledGrph.c&lt;/li&gt;&lt;li&gt;OledGrph.h&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;lt;-------Code Start---------&amp;gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;#include &amp;lt;IOShieldOled.h&amp;gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;const int buttonPin = 2;&lt;/p&gt;&lt;p style="margin:0;"&gt;int buttonState = 0;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;void setup()&lt;/p&gt;&lt;p style="margin:0;"&gt;{&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; IOShieldOled.begin();&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; pinMode(buttonPin, INPUT);&lt;/p&gt;&lt;p style="margin:0;"&gt;}&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;void loop()&lt;/p&gt;&lt;p style="margin:0;"&gt;{&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; int irow;&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; int ib;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; //Clear the virtual buffer&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; IOShieldOled.clearBuffer();&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; //Chosing Fill pattern 0&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; IOShieldOled.setFillPattern(IOShieldOled.getStdPattern(0));&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; //Turn automatic updating off&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; IOShieldOled.setCharUpdate(0);&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; buttonState = digitalRead(buttonPin);&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; // check if the pushbutton is pressed.&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; // if it is, the buttonState is HIGH:&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; if (buttonState == HIGH) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // turn LED on:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOShieldOled.displayOn();&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; } &lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; else {&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // turn LED off:&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOShieldOled.displayOff();&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; }&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; for (irow = 0; irow &amp;lt; IOShieldOled.rowMax; irow++)&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; {&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOShieldOled.clearBuffer();&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOShieldOled.setCursor(0, 0);&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOShieldOled.putString(&amp;quot;element14.com&amp;quot;);&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOShieldOled.setCursor(0, 1);&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOShieldOled.putString(&amp;quot;Community&amp;quot;);&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOShieldOled.setCursor(0, 2);&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOShieldOled.putString(&amp;quot;by PK&amp;quot;);&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOShieldOled.setCursor(0, 3);&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOShieldOled.putString(&amp;quot;Not bad eh!&amp;quot;);&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOShieldOled.updateDisplay();&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay(100);&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; }&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp; delay(100);&lt;/p&gt;&lt;p style="margin:0;"&gt;}&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;lt;------------Code End---------------&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p style="margin:0;"&gt;Hopefully, I&amp;#39;ll post a more in depth review on this great piece of kit in the next few &amp;#39;bits&amp;#39; of time.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;All the best &lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Pat&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: code_exchange, Code Exchange, codeexchange&lt;/div&gt;
</description></item></channel></rss>