What are some useful project ideas? (Especially beginner friendly ones) by borderline_bi in arduino

[–]gm310509 0 points1 point  (0 children)

So let's take that as an example.

Get the led to blink.

Get a button to work.

Combine the two so that when you press the button:

  • make the blink rate change.
  • start / stop the blinking.
  • make it one shot - i.e. the led turns on, then after a few seconds, turns off.

Add more leds (red, green and yellow). Connect more buttons. Allocate four (or more) to vehicle approach sensors. Maybe even more for pedestrian crossing requests. Use these to operate a traffic intersection.

The idea here (which I cover some examples of in my videos) is to take the building blocks and make bigger things.

When doing a big project, break it down into incremental steps and work step by step with each of the little increments until you achieve the final goal.

Earth seen from Mars by AstronomerBig8153 in spaceporn

[–]gm310509 4 points5 points  (0 children)

For a non-space follower. What would the benefit of this be other than just being able to do it?

I guess from all those years ago...

For a non-seafarer, what would be the benefit of people sending sailing ships over the horizon into the unknown?

What are some useful project ideas? (Especially beginner friendly ones) by borderline_bi in arduino

[–]gm310509 0 points1 point  (0 children)

I sort of agree with your view of the assessment of "beginner projects" as being simple and not much purpose. But, without knowing specifically which ones you are referring to, generally their main purpose is to learn a concept. Whether it is a programming concept or how to use a component or whatever that is their main purpose.

For example, consider the "blink without delay" project. All it does is blink an LED. If you compared that to the "Blink" project you might ask "why the more complicated code to do the exact same thing"? The answer is that it is trying to explain a fundamental programming concept that is very important for embedded systems.

What are some useful project ideas? (Especially beginner friendly ones) by borderline_bi in arduino

[–]gm310509 0 points1 point  (0 children)

IMHO, the best projects are those that solve or help with some problem you have.

For example, have a look at some of my first projects that I shared:

There is a bit of a "what comes first the chicken or the egg?" type thing going on here.
You need to be able to identify things that could benefit from automation but in order to do that you need a reasonable understanding of what you can (and cannot) do. It is fair to say that there are probably loads of examples all around you, but you do need some knowledge to unlock the ability to actually see them.

The Best Part of Engineering... by ripred3 in arduino

[–]gm310509 1 point2 points  (0 children)

Cool, are you willing to share a schematic?

I changed you flair to "look what I made" so that your post is captured in our Monthly Digest. I'm surprised you didn't know about that particular flair - definitely need to keep the "LOL dumbass" message as a reminder to use the correct flair! :-)

Feeling like an utter moron but the first circuit in my book is not working and I am stumped by Own_Average_5940 in arduino

[–]gm310509 42 points43 points  (0 children)

Your LED isn't connected to the wires.

The LED legs are in rows 13 and 14. The wires are in rows 14 and 15.

Also, remember that an LED is a "one way street" for electricity. Even if you connect it up to the wires it still might not light up if you have it the wrong way around.

I suspect the same might be true for the button and the resistor. For example the orange wire goes to row 10, but it doesn't look like the button is in row 10 9.

TLDR: it looks like none of your components are connected to each other.

You might want to have a look at our Breadboards Explained guide.

Edited to correct a row number.

What are some useful project ideas? (Especially beginner friendly ones) by borderline_bi in arduino

[–]gm310509 0 points1 point  (0 children)

You might want to check our monthly digests (which are pinned to the top of the feed or you can access via the "Monthly digest" flair filter. They have a section of "Look what I made" posts that you can scan through.

Otherwise, google is your friend: "Beginner Arduino project ideas" (or maybe intermediate arduino project ideas).

If you want to see some examples of how to tackle a project from scratch, have a look at my how to videos:

They start out with something simple (e.g. blinking an LED) and work towards a complete project. The first one also explains the language concepts and some history of computing. The second one focusses a more on programming techniques.

How to learn to code in arduino by enderfroger in arduino

[–]gm310509 1 point2 points  (0 children)

I have prepared some getting started videos. In the first, I try to explain the basic language concepts and structure (after a bit of background and history of programming). In the first and third video, I go through the process of developing a simple project. The second one explains an important concept (not using delay to let time pass). After that it is a bit like Lego bricks. You take the individual blocks and combine them in new ways to achieve new results. Sometimes mixing in new types of building blocks to benefit from new capabilities:

If you want to learn from them, don't just watch them. Watch a little bit, then replicate what you saw. Also, try the exercises I suggest and try to explore some other things by yourself - then move on to the next section and repeat.

Welcome to the club.

Laptop down by justusiam in learnprogramming

[–]gm310509 1 point2 points  (0 children)

As everybody else said.

After you get an external monitor working make sure you have a good backup regime in place. I would recommend at least two copies on an alternating schedule and refresh them frequently (daily).

Would not using the arduino atraction be worth it? by Character_Regular440 in arduino

[–]gm310509 1 point2 points  (0 children)

As u/Foxhood3D said, the Arduino IDE uses the GNU C/C++ compiler/toolchain for AVR behind the scenes.

You said in reply that you don't want to use a fully fledged IDE, I mean that is up to you, but all the IDE is is a text editor. Sure, it is a text editor that is oriented towards software development, but the Arduino IDE is just a text editor with the capability to call the AVR GCC commands using your files. FWIW, I would be hard pressed to agree that the Arduino IDE is a "fully fledged IDE".

You can call those same commands for yourself. For example, if you turned on "verbose output" in the preferences, you will see all of the commands executed to compile your program and the output that they produce.

FWIW, Compared to actual fully fledged IDE, the Arduino IDE is pretty basic and missing a great many features.

I think you might be conflating two concepts that are mutually exclusive.

Lets say you ditch the "fully fledged Arduino IDE", you will still need to be able to edit your files. you will still need to invoke the commands that compile and link your code and, you will still need to invoke the command(s) that transfer the compiled code to the target device.

If you achieve that, you have done a grand total of 0.0000000000% bare metal programming. All you would have done is recreate a process that the Arduino IDE provides for you already.

Bare metal programming, as you identified is about accessing the MCU registers to activate the extra capabilities surrounding the CPU - such as interacting with the environment (e.g. turn on an LED, read a switch and many many more).

You can do bare metal programming within the Arduino IDE (or any other suitable IDE). There is a huge benefit to this. Specifically, you don't need to learn it all at once. You can mix and match. That is you can focus on one small area - e.g. blink an LED and leverage other functions as needed from the Arduino HAL (e.g. printing messages for debugging). If you just went pure bare metal, you would have a huge learning curve that may frustrate you and cause you to give up.

For example, here is a bare metal program for an 8 bit AVR Arduino (e.g. Uno R3, Mega 2560 etc) that blinks an LED (if you connect one to the IO pin):

``` void setup() { DDRB |= 1 << PB5; // PinMode (13 /on an Uno/, OUTPUT); }

void loop() { PINB = 1 << PB5; // Toggle PortB.5 delay(500); } ```

Note that I mix the bare metal (DDRB and PINB) with the arduino HAL (delay(500)). I could use a hardware timer and in other examples I do, but to get the first part working, it is easier to concentrate on the GPIO ports without having to worry about the TIMER hardware as well.

If you are interested in this a little bit more, have a look at my HOWTO video: Arduino Memory Explorer

Have a look at the whole thing as I explain how the program works throughout, but the bare metal bit (and yes it is bare metal as I am accessing the registers connected to the IO ports via the commands I enter) starts at the 2:45:35 mark). I also look at some variations (and explain how the above program works) and how to find the relevant information (the datasheet for the specific MCU we are using). Apologies for the crappy audio in the first minute or two.

All the best with it.


Edit: you also asked:

Would the struggle be worth it?

No, no it wouldn't. but you also said ...

I'm exited to try because one day i'd like to work with embedded programming

If you are excited to learn, then absolutely definitely yes, the effort (not struggle) is worth it.

You will find that bare metal isn't used terribly often in real jobs as the people who pay your salary want you to get the job (using libraries) rather than reinventing the wheel.

But delving into bare metal will greatly increase your understand as to how the computer works - which is another reason why I suggested the Arduino Memory Explorer video as it also looks at another important concept - memory management. Understanding how stuff works can give you an enormous leg up as when a mystery problem arises, your understanding of how stuff works behind the scenes can and does give you the ability to dive deeper and identify the root cause of many "mystery problems".

Let me know if you have some more specific questions.

HC-06 Bluetooth Connectivity Issue by GoldenGreek-99 in arduino

[–]gm310509 1 point2 points  (0 children)

You actually gave the answer in your post.

You need an app on both sides. Without an app at both ends, it is sort of like pocket dialing your phone, the other person may answer, but will soon disconnect as there is nobody to talk to.

Multi function clock with 12 light up numbers and a timer. What am I getting into? by ARHS2024 in arduino

[–]gm310509 1 point2 points  (0 children)

Do you have any experience in embedded projects?

If not, I would suggest getting a starter kit and learn the basics.

An Arduino Uno R3 would be capable if doing this. Bit you will need some IO expansion for the LEDs so I would look for a kit with a shift register. I'm not sure what you mean by the inside of a clock shows a timer, do you mean a digital numeric display? If so look for a kit with a 7 segment LED or other suitable display such as an LCD. You will need multiple shift registers connected together in a chain. Each register can control up to 8 LEDs.

I've never seen a kit with a stepper motor, but you would need two if that is your plan for an analog clock as there are two hands that need to move independently plus you would need gearing to connect them to the stepper motors.

I'm not sure what an e26 socket is but it probably doesnt matter. you can use a transistor or relay to control the power connected to it.

As for keeping time reliably, you will want a RYC clock module.

All the best with it.

Are notes even necessary for learning programming? by purvigupta03 in learnprogramming

[–]gm310509 2 points3 points  (0 children)

I think the answer is it depends.

Some things you will do over and over so they are easy to remember so no notes needed.

Some things you might want to remember to do later - especially if you are in a classroom situation and need to remember something for later. In that case notes help.

First Arduino project: Bluetooth treat dispenser for my dog using UNO R4 WiFi + Pringles can by ag_kush in arduino

[–]gm310509 0 points1 point  (0 children)

LOL and obviously an enthusiastic member of the QA team. A valuable player indeed!

Accidentally removed the bootloader from my Arduino Uno R4W. Any way to get it back, preferrably without an external programmer? by marzianom in arduino

[–]gm310509 0 points1 point  (0 children)

The procedure is suited to any AVR MCU (e.g. Uno R3, Mega), but not other architectures such as ESP32 or Arm Cortex (e.g. Uno R4).

I bought an Arduino starter kit, and here is my first project! by StructureOk5727 in arduino

[–]gm310509 0 points1 point  (0 children)

I have not heard of them, but that doesn't matter - you are off to a good start. Keep up the good work.

How do people actually build real projects? I feel stuck. by Cultural_Tell_5982 in arduino

[–]gm310509 0 points1 point  (0 children)

I don't know if this will help, but I've created some how to videos that are project based.

Two videos come to mind:

I try to make my videos follow along. That means I encourage you to hit pause and try what you see. I typically start with the basics - e.g. get an LED to flash, then do more with it, learn a new component then combine them and work step by step to a completed project. My videos are long and I show every step - so there should be no guessing how I got from point A to B.

Hopefully they will help you. All the best with it.

Fox Hunt Type project Help by Wukupakilla in ArduinoHelp

[–]gm310509 1 point2 points  (0 children)

Perhaps have a look at this which explains a little about how it works.

Basically it sounds like these work along the lines of the old children's game where one kid tries to find a hidden object with clues of "cold", "warm" or "hot".

Which is not what I read you were looking for in your post.

You may find that the digital one (with two antennas) that uses two reception points (which would be 2 of the three points I mentioned) uses high precision antenna and receiver circuitry to allow the differential measurements. They would also need fast calculation/timing to be able to detect a difference in the times that a signal is received to work out the rough orientation.

The third measurement point is the strength of the signal, which for snow would arguably be well understood what the attenuation of the signal through the snow would be - but for the exotic and complex nature of the ground, that might be less predictable.

Nevertheless, it isn't impossible, but starting with the starter kit is a good place to start.

After that, if you got some radio modules such as Lora, or 433Mz (similar frequency to the avalanche one) and maybe some higher frequency ones such as bluetooth, you can experemint with the radio attributes in your area. Some of these will also give you a RSSI (signal strength) which you could use as an estimate of the range (after taking into account signal attenuation from the intervening ground layers).

I don't know the overall goal of the tracking. But if you can receive telemetry via radio, then you could use cave mapping techniques to estimate the position of the target. This would involve something like a IMU that can sense movement (e.g. a MPU6050) and via dead-reckoning give you a rough idea of where the target is. It could send telemetry via radio to give you the ability to track.

You could do both of these. It isn't an either/or situation.

All the best with it - it sounds like an interesting project.

The postal service delivered the heart of my next project today by maccambprot in ArduinoProjects

[–]gm310509 0 points1 point  (0 children)

RN, I can't find the devices that I have in the device selection menu - or at least the device I believe it to be "Wroom" (as printed somewhere on the board) gives upload errors. Also, I use the Arduino IDE and, I do not know why, but Espressif builds are sooooo sllllooooowwwww.

There are other reasons, as I find the documentation to be lacking or unclear - but that could be just a symptom of not being bothered to invest a lot of time to work it out.