7

If the pavement is black, you could detect snow by infrared reflectivity. You might detect wet by resistivity. That leaves ice. Reflectivity might work there, too, at a different threshold. You'd need to experiment. Another possibility might be a short-range sonar. If the measured distance changes, something is there. Ice would probably read as nearer. You'...


3

If I understand your question correctly, your problem is probably that the working range of the AJ-SR04M sensor is 20cm - 500cm. The sensor uses the same transducer to create the sound pulse and to listen for the echo. It needs time to switch from one mode to the other, which explains why your sensor can't measure distances of less than 20cm. The speed-...


3

I may experiment with a simple photocell used to turn lights on or off, and a light source for night time. Mount the photocell so that its lens is upwards towards the sky, at night you'd need a light source shining on the photocell, I'm thinking a very low wattage led light to reduce power consumption, or even another photocell or astronomical time clock to ...


2

Before your question gets closed: There is no such thing as "the best" Assembly Assembly can be a very powerful language. But at the cost of some: Assembly is different per machine. https://cs.stackexchange.com/questions/46935/is-a-universal-assembly-language-for-all-computers-possible Assembly is somewhat less readable as other programming languages in ...


2

You can't in the Arduino IDE, it's not designed that way (you can't even have different board/port settings in different windows - it's stored in the Java equivalent of a single global). Instead you will have to switch to a different programming environment. Personally (since I am the author) I would suggest switching to UECIDE. That has far more advanced ...


2

You can use an array to go through the times. Create a struct with the fields time and temperature (you should think about saving time as unix epoch, meaning seconds since 1970, so that you save memory). struct SetPoint { unsigned long time; float temperature; }; Then you can declare an array of type SetPoint to hold the tubles of time and ...


2

As mentioned in a comment, your code has some fundamental flaws. Do not call loop() from within loop()! Aside from the code errors, your question has a legitimate element. Testing the tri-state behaviour of an input pin will let you know if it is genuinely high, genuinely low, or floating (disconnected). The technique was given in this answer to similar ...


1

There's a few similar projects already done on YouTube, which you can use for guidance. If this is your 1st project using arduino I would recommend the Uno as is the easiest to work with. As you become more familiar with microcontrollers you can easily switch to the nano. As for what sensors you decide to use is up to you. You have quite a bit of flexibility....


1

Do not call loop from loop. You will quickly run out of RAM and the sketch will crash: void loop(){ int recipe; //Serial.print("Enter recipe number: "); while(Serial.available()==0){ // Waits for data from serial port } while(Serial.available() > 0){ ... } else loop(); } For the pins that are supposed to be high, I suggest pull-...


1

You have to spend some time and practice coding, it does not come over night. As far as your timing look up for an alarm clock sketch that will do what you want. Once you understand that you should only have to add a few lines of code. As far as open source the tools you are using are open source. Remember there are people out there that are expertes and ...


1

There are different approaches around. I can only point you to some of them: GitLab CI approach A GitLab CI approach B Your specific solution: To build pipelines for Arduino (although its Azure) but you can use this technique on Linux with Jenkins As a valuable commenter mentioned on your previous question - this does not cover the attached hardware ...


1

The problems with this kind of software is: always behind the recent releases of cores/ hw variations. reliable only for simple programs/tasks Imho all the products I tested (mainly on Win) are actually a (somewhat crippled ) teaching and visualization help. if you look into the emulators you mostly see only support for different chips and not the whole ...


1

In parseAndPrint You need to check the return value of sscanf to see if the function read the data. The problem you are having is the difference between + and &. The sensor is providing 3, 3 digit hex values (which should be sprintfed with %03x not %4.4d). Adding these together isn't going to give you the write answer. For instance $001001001 should ...


1

I have made a simple DALI controller with Arduino Nano. Maybe it will be useful for you. Look here: Simple DALI Controller


1

Unless you feel like starting a fire, none. Find a 220V 2A relay with a 5V coil and use that instead, switching the hot wire and not the neutral.


Only top voted, non community-wiki answers of a minimum length are eligible