Difference between revisions of "User:Sajuk"

From LinuxWorks Minetest Server Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
 
 
 
Some guides that I found missing ...
 
Some guides that I found missing ...
  
  
  
Digtron
+
==== Digtron ====
  
 
[[File:Fig1 digt.png|thumb]]
 
[[File:Fig1 digt.png|thumb]]
Line 20: Line 17:
  
 
In materials:  <br>
 
In materials:  <br>
 
+
ToDo
  
 
Building guide: <br>
 
Building guide: <br>
Line 37: Line 34:
 
- top  Extrusion: 1,  Period: 10-15 ; Offset: 0, Facing: 0<br>
 
- top  Extrusion: 1,  Period: 10-15 ; Offset: 0, Facing: 0<br>
 
[[File:Fig3 digt.png|thumb]]
 
[[File:Fig3 digt.png|thumb]]
 +
 
- left: <br>
 
- left: <br>
  
Line 50: Line 48:
 
- Use screwdriver to alter the rotation direction.  <br>
 
- Use screwdriver to alter the rotation direction.  <br>
 
- Sign on rotation axis (<) clockwise,    (>) anticlockwise.  Use screwdriver to alter it.  <br>
 
- Sign on rotation axis (<) clockwise,    (>) anticlockwise.  Use screwdriver to alter it.  <br>
- Smaller/larger digtrons should follow the symetry between half-width (Wh)  and rotation axel (Fig.1 dashed blocks).<br>
+
- Smaller/larger digtrons should follow the symmetry between half-width (Wh)  and rotation axel (Fig.1 dashed blocks).<br>
 +
 
 +
  <br>  <br>  <br>  <br>
 +
 
 +
==== Recharging  ====
 +
 
 +
 
 +
[[File:Fig1 battery.png|thumb]]
 +
 
 +
 
 +
LUA controller code (credit to:  ywang)
 +
 
 +
-- CONFIGURATION
 +
local delay = 1 -- This value should not be lower than 2 (lag prevention)
 +
local channel = "lcd" -- Channel to report the status to
 +
 
 +
 
 +
-- MAIN PROGRAM
 +
 
 +
if event.type == "interrupt" then
 +
  if pin.d then
 +
    if (not(port.c)) then mem.counter = mem.counter + 1 end
 +
    digiline_send(channel, tostring(mem.counter).." | Enabled")
 +
    port.c = not (port.c)
 +
    interrupt(delay)
 +
  else
 +
    digiline_send(channel, tostring(mem.counter).." | Disabled")
 +
  end
 +
end
 +
 
 +
if event.type == "program" then
 +
  mem.counter = 0
 +
  interrupt(1)
 +
end

Revision as of 23:06, 26 April 2020

Some guides that I found missing ...


Digtron

Fig1 digt.png

Ingridients:
1x crate - to transport ditron from place to place.
1x control module (simple, or automatic)
1 (-3) x inventory storage, to store the minerals.
1 x combined storage , fuel injector and storing useful stuff( torches/glow blocks, extra screw driver, fuel, boxes, axe, showel, emergency food, etc ...)
1 x rotation axel - to rotate whole structure once
1 x builder module - to place torches
min. 6+ x digger heads. (width x height)

In materials:
ToDo

Building guide:
Place digger heads such that the rotating/digging side is in front (orange connector rear side).

Fig2 digt.png

Note that width should be symmetrical around the central axis and rotation axel should be placed in centr in order to conveniently rotate the digtron around its axis (See Fig.1).
Dimensions of digging face should be (height x ( 2 x half-width + 1) ).

Height of digitron: up to the builder - depends if you need to reach the ceiling.
Should be also symmetric around the central axis to avoid rotation errors (dashed lines on Fig 1.).


Falling gravel sand damages structure blocks (grey on Fig. 1) if they are uncovered from top. Make sure they are covered by other blocks (i.e. inventory).

Place buildin module to the edges of the digtron to place items generating light :
- top Extrusion: 1, Period: 10-15 ; Offset: 0, Facing: 0

Fig3 digt.png

- left:

- right:


Figure 1. Scheme for 7x5 digtron. Side, back and top view.

Notes:
- Digtorn moves relative to control unit.
- Surplus cobbles, which do not fit to the inventory, will be droped behind the control unit. - Falling gravel sand damages structure blocks (grey on fig.). Make sure they are covered by other blocks (i.e. inventory).
- Use screwdriver to alter the rotation direction.
- Sign on rotation axis (<) clockwise, (>) anticlockwise. Use screwdriver to alter it.
- Smaller/larger digtrons should follow the symmetry between half-width (Wh) and rotation axel (Fig.1 dashed blocks).

 



Recharging

Fig1 battery.png


LUA controller code (credit to: ywang)

-- CONFIGURATION local delay = 1 -- This value should not be lower than 2 (lag prevention) local channel = "lcd" -- Channel to report the status to


-- MAIN PROGRAM

if event.type == "interrupt" then

 if pin.d then
   if (not(port.c)) then mem.counter = mem.counter + 1 end
   digiline_send(channel, tostring(mem.counter).." | Enabled")
   port.c = not (port.c)
   interrupt(delay)
 else
   digiline_send(channel, tostring(mem.counter).." | Disabled")
 end

end

if event.type == "program" then

 mem.counter = 0
 interrupt(1)

end