File talk:CEB-ControllerCode-v1708.abp: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
(Created page with "=To Do= *define pins high/low **input for sensors **output to relays for solenoids *cylinder timing and control")
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
=ardublock compatibilities=
*previous code uses [https://www.arduino.cc/en/Reference/SwitchCase Switch Case]
**ardublock doesnt feature this as a block. will have to use if statements
=To Do=
=To Do=


Line 5: Line 10:
**output to relays for solenoids
**output to relays for solenoids
*cylinder timing and control
*cylinder timing and control
=Overview=
<nowiki>
define goal pressure //when to stop pressing
setup
if button is pressed (or jumper installed) on restart, clear eeprom to 0
if eeprom > 0, define variables from eeprom
//set desired brick height
fully retract main cylinder
delay 30 seconds to allow for manual main cylinder positioining
start timer
retract main cyliner till pressure spike
stop timer
define inches from full retraction to desired position
extend back to set position
if eeprom = 0, run calibration routine
define brick Width
define drawer cylinder stroke length
fully retract drawer till pressure spike
start timer
fully extend drawer till pressure spike
stop timer
calculate time per inch
calculate time per brickW
save to eeprom
retract one brickW to compression area
fully retract main cyliner till pressure spike
start timer
extend main cyliner till pressure spike against drawer
stop timer
define time to eject position
save to eeprom
//set desired brick height
fully retract main cylinder
delay 30 seconds to allow for manual main cylinder positioining
start timer
retract main cyliner till pressure spike
stop timer
define inches from full retraction to desired position
extend back to set position
loop
fully extend drawer - to load poistion. stop.
delay - for soil to fall
retract drawer to compression position. stop.
extend main cylinder till goal pressure reached
retract 1/2 inch. stop.
retract drawer to ejection position. stop.
extend main cylinder to ejection position. stop.
//block dirt to allow main cylinder to retact without dirt. when draw moves, dirt will all fall at once.
extend drawer to compression position. stop.
retract main cyliner to set position. stop.
</nowiki>

Latest revision as of 03:19, 23 August 2017

ardublock compatibilities

  • previous code uses Switch Case
    • ardublock doesnt feature this as a block. will have to use if statements

To Do

  • define pins high/low
    • input for sensors
    • output to relays for solenoids
  • cylinder timing and control

Overview

define goal pressure //when to stop pressing

setup

if button is pressed (or jumper installed) on restart, clear eeprom to 0

if eeprom > 0, define variables from eeprom

//set desired brick height
fully retract main cylinder
delay 30 seconds to allow for manual main cylinder positioining
start timer
retract main cyliner till pressure spike
stop timer
define inches from full retraction to desired position
extend back to set position

if eeprom = 0, run calibration routine

define brick Width
define drawer cylinder stroke length
fully retract drawer till pressure spike
start timer
fully extend drawer till pressure spike
stop timer
calculate time per inch
calculate time per brickW

save to eeprom

retract one brickW to compression area
fully retract main cyliner till pressure spike
start timer
extend main cyliner till pressure spike against drawer
stop timer
define time to eject position

save to eeprom

//set desired brick height
fully retract main cylinder
delay 30 seconds to allow for manual main cylinder positioining
start timer
retract main cyliner till pressure spike
stop timer
define inches from full retraction to desired position
extend back to set position

loop

fully extend drawer - to load poistion. stop.

delay - for soil to fall

retract drawer to compression position. stop.

extend main cylinder till goal pressure reached

retract 1/2 inch. stop.

retract drawer to ejection position. stop.

extend main cylinder to ejection position. stop.

//block dirt to allow main cylinder to retact without dirt. when draw moves, dirt will all fall at once.
extend drawer to compression position. stop. 

retract main cyliner to set position. stop.