• 0 Posts
  • 58 Comments
Joined 10 months ago
cake
Cake day: March 8th, 2025

help-circle









  • I see a flag. I like flags. Especially the Japanese flags. I don’t specifically care for Japan, but the flag is one of my favourites. I prefer flags with low entropy: so I wrote a script once that ranks the nations flags by entropy so I could quantify my preference. Thanks for letting me infodump a bit.

    Edit: Due to people aski g for it: here is the top ten of my ranking:

    Nations' flag entropy ranking (n=208). 
    Image source: Wikimedia.
    
    0	white_field			-1.439759075204976e-10
    1	Indonesia			3.3274441922278752
    2	Germany			3.391689777286108
    3	South_Ossetia			3.8174437373506778
    4	Monaco			3.9718936201427066
    5	Poland			3.9719290780440133
    6	Austria			4.372592975412404
    7	Ukraine			4.405280849871184
    8	Hungary			4.4465472496385985
    9	Albania			4.6134257669087395
    10	Mauritius			4.707109405551959
    11	Luxembourg			4.721346585737304
    

    Here’s how I defined the entropy value for each flag:

    def color_weighted_spectral_entropy(image):
        b_channel, g_channel, r_channel = cv2.split(image)
        
        # Calculate spectral entropy for each channel
        def channel_spectral_entropy(channel):
            f_transform = np.fft.fft2(channel)
            f_shifted = np.fft.fftshift(f_transform)
            magnitude_spectrum = np.abs(f_shifted)
            if np.sum(magnitude_spectrum) > 0:
                normalized = magnitude_spectrum / np.sum(magnitude_spectrum)
            else:
                normalized = magnitude_spectrum
            # Entropy calculation with color channel weighting
            epsilon = 1e-10
            entropy = -np.sum(normalized * np.log2(normalized + epsilon))
            
            return entropy
        
        weighted_entropy = (
            0.333 * channel_spectral_entropy(b_channel) +
            0.333 * channel_spectral_entropy(g_channel) +
            0.333 * channel_spectral_entropy(r_channel)
        )
        
        return float(weighted_entropy)
    

    “White_field” is just an array that holds zeroes. I use this as a sanity check. Code is on github. I can send DM to whomever is interested. I guess it can also be searched for.







  • The idea with the first valve is to drive it with an H-bridge. This allows for reversing polarity and is commonly used with motors to allow for spinning in two directions. This requires 4 MOSFETs. I’m not sure what type of MOSFET you are using but if you can find a simple dc motor to test this setup you can verify that it works with the one you have before you extend the circuit to an H-brigde configuration. This would be cheaper than buying another valve. You’d need two GPIO pins and careful design to not short circuiting the H-bridge.



  • Could you clarify a few things? The circle symbol is meant to represent the voltage supply? Is it connected correctly? When you say solenoid, you mean an electromagnet, right? If so, why does it require that specific pulse with? You say you swapped out the LED for the coil, was the LED tested with MOSFET and diode in place? Does the solenoid engage when you take the connection off the RP2040 and drive it high directly? How did you ascertain the functioning of the solenoid by means of measuring resistance?