iFreelance

Python Developer Needed - Create Algorithm
Estimated Budget:
Not sure / Determined by bids
Category:
Programming / Database Development
Subcategory:
Other Programming
Description:
Hardware suggested for this project.  Please note – alternate configurations may be an option.

Hx711 (input device)
 https://www.sparkfun.com/products/13879

D/A Converter: (output device)
https://www.adafruit.com/product/935

Raspberry PI Hardware: (economical computing solution)
https://www.adafruit.com/product/3055

Overview:
This project goal is produce an application that generates variable voltage output on the DAC converter based on input from the HX711 ADC.

The code shall be written and commented in python.

The input signals will be coming from a load cell device. Sample code for the load cell can be found at:
https://github.com/tatobari/hx711py

The output of the rasbperry pi will be an ohter I2c IO (hardware) sending a digital signal to a MCP DAC.  Sample code for the device can be found at:
https://github.com/adafruit/Adafruit_Python_MCP4725

The input we expect to see from the HX711 will be a data stream containing a 24bit value, sampled at either 10hz, or 80hz. The ability to “zero” or reference a start value on code boot is also expected. The incoming value will be similar to a bell curve, repeating on average every 5 seconds or so.  This application can also utilize tables if the coder prefers this method

An output of the algorithm or tables (sent to the DAC ) will provide increasing voltage output on the power curve rise, and will have reduced, output when the input value is reduced.  There will be tuning and filtering applied to the output value as noted above.

The output to the DAC should also be able to be modified to change parameters like:

Max rise time of output (once a rise is noted on the ADC, this would force the output (DAC) to rise to it's max within a period of time regardless of what the input does.  Range should be at least between  .1 seconds and 5 seconds

Sustain time of the output should allow for a linear reduction in power as soon as the input bell curve is noted to be on the falling edge.  Modification of this value would determine how linear the decrease in ADC is, or if it simply will follow the bell curve falling edge.  Range should be between .1 and 4 seconds

Delay output time – this will be between 0s and .5 seconds.  The value will have an impact on how long the system waits to send output to the DAC.

Pseudo code:

baseline_value = 14
max_rise_enabled = True
max_rise_value = 3.2
sustain_enabled = True
sustain_time = 3.5
delay_out_enabled = True
delay_out_value = 2.2

def set_dac_zero:
set dac output to zero value

def check for input on ADC:
returns true of false

def drive output
starts driving ADC based on parameters defined above if enabled
Announcements:
Work Onsite:
No
Bidder Location:
United States

Bidding Details

Ends:
4/24/18 3:53 AM PDT
Remaining:
0 minutes
Began:
4/20/18 1:6 PM PDT
Bids:
Sealed:
Yes
Awards:
None Issued
Bid #
Status

Project Employer

WWSI

Location:
Wisconsin, United States
Rating:
   
0
Projects Posted:
2

Public Project Discussion

This project has not been discussed.
Discussion Not Permitted
To participate in this discussion, you must be logged in.
The freelancer has not yet submitted a review of the employer.
Reviews can only be submitted after project work has been completed.
The employer has not yet submitted a review of the freelancer.
Reviews can only be submitted after project work has been completed.
Bidding Statistics Not Available
Bidding statistics are not yet available for this project because no bids have been submitted.
View Timing & Location
These charts allow you to visualize how often and from within what countries this project has been viewed during this project's bidding phase.

iFreelance is a great way to hire Freelancers, find work and get your goals accomplished.

iFreelance is the premier place for independent professionals looking for freelance work. Whether you have experience in proofreading, art jobs or data entry, iFreelance is the hub where you can meet entrepreneurs and sell your freelancing skills.