Git Product home page Git Product logo

model-1's People

Contributors

davidsean avatar timsp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

model-1's Issues

message from RPi to LCD display

With two-way communication between the RPi and arduino ( #2 #4 ), we should be able to access information stored on the RPi:

  • ethernet MAC / IP address
  • wifi MAC / IP address
  • unique identifier

Since the RPi can supply a unique device number / serial number, this will make things easier to manage.

Change O2 settings to 0.1% increments.

Much like temperature, if you hold the button down, it changes in 5 degree increments.
At present, the lowest O2 setting is 0.5%. This needs to be 0. The user should also need to be able to lower in 0.1% increments. (i.e. it's currently impossible to set to 0.3%)
Please change.

parameter change from RPi

Currently the serial link is in one direction: for monitoring only.
Changing the variables from the RPi would be hugely beneficial, for example #1 could be controlled from the RPi, not to mention the obvious feature of remotely changing the params, or pre-program environmental conditions changes in time (small increase in temperature everyday, of gradual depletion of O2, etc.)

unnecessary valve actuation

I am counting the number of valve actuations to evaluate their lifetimes. For now just CO2 but O2 will come shortly.

Basically I just count the number of times the valves have toggled over a week:

digitalWrite(pinAssignment_Valve, HIGH);
this->valve_trigger_count++;

Interestingly I hear an audible "click" without seeing an increase in the valve_trigger_count. Looking at the logs I think it comes from:
// CO2 level above setpoint.
digitalWrite(pinAssignment_Valve, LOW); // just to make sure

...since the temperature is slightly above the setpoint when I hear the "click". I won't dig deeper until the test is finished (7days), but if the digitalWrite(pinAssignment_Valve, LOW) call indeed energizes the solenoid enough to hear a "click", this may contribute to premature failure.

New board from Bittele Electronics not connecting via Arduino IDE in RaspberryPi

This message is on behalf of Flemming Rasmussen.
@shadjiantoniou connected Flemming with Bittele Electronics Inc to get new boards manufactured.

We received these new boards that are a clone of the old Incuvers model
We've connected this board to RaspeberryPi and attempting to upload Incuvers code on it.
I used these settings to set everything up.

This keeps timing out when I try to upload code
So far we've tried all physical USB ports on the RaspberryPi. Still doesn't work.
Note: We've been able to connect and upload code successfully on another Arduino ATMega2560 board using the same RaspberryPi
So it's likely not the RaspberryPi or the USB cable. (but I'm no expert ¯\(ツ)/¯)

Is there anything special that needs to be done to these new boards when received directly from the manufacturer?
Are there any drivers that need to be installed on RaspberryPi?
Could this be a bootloader issue? if so, how do I go about installing a new one?
@davidsean

Add support for hardware 1.0.2

The soon to be obtained controller model 1.0.2 will feature different interface pins for each of the temperature sensors, the Heat module should be updated to support this.

testsuite for heating cycles and choosing parameter sets

It would be nice to have an testsuite that sweeps through heating cycles with different parameter sets.
The sweeps could generate temperature versus time plots so that the behaviour of the parameters become more transparent.
It would allow one to

  • re-run in a different lab setting
  • make an informed decision
  • easily re calibrate the units after a design iteration

hold running average for temperature

It seems like the readings of some temperature sensors fluctuate a bit. Three readings in a 1 second window can all vary by 0.1 Deg C. It is possible some manufactures offer a filtered readout while others are raw. For the latter case, a running average on the Arduino-side should be internally performed.

messaging protocol

The error rate (failed checksums) between the PRi and the board is a bit high. Consider using an existing messaging protocol, like CmdMessenger or equivalent.

Help with uploading code using the Arduino IDE

Cc. @timsp , Flemming Rasmussen [email protected]


Update: 24th December

Successfully compiled and uploaded code (without making any changes to master branch) to Model-1
I had to change Board type in Arduino IDE to Arduino/Genuino Mega or Mega 2560
and Processor to ATmega2560 (mega 2560)

Now my question is what is the significance of the below .ino files.
Incuvers_Incubator.ino
IncuversHardwareDefinitionWriter.ino

Could you point me to a piece of documentation that might explain this?


23rd December

I've been following this guide.
https://github.com/Incuvers-Inc/Model-1/wiki/Uploading-code-using-the-Arduino-IDE

Installed all three libraries.
MAX31850 DallasTemp by Adafruit" -> 1.0.0
MAX31850 OneWire by Adafruit" -> 1.0.1
arduino-display-lcdkeypad -> 4.0.2 (removed LcdKeypad.h and LcdKeypad.cpp)

Programmer: AVRISP mkII
Board: Arduino/Genuino UNO

Open Arduino Sketches/Main/Incuvers_Incubator/Incuvers_Incubator.ino in Arduino IDE.
(Side note: There's also Arduino Sketches/Support/IncuversHardwareDefinitionWriter/IncuversHardwareDefinitionWriter.ino)
Not sure which ino file is meant to be compiled as part of the above documentation

Then upon compiling, I get the following error:

In file included from /Users/kumarpatel/Projects/Model-1/Arduino Sketches/Main/Incuvers_Incubator/Incuvers_Incubator.ino:113:0:
sketch/SenseWrap_Serial.h: In member function 'void IncuversSerialSensor::Initialize(int, int, String, String)':
SenseWrap_Serial.h:19:23: error: 'Serial3' was not declared in this scope
           this->dC = &Serial3;
                       ^~~~~~~
sketch/SenseWrap_Serial.h:19:23: note: suggested alternative: 'Serial'
           this->dC = &Serial3;
                       ^~~~~~~
                       Serial
SenseWrap_Serial.h:25:23: error: 'Serial2' was not declared in this scope
           this->dC = &Serial2;
                       ^~~~~~~
sketch/SenseWrap_Serial.h:25:23: note: suggested alternative: 'Serial'
           this->dC = &Serial2;
                       ^~~~~~~
                       Serial
SenseWrap_Serial.h:31:23: error: 'Serial1' was not declared in this scope
           this->dC = &Serial1;
                       ^~~~~~~
sketch/SenseWrap_Serial.h:31:23: note: suggested alternative: 'Serial'
           this->dC = &Serial1;
                       ^~~~~~~
                       Serial
Multiple libraries were found for "LiquidTWI2.h"
 Used: /Users/kumarpatel/Documents/Arduino/libraries/arduino-display-lcdkeypad
Multiple libraries were found for "EEPROM.h"
 Used: /private/var/folders/df/92xjf87j399f425k10qc_dfxns4bp5/T/AppTranslocation/5C351A8F-4092-4A00-BA3D-0090CDF42CC4/d/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/EEPROM
Multiple libraries were found for "OneWire.h"
 Used: /Users/kumarpatel/Documents/Arduino/libraries/MAX31850_OneWire
Multiple libraries were found for "DallasTemperature.h"
 Used: /Users/kumarpatel/Documents/Arduino/libraries/MAX31850_DallasTemp
Multiple libraries were found for "Wire.h"
 Used: /private/var/folders/df/92xjf87j399f425k10qc_dfxns4bp5/T/AppTranslocation/5C351A8F-4092-4A00-BA3D-0090CDF42CC4/d/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/Wire
exit status 1
'Serial3' was not declared in this scope

Move defined values to a common header file

In order to more easily have the rPi do the same sanity checks on values as the Arduino does, we will move all compile-time definition of minimum, maximum, setpoints, etc to a common header file in the Arduino code such that the rPi python code can parse this data and implement all the same limits.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.