Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - whmckinley

Pages: 1
1
User Projects / Code Examples / Re: Tiny+ Thermostat Project
« on: February 25, 2019, 06:41:23 PM »
Littlejohn,

It's actually not a heater, It's a refrigerator. Although with a mod in the program to change the allowable set point range, it could be used for a heater. Provided that the heater only required one closure contact.

Creating a fully fledged HVAC thermostat would also be possible, After all a basic HVAC thermostat is nothing more than temp measurement and outputs controlled by code.

2
User Projects / Code Examples / Tiny+ Thermostat Project
« on: October 06, 2018, 05:53:28 PM »
Since i'm not happy with the thermostat on on my rv, I decided to build a new one. Basic Components are.
TinyScreen+
Custom Interface Board.
 Major components on the i/o board are
2 NO switches
Opto Isolator with transistor output Or smt SSR
Connectors for power, output of Opto-Isolator and connection for DS18B20 temp sensor.

Program allows for setting Temp set point. Has predefined sleep mode, OFF/ON hysterisis, Attached is a pic.


3
General Discussion / Re: Stacking Connector
« on: October 01, 2018, 01:51:10 AM »
With some assistance from TinyCircuits, I was able to find the correct Header that will mate with the boards. The ones I ordered from Mouser ( the stocking ones ) are incorrect. I ordered them from DigiKey. Part number H5205CT-ND. They also have the mate for it, but i didn't order any.

4
General Discussion / Stacking Connector
« on: September 22, 2018, 01:24:17 AM »
I am building a expansion module for a TinyScreen+ for use in a Refrigerator Thermostat project. I tried the HIRose stackable connector DF12-32DS-0.5V(86) , for the expansion male connector. It does not seat fully into the TinyScreen+ female connector, OR ANY Tiny Circuits Female stackable connector.

Trying to find a source, part# for a correctly mating connector.

5
TinyDuino Processors & TinyShields / TinyScreen+ Physical dimensions
« on: September 20, 2018, 01:32:00 AM »
I have been building a Thermostat project for the refrigerator in my RV. The circuit is built and tested as functional. It is comprised of a TS+ with a custom expansion board which contains the added circuitry and switches. I am beginning to layout a cnc milled enclosure. From a previous topic, TS+ eagle files, and the data sheet for the display module, I was able to get the required thicknesses and basic measurements. but am still missing a few key measurements.

I am looking for the measured placement of the display module on the TS+ board. The TS+ board is 25.0 x 25.8, the OLED itself is 25.70 × 22.20, the OLED viewable area is 20.14 x 13.42. Primary question, what are the X,Y coordinates of the bottom left corner of the Viewable Area in relation the TS+ Circuit board 0,0 coordinates.

I would appreciate any assistance.
Bill (an old engineer still learning)

6
Rena

Thanks for your offer. I beat my head against a wall after I duplicated the problem with a smaller program. Since I don't have the same problem using a larger font, I just dropped the display temp down to 2 digits. The code is now working within design parameters and I just had the custome expansion board sent out to fab. Hope to put this one in the completed column in a couple of weeks.

Regards
bill

7
When a temp value if first printed to the screen it shows up clearly. If the value contains a value like 67.89 when first displayed it is backed completely by black. If the temperature changes to a value that contains a 1 in it like 43.21, the original value is overwritten, But the black background does not completely cover the original 78.89, It will leave a vertical row of pixels spaced out 1 pixel to the right of the 43.21 making it look like 43.21| . This  appears to be remaining from what I believe is part of the 9 the original 67.89.  I am using the liberationSans12pt font and it appears that the sizes of the individual characters effect the display when over-writing a value.

If I add a filled rectangle

display.drawRect(51, 9,  39, 14, BLANK, BLK); // Blank out prior (DsplyF) prior to  new (DsplyF) write

display.setFont(liberationSans_12ptFontInfo); // set Font
display.setCursor(52, 10); // move Cursor to Actual Temp position
display.print(DsplyF);

        It does clear the background But I end up with a flashing (DsplyF) Not the entire display just the updated
        temperature value.

 BLANK declared as
#define BLANK  TSRectangleFilled // Defines Blank Rectangle.

I'll work tonight to duplicate with a simpler program and post that.

8
I'm developing a Thermostat controller for my RV fridge. The display has a Static border and some static text. On the display I am displaying 2 variables. A set temp and a actual temp. The Actual temp varies. When a new value is written to the display It will at times leave artifacts of the previous value.  Value of 68.88 being replaced with 65.01 will leave artifacts of the 68.88 on the trailing edge. Is there a method to just blank out the previous text. I tried doing a draw rectangle filled, but it would make the temp number constantly flash. I'm at a loss at this point.
I've attached a txt file with the project code and would appreciate any insight. BTW the set temp routine has not been fleshed out yet.

Thanks

9
Libraries and board manager updated per Tinyscreen+ setup guide. Compile fails

Compiler output...


Arduino: 1.6.10 (Windows 10), Board: "TinyScreen+, Default"

C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware "C:\Program Files (x86)\Arduino\hardware" -hardware "C:\Users\whmck\AppData\Local\Arduino15\packages" -tools "C:\Program Files (x86)\Arduino\tools-builder" -tools "C:\Program Files (x86)\Arduino\hardware\tools\avr" -tools "C:\Users\whmck\AppData\Local\Arduino15\packages" -built-in-libraries "C:\Program Files (x86)\Arduino\libraries" -libraries "C:\Users\whmck\Documents\Arduino\libraries" -fqbn=TinyCircuits:samd:tinyscreen:BuildOption=normal -vid-pid=0X03EB_0X8009 -ide-version=10610 -build-path "C:\Users\whmck\AppData\Local\Temp\buildf3895659169830604ee55e7f9fcb332f.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "C:\Users\whmck\Documents\Arduino\sketch_jan12a\sketch_jan12a.ino"
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware "C:\Program Files (x86)\Arduino\hardware" -hardware "C:\Users\whmck\AppData\Local\Arduino15\packages" -tools "C:\Program Files (x86)\Arduino\tools-builder" -tools "C:\Program Files (x86)\Arduino\hardware\tools\avr" -tools "C:\Users\whmck\AppData\Local\Arduino15\packages" -built-in-libraries "C:\Program Files (x86)\Arduino\libraries" -libraries "C:\Users\whmck\Documents\Arduino\libraries" -fqbn=TinyCircuits:samd:tinyscreen:BuildOption=normal -vid-pid=0X03EB_0X8009 -ide-version=10610 -build-path "C:\Users\whmck\AppData\Local\Temp\buildf3895659169830604ee55e7f9fcb332f.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "C:\Users\whmck\Documents\Arduino\sketch_jan12a\sketch_jan12a.ino"
Using board 'tinyscreen' from platform in folder: C:\Users\whmck\AppData\Local\Arduino15\packages\TinyCircuits\hardware\samd\1.0.5
Using core 'arduino' from platform in folder: C:\Users\whmck\AppData\Local\Arduino15\packages\TinyCircuits\hardware\samd\1.0.5
Detecting libraries used...
"C:\Users\whmck\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions  -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10610 -DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD  -D__SAMD21G18A__ -DUSB_VID=0x03EB -DUSB_PID=0x8009 -DUSBCON '-DUSB_MANUFACTURER="TinyCircuits"' '-DUSB_PRODUCT="TinyScreen+"' "-IC:\Users\whmck\AppData\Local\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/" "-IC:\Users\whmck\AppData\Local\Arduino15\packages\arduino\tools\CMSIS\4.5.0/Device/ATMEL/" "-IC:\Users\whmck\AppData\Local\Arduino15\packages\TinyCircuits\hardware\samd\1.0.5\cores\arduino" "-IC:\Users\whmck\AppData\Local\Arduino15\packages\TinyCircuits\hardware\samd\1.0.5\variants\tinyscreen_p" "C:\Users\whmck\AppData\Local\Temp\buildf3895659169830604ee55e7f9fcb332f.tmp\sketch\sketch_jan12a.ino.cpp" -o "nul"
"C:\Users\whmck\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions  -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10610 -DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD  -D__SAMD21G18A__ -DUSB_VID=0x03EB -DUSB_PID=0x8009 -DUSBCON '-DUSB_MANUFACTURER="TinyCircuits"' '-DUSB_PRODUCT="TinyScreen+"' "-IC:\Users\whmck\AppData\Local\Arduino15\packages\arduino\tools\CMSIS\4.5.0/CMSIS/Include/" "-IC:\Users\whmck\AppData\Local\Arduino15\packages\arduino\tools\CMSIS\4.5.0/Device/ATMEL/" "-IC:\Users\whmck\AppData\Local\Arduino15\packages\TinyCircuits\hardware\samd\1.0.5\cores\arduino" "-IC:\Users\whmck\AppData\Local\Arduino15\packages\TinyCircuits\hardware\samd\1.0.5\variants\tinyscreen_p" "C:\Users\whmck\AppData\Local\Temp\buildf3895659169830604ee55e7f9fcb332f.tmp\sketch\sketch_jan12a.ino.cpp" -o "C:\Users\whmck\AppData\Local\Temp\buildf3895659169830604ee55e7f9fcb332f.tmp\preproc\ctags_target_for_gcc_minus_e.cpp"
In file included from C:\Users\whmck\AppData\Local\Temp\buildf3895659169830604ee55e7f9fcb332f.tmp\sketch\sketch_jan12a.ino.cpp:1:0:

C:\Users\whmck\AppData\Local\Arduino15\packages\TinyCircuits\hardware\samd\1.0.5\cores\arduino/Arduino.h:47:17: fatal error: sam.h: No such file or directory

 #include "sam.h"

                 ^

compilation terminated.

exit status 1
Error compiling for board TinyScreen+.


Sketch

#include <Wire.h>
#include <SPI.h>
#include <TinyScreen.h>

TinyScreen display = TinyScreen(TinyScreenPlus);


void setup() {
  // put your setup code here, to run once:
 display.begin();
  //setBrightness(brightness);//sets main current level, valid levels are 0-15
  display.setBrightness(10);
}

void loop() {
  // put your main code here, to run repeatedly:

}

Pages: 1
SMF spam blocked by CleanTalk