Author Topic: So old to learn? Serious problem  (Read 14944 times)

0 Members and 1 Guest are viewing this topic.

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16646
  • Country: 00
Re: So old to learn? Serious problem
« Reply #50 on: November 21, 2017, 12:16:08 pm »
If I were starting then first step would be an Ubuntu computer and learn C. There are a lot of things you can do after the first "hello world", parse some text files and extract all the X characters for example or count the words, rearrange the words to be alphabetical.

Yeah, learning string manipulation is  C is sooooo much more fun than (eg.) connecting up 8 LEDs and trying to get them to flash in sequence.

Not.
« Last Edit: November 21, 2017, 12:18:05 pm by Fungus »
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16646
  • Country: 00
Re: So old to learn? Serious problem
« Reply #51 on: November 21, 2017, 12:17:24 pm »
Interestingly one doesn't need to know C++ to use the Arduino

But it helps.

Especially the bit about classes. :popcorn:
 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5319
  • Country: gb
Re: So old to learn? Serious problem
« Reply #52 on: November 21, 2017, 12:34:39 pm »
Another Vote for Arduino, specifically UNO or a variant of that.  However more important than that board is to choose a project : )

slightly off topic but the Arduino libraries are written in C++.  Interestingly one doesn't need to know C++ to use the Arduino assuming you read the reference information.  When searching for help you are most likely going to want C programming references if you are new to programming.

https://www.arduino.cc/reference/en/

I agree Arduino is the least path of resistance.

While Arduino is indeed C++, it's more C with classes than the purist's form of C++, making it far more approachable for a non-computer scientist IMHO. It also makes it reasonably easy to port the plethora of Arduino peripheral libraries to C for bare metal applications ;-)
 
The following users thanked this post: ogden

Offline 001Topic starter

  • Super Contributor
  • ***
  • Posts: 1170
  • Country: aq
Re: So old to learn? Serious problem
« Reply #53 on: November 21, 2017, 01:37:40 pm »
So many opinions
Thanx

But what is the way to learn atmel ICs COMPLEX?

- instal CVAVR 
- make 5-wire programmator
- clone some simplest project
- modify firmware
- write my own firmware

is it ok?
 

Offline NivagSwerdna

  • Super Contributor
  • ***
  • Posts: 2495
  • Country: gb
Re: So old to learn? Serious problem
« Reply #54 on: November 21, 2017, 01:50:59 pm »
IMHO Proper AVR development is something you should defer... the tools are a relative PIA compared to some other devices.

If you want to blink LEDs, drive a few motors, read a few sensors the Arduino UNO clone of China fits the bill nicely.  No debug but the Arduino IDE is perfectly useable.

However, if you want to do something a bit more involved... ESP8266, NodeMCU etc allow you to get connected... internet door bell, garage opener etc

If you want to do cameras, video etc then RPi?

What is you intention?  Are you doing this for fun or profit/employment?  If for fun then you need to find a fun project... if for employment... not sure..

 

Offline 001Topic starter

  • Super Contributor
  • ***
  • Posts: 1170
  • Country: aq
Re: So old to learn? Serious problem
« Reply #55 on: November 21, 2017, 01:56:53 pm »
See first post
I`m sertified electrician and make electronix for fun. It is way to have my brains live.
First of my interest is COM port usage, ADC readings and indication with 7-segment or 1602 display
« Last Edit: November 21, 2017, 01:58:41 pm by 001 »
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16646
  • Country: 00
Re: So old to learn? Serious problem
« Reply #56 on: November 21, 2017, 02:52:24 pm »
IMHO Proper AVR development is something you should defer... the tools are a relative PIA compared to some other devices.

Yep. Forget bare chips for a while.

See first post
I`m sertified electrician and make electronix for fun. It is way to have my brains live.
First of my interest is COM port usage, ADC readings and indication with 7-segment or 1602 display

What do you want COM ports for? The Arduino Uno shares COM for uploading sketches so you have to be careful. Arduino Leonardo has two COM ports, Arduino Mega has four of them.

 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: So old to learn? Serious problem
« Reply #57 on: November 21, 2017, 04:05:37 pm »
IMHO Proper AVR development is something you should defer... the tools are a relative PIA compared to some other devices.

Yep. Forget bare chips for a while.

Right. You shall start with easy lessons first. When you outgrow Arduino - then move to advanced class. As bare metal choice I would suggest to skip all the AVRs and PICs but go straight into ARM microcontrollers camp. Maybe using some intermediate step through mbed.org, or maybe not.

The Arduino Uno shares COM for uploading sketches so you have to be careful.

Yet it is still possible to read ADC data through COM port, right?

While Arduino is indeed C++, it's more C with classes than the purist's form of C++, making it far more approachable for a non-computer scientist IMHO.

Thank you for explaining. Somehow missed that "C with classes" part completely. I am advising Arduino for beginners w/o actually using it myself [ups] 8) - because when I started embedded bare metal programming, there was no Arduino. Had to learn it hard way - using pure C and DEC PDP-11.
 
The following users thanked this post: 001

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16646
  • Country: 00
Re: So old to learn? Serious problem
« Reply #58 on: November 21, 2017, 05:18:21 pm »
The Arduino Uno shares COM for uploading sketches so you have to be careful.

Yet it is still possible to read ADC data through COM port, right?

The COM port goes over USB to the PC so there's no problem at all sending data to the PC (eg. ADC).

The problem comes when you want to connect an Uno to another RS232 device using the hardware UART. The pins are shared with the PC interface so sketch uploading will fail unless you disable the other device when the Arduino is in a reset state.


 

Offline 001Topic starter

  • Super Contributor
  • ***
  • Posts: 1170
  • Country: aq
Re: So old to learn? Serious problem
« Reply #59 on: November 21, 2017, 05:28:06 pm »
The problem comes when you want to connect an Uno to another RS232 device using the hardware UART. The pins are shared with the PC interface so sketch uploading will fail unless you disable the other device when the Arduino is in a reset state.

 :scared: This is my main target
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16646
  • Country: 00
Re: So old to learn? Serious problem
« Reply #60 on: November 21, 2017, 06:08:19 pm »
The problem comes when you want to connect an Uno to another RS232 device using the hardware UART. The pins are shared with the PC interface so sketch uploading will fail unless you disable the other device when the Arduino is in a reset state.

 :scared: This is my main target
Options:

a) Use SoftwareSerial and any two other pins (not good for high speed transfers)
b) Get an Arduino with more UARTs, eg. a Leonardo or a Mega.
 
The following users thanked this post: 001

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: So old to learn? Serious problem
« Reply #61 on: November 21, 2017, 06:28:21 pm »
But what is the way to learn atmel ICs COMPLEX?

- instal CVAVR 
- make 5-wire programmator
- clone some simplest project
- modify firmware
- write my own firmware

is it ok?

Indeed it is ok. After all many of us did this. Why you need to learn hard way?

Actually you can try it all. For cheap. Ebay prices: USBASP (AVR programmer) ~3$, 830-point breadboard + jumper cables ~4$, Arduino UNO (just board, not kit) ~4$. STM32f103 board ~2.1$, ST-Link STM32 programmer ~2.6$

 
The following users thanked this post: 001, Richard Crowley

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: So old to learn? Serious problem
« Reply #62 on: November 21, 2017, 06:56:37 pm »
The point of most recommendations re: Arduino is that you have to start somewhere.  Since everything that can be done with an Arduino has already been done and is documented on the Internet, you have plenty of help both in terms of hardware and programming.  Don't dismiss this lightly!

Yes, I started on bare iron, the Arduino didn't come along for 40 years or so.  If I need something done 'right now', I reach for an Arduino UNO.  If I want it to run FAST or I need more hardware features, I grab something else.  The original mbed is my #2 choice followed by various LPC2xxx ARM chips.  If I have to, I'll use STM32F chips but I'm not proficient.

If I were a little more confident of the learning curve, I would join forum user Danadak in recommending the Cypress PSOCs.  The programming infrastructure is magnificent.  You basically drag and drop gadgets on a sketch and then generate the program.  The IDE creates all of the required code to use the devices and they even create main.c.  Your job is to flesh out the details but you don't need to worry about the underlying peripheral code.  It is already done - you just use the predefined functions and macros.  Documentation is outstanding.  Cypress has done a terrific job with this product line.

I like the PSOC 4s a lot and there are quite a few videos - search for 'psoc video'.

Alas, that is probably a step too far at this point.  The Arduino is the way to start.

 

Offline cdev

  • Super Contributor
  • ***
  • !
  • Posts: 7350
  • Country: 00
Re: So old to learn? Serious problem
« Reply #63 on: November 21, 2017, 09:25:25 pm »
You can run arduino code on an stm32 board and in the case of the bluepill board its both cheaper and more powerful. See stm32duino.com
"What the large print giveth, the small print taketh away."
 

Offline m98

  • Frequent Contributor
  • **
  • Posts: 614
  • Country: de
Re: So old to learn? Serious problem
« Reply #64 on: November 21, 2017, 09:54:46 pm »
Maybe you've already seen that page, but if you want to get into Arduino development fast and easy, I'd recommend the following overview page: https://www.arduino.cc/en/Tutorial/Foundations
Feel like going a bit more bare-metal? https://startingelectronics.org/tutorials/AVR-8-microcontrollers/starting-AVR-development/

But don't worry, it's not your age that makes it seem complicated. Right now I'm trying to get into FPGA development, I feel just the same way that I've felt when first beginning to program. And getting LEDs to blink got exciting again.
 
The following users thanked this post: 001

Offline jmarkwolf

  • Regular Contributor
  • *
  • Posts: 115
Re: So old to learn? Serious problem
« Reply #65 on: November 22, 2017, 03:00:22 pm »
I would define a problem... and then solve it.  IMHO it is always easier to learn when there is a reason to learn.

Well said, and very true.

 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: So old to learn? Serious problem
« Reply #66 on: November 23, 2017, 02:00:29 am »
IMHO Proper AVR development is something you should defer... the tools are a relative PIA compared to some other devices.

If you want to blink LEDs, drive a few motors, read a few sensors the Arduino UNO clone of China fits the bill nicely.  No debug but the Arduino IDE is perfectly useable.

However, if you want to do something a bit more involved... ESP8266, NodeMCU etc allow you to get connected... internet door bell, garage opener etc

If you want to do cameras, video etc then RPi?

What is you intention?  Are you doing this for fun or profit/employment?  If for fun then you need to find a fun project... if for employment... not sure..
For the love of dog, unless you know exactly what you're doing, do NOT network things! Securing things properly is far from trivial, catches even the big boys out and can cause lots of mayhem. A botched together garage door opener. What could go wrong?
 

Offline hermit

  • Frequent Contributor
  • **
  • Posts: 482
  • Country: us
Re: So old to learn? Serious problem
« Reply #67 on: November 23, 2017, 04:07:42 am »
@001.  You get talked out of or into this yet?  :D  Is the Arduino underpowered and quirky?  Yeah.  Is it a stupid simple way to start?  Yeah.  Knowledge transferable?  Yeah?  Inexpensive to get started?  Yeah.  I'm sure I'm not the only one that delays way too long trying to make a perfect choice?  Just so little downside to starting with the Arduino though.
 
The following users thanked this post: 001

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: So old to learn? Serious problem
« Reply #68 on: November 23, 2017, 04:14:08 am »
@001.  You get talked out of or into this yet?  :D  Is the Arduino underpowered and quirky?  Yeah.  Is it a stupid simple way to start?  Yeah.  Knowledge transferable?  Yeah?  Inexpensive to get started?  Yeah.  I'm sure I'm not the only one that delays way too long trying to make a perfect choice?  Just so little downside to starting with the Arduino though.
Can you please point me to an accessible microcontroller family that isn't quirky? ;D
 

Offline woody

  • Frequent Contributor
  • **
  • Posts: 291
  • Country: nl
Re: So old to learn? Serious problem
« Reply #69 on: November 23, 2017, 08:49:22 am »
For the love of dog, unless you know exactly what you're doing, do NOT network things! Securing things properly is far from trivial, catches even the big boys out and can cause lots of mayhem. A botched together garage door opener. What could go wrong?

I could not agree more. Please put the effort in creating thingamajigs that do what they should do flawlessly. If you have time left, get the bugs out. If you still have time left see if you can minimize the power use of the widget. But don't connect it to a network unless absolutely necessary  8)
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16646
  • Country: 00
Re: So old to learn? Serious problem
« Reply #70 on: November 23, 2017, 08:58:22 am »
@001.  You get talked out of or into this yet?  :D  Is the Arduino underpowered and quirky?  Yeah.  Is it a stupid simple way to start?  Yeah.  Knowledge transferable?  Yeah?  Inexpensive to get started?  Yeah.  I'm sure I'm not the only one that delays way too long trying to make a perfect choice?  Just so little downside to starting with the Arduino though.
Can you please point me to an accessible microcontroller family that isn't quirky? ;D

Or 'underpowered'.

I don't get all the people who dismiss AVR chips because they only run at 16MHz and aren't 32 bits. Most of them usually just write blink level programs anyway. :-//

Plus: All those ARM chips run at 3.3V and have trouble lighting up an LED from one of their pins. They also die at the drop of a hat, AVR chips are almost indestructible compared to those things.
« Last Edit: November 23, 2017, 09:16:05 am by Fungus »
 
The following users thanked this post: 001

Offline woody

  • Frequent Contributor
  • **
  • Posts: 291
  • Country: nl
Re: So old to learn? Serious problem
« Reply #71 on: November 23, 2017, 09:18:18 am »
 8)
« Last Edit: November 23, 2017, 10:08:33 am by woody »
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: So old to learn? Serious problem
« Reply #72 on: November 23, 2017, 09:24:01 am »
Or 'underpowered'.

I don't get all the people who dismiss AVR chips because they only run at 16MHz and aren't 32 bits. Most of them usually just write blink level programs anyway. :-//

Plus: All those ARM chips run at 3.3V and have trouble lighting up an LED from one of their pins. They also die at the drop of a hat, AVR chips are almost indestructible compared to those things.
Yes, you can do quite a lot before running into the 8 bit limit. Better yet, you'll have a better understanding of the capabilities of both 8 and 32 bit chips because of this experience.

In most cases, running into a limit indicates you need to sharped your skills, rather than it being a technological limit. That will happen on 32 bit chips too.
 

Offline 001Topic starter

  • Super Contributor
  • ***
  • Posts: 1170
  • Country: aq
Re: So old to learn? Serious problem
« Reply #73 on: November 23, 2017, 11:25:48 am »
Awesome posts!
Thanx!

I`m going with C&AVR
 

Offline hermit

  • Frequent Contributor
  • **
  • Posts: 482
  • Country: us
Re: So old to learn? Serious problem
« Reply #74 on: November 23, 2017, 03:11:19 pm »
@001.  You get talked out of or into this yet?  :D  Is the Arduino underpowered and quirky?  Yeah.  Is it a stupid simple way to start?  Yeah.  Knowledge transferable?  Yeah?  Inexpensive to get started?  Yeah.  I'm sure I'm not the only one that delays way too long trying to make a perfect choice?  Just so little downside to starting with the Arduino though.
Can you please point me to an accessible microcontroller family that isn't quirky? ;D

Or 'underpowered'.

I don't get all the people who dismiss AVR chips because they only run at 16MHz and aren't 32 bits. Most of them usually just write blink level programs anyway. :-//

Plus: All those ARM chips run at 3.3V and have trouble lighting up an LED from one of their pins. They also die at the drop of a hat, AVR chips are almost indestructible compared to those things.
I was just being a bit tongue and cheek.   The purpose of the post was just to see if the OP had made a decision.  But yeah, the 328 is overkill for a few things I have in mind. ;)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf