Tinkercad - https://www.tinkercad.com is an excellent tool that allows you to simulate a number of items. You can (perhaps you SHOULD) simulate all exercises and even your own designs before trying them on real hardware. It also allows you to do programming using blocks. You can download / copy-paste the generated code later into Arduino IDE to program the real Arduino board, rather than having to write it from scratch.
Create a new account on Tinkercad website (you can also use your Google account to log in). The select Circuits on the left pane, and click Create new Circuit.
In Components Basic, you can select Arduino Uno R3.
You can rotate it to portrait mode if you wish, which will allow more space for other components to be added. You can add more components and wire them up if necessary. Clicking on a wire allows you to change its color.
To program the Arduino,
- Click on Code
- You can choose Blocks or Blocks + Text or Text. For beginners, it is recommended to use Blocks + Text. This allows you to see the C++ code generated corresponding to your blocks. You can copy this code later into Arduino IDE to program the real Arduino, rather than having to write it from scratch. You can also download the code as an Arduino-compatible .ino file.
- You can code by selecting the blocks and connecting them appropriately.
- You can start the simulation by clicking Start Simulation.
You have to click Stop Simulation to stop the simulation before you can modify your program and/or hardware connections.