This commit is contained in:
Marcus 2023-08-06 23:57:29 +02:00
parent fb83761487
commit a59cb28228
8 changed files with 1282 additions and 26 deletions

View file

@ -1,7 +1,7 @@
{ {
"board": { "board": {
"active_layer": 0, "active_layer": 0,
"active_layer_preset": "", "active_layer_preset": "All Layers",
"auto_track_width": true, "auto_track_width": true,
"hidden_netclasses": [], "hidden_netclasses": [],
"hidden_nets": [], "hidden_nets": [],

View file

@ -3,26 +3,171 @@
"3dviewports": [], "3dviewports": [],
"design_settings": { "design_settings": {
"defaults": { "defaults": {
"board_outline_line_width": 0.1, "board_outline_line_width": 0.09999999999999999,
"copper_line_width": 0.2, "copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5, "copper_text_size_h": 1.5,
"copper_text_size_v": 1.5, "copper_text_size_v": 1.5,
"copper_text_thickness": 0.3, "copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.15, "other_line_width": 0.15,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.15, "silk_line_width": 0.15,
"silk_text_italic": false,
"silk_text_size_h": 1.0, "silk_text_size_h": 1.0,
"silk_text_size_v": 1.0, "silk_text_size_v": 1.0,
"silk_text_thickness": 0.15 "silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.5
}
}, },
"diff_pair_dimensions": [], "diff_pair_dimensions": [],
"drc_exclusions": [], "drc_exclusions": [],
"rules": { "meta": {
"min_copper_edge_clearance": 0.0, "version": 2
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0
}, },
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "warning",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.7999999999999999,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.09999999999999999,
"min_via_diameter": 0.5,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 5,
"td_on_pad_in_zone": false,
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_ontrackend": false,
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [], "track_widths": [],
"via_dimensions": [] "via_dimensions": [],
"zones_allow_external_fillets": false
}, },
"layer_presets": [], "layer_presets": [],
"viewports": [] "viewports": []

View file

@ -759,6 +759,10 @@
(stroke (width 0) (type default)) (stroke (width 0) (type default))
(uuid 5b0bb123-07ee-4da1-882e-74689a91b06d) (uuid 5b0bb123-07ee-4da1-882e-74689a91b06d)
) )
(wire (pts (xy 30.48 30.48) (xy 30.48 26.67))
(stroke (width 0) (type default))
(uuid 5bfe03bd-fc3c-4f21-9003-a4d4442e3dc4)
)
(wire (pts (xy 179.07 175.26) (xy 179.07 97.79)) (wire (pts (xy 179.07 175.26) (xy 179.07 97.79))
(stroke (width 0) (type default)) (stroke (width 0) (type default))
(uuid 5d0e5d05-cb50-4ccc-892d-0e9ac72bb1a4) (uuid 5d0e5d05-cb50-4ccc-892d-0e9ac72bb1a4)
@ -831,6 +835,10 @@
(stroke (width 0) (type default)) (stroke (width 0) (type default))
(uuid 9e7f8cf3-3698-4386-8fc9-2d33aaa330ce) (uuid 9e7f8cf3-3698-4386-8fc9-2d33aaa330ce)
) )
(wire (pts (xy 30.48 26.67) (xy 25.4 26.67))
(stroke (width 0) (type default))
(uuid 9eb9ddc4-a419-42c1-862a-342ed6a9e00e)
)
(wire (pts (xy 53.34 78.74) (xy 39.37 78.74)) (wire (pts (xy 53.34 78.74) (xy 39.37 78.74))
(stroke (width 0) (type default)) (stroke (width 0) (type default))
(uuid 9fbc7144-9fda-4a7a-9c60-99dfa341ccf6) (uuid 9fbc7144-9fda-4a7a-9c60-99dfa341ccf6)
@ -851,6 +859,10 @@
(stroke (width 0) (type default)) (stroke (width 0) (type default))
(uuid af359ddb-0795-4ddb-b60c-579cbb3caca3) (uuid af359ddb-0795-4ddb-b60c-579cbb3caca3)
) )
(wire (pts (xy 34.29 30.48) (xy 30.48 30.48))
(stroke (width 0) (type default))
(uuid b5e2f069-32ec-48c8-8de6-1bdf03632952)
)
(wire (pts (xy 68.58 114.3) (xy 68.58 120.65)) (wire (pts (xy 68.58 114.3) (xy 68.58 120.65))
(stroke (width 0) (type default)) (stroke (width 0) (type default))
(uuid b64ac3fd-7a1f-438d-b8d5-1f5d00771984) (uuid b64ac3fd-7a1f-438d-b8d5-1f5d00771984)
@ -961,6 +973,31 @@
) )
) )
(symbol (lib_id "power:GND") (at 25.4 29.21 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 139ae053-3963-442f-85e5-6703fd202be3)
(property "Reference" "#PWR03" (at 25.4 35.56 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (at 25.4 34.29 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 25.4 29.21 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at 25.4 29.21 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid b3cd76c3-61f6-48ad-bef8-08eacc669fef))
(instances
(project "arduino-fridge-powercontrol"
(path "/634a97e3-ab17-488c-8786-a456affdc40d"
(reference "#PWR03") (unit 1)
)
)
)
)
(symbol (lib_id "power:GND") (at 68.58 180.34 0) (unit 1) (symbol (lib_id "power:GND") (at 68.58 180.34 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 2b486987-72ed-425a-aed9-b5012741c954) (uuid 2b486987-72ed-425a-aed9-b5012741c954)
@ -1066,6 +1103,32 @@
) )
) )
(symbol (lib_id "Connector_Generic:Conn_01x02") (at 20.32 29.21 180) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 7f233961-a277-43ed-b52a-7c86ec22be7b)
(property "Reference" "J3" (at 20.32 20.32 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "Conn_01x02" (at 20.32 22.86 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Connector:JWT_A3963_1x02_P3.96mm_Vertical" (at 20.32 29.21 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 20.32 29.21 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid a28be960-32ca-48a1-b63a-4453f3676acf))
(pin "2" (uuid fc884b89-993f-49b4-9523-4b9b0a61f9b4))
(instances
(project "arduino-fridge-powercontrol"
(path "/634a97e3-ab17-488c-8786-a456affdc40d"
(reference "J3") (unit 1)
)
)
)
)
(symbol (lib_id "power:+12V") (at 34.29 30.48 0) (unit 1) (symbol (lib_id "power:+12V") (at 34.29 30.48 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 90fe8c85-4790-4a22-973b-d86ab9519013) (uuid 90fe8c85-4790-4a22-973b-d86ab9519013)

View file

@ -31,6 +31,8 @@ float HTemp2 = 16.0;
// LowTemp - when to turn of the power // LowTemp - when to turn of the power
float LTemp1 = 10.0; float LTemp1 = 10.0;
float LTemp2 = 14.0; float LTemp2 = 14.0;
bool fetState1;
bool fetState2;
uint8_t addrSensor1[8] = { 0x28, 0xFF, 0x64, 0x1F, 0x79, 0xD1, 0xB1, 0x75 }; uint8_t addrSensor1[8] = { 0x28, 0xFF, 0x64, 0x1F, 0x79, 0xD1, 0xB1, 0x75 };
uint8_t addrSensor2[8] = { 0x28, 0xFF, 0x64, 0x1F, 0x79, 0xD7, 0xDA, 0x9A }; uint8_t addrSensor2[8] = { 0x28, 0xFF, 0x64, 0x1F, 0x79, 0xD7, 0xDA, 0x9A };
@ -81,33 +83,45 @@ void loop() {
//if(Serial.available()>0) { //if(Serial.available()>0) {
sensors.requestTemperatures(); sensors.requestTemperatures();
tempSensor1 = sensors.getTempC(addrSensor1);
if(tempSensor1 > HTemp1) {
digitalWrite(MOSFET1, HIGH);
fetState1 = 1;
} else if(tempSensor1 < LTemp1) {
digitalWrite(MOSFET1, LOW);
fetState1 = 0;
}
tempSensor2 = sensors.getTempC(addrSensor2);
if(tempSensor2 > HTemp2) {
digitalWrite(MOSFET2, HIGH);
fetState2 = 1;
} else if(tempSensor1 < LTemp1) {
digitalWrite(MOSFET2, LOW);
fetState2 = 0;
}
Serial.print("Sens 1 "); Serial.print("Sens 1 ");
Serial.print("Celsius temperature: "); Serial.print("Celsius temperature: ");
// Why "byIndex"? You can have more than one IC on the same bus. 0 refers to the first IC on the wire // Why "byIndex"? You can have more than one IC on the same bus. 0 refers to the first IC on the wire
Serial.print(sensors.getTempC(addrSensor1)); Serial.print(sensors.getTempC(addrSensor1));
Serial.print(" - Fahrenheit temperature: "); Serial.print(" - Fahrenheit temperature: ");
Serial.println(sensors.getTempF(addrSensor1)); Serial.print(sensors.getTempF(addrSensor1));
Serial.print(" - MOSFET1 Sate: ");
Serial.println(fetState1);
Serial.print("Sens 2 "); Serial.print("Sens 2 ");
Serial.print("Celsius temperature: "); Serial.print("Celsius temperature: ");
// Why "byIndex"? You can have more than one IC on the same bus. 0 refers to the first IC on the wire // Why "byIndex"? You can have more than one IC on the same bus. 0 refers to the first IC on the wire
Serial.print(sensors.getTempC(addrSensor2)); Serial.print(sensors.getTempC(addrSensor2));
Serial.print(" - Fahrenheit temperature: "); Serial.print(" - Fahrenheit temperature: ");
Serial.println(sensors.getTempF(addrSensor2)); Serial.print(sensors.getTempF(addrSensor2));
Serial.print(" - MOSFET2 Sate: ");
tempSensor1 = sensors.getTempC(addrSensor1); Serial.println(fetState2);
if(tempSensor1 > HTemp1) {
digitalWrite(MOSFET1, HIGH);
} else if(tempSensor1 < LTemp1) {
digitalWrite(MOSFET1, LOW);
}
tempSensor2 = sensors.getTempC(addrSensor2);
if(tempSensor2 > HTemp2) {
digitalWrite(MOSFET2, HIGH);
} else if(tempSensor1 < LTemp1) {
digitalWrite(MOSFET2, LOW);
}
/* /*
digitalWrite(MOSFET, HIGH); digitalWrite(MOSFET, HIGH);