I have a fairly fundamental question about USB cameras…
I would like to be able to take still pictures with USB cameras using a microcontroller and I am looking at the way this problem is solved on forums like this to try to understand how to do it. I understand that USB cameras would act as a slave device so I would need my device to act as a host (with an Arduino this might be done with a USB shield).
However, I have read several posts which say that not all USB cameras are the same and that one would need to create a driver for each one individually. I don’t understand this because I can plug any USB camera into ‘normal’ USB hosts such as Mac, PC, Raspberry Pi, mobile phones, etc. and they all seem to work fine - they don’t appear to need special drivers.
So what’s going on here? Do these hosts have thousands of drivers pre-installed? Or are all USB cameras essentially the same?
BTW, I am asking this question because I want to understand what is going on for a separate project - I know that Arduinos would probably be too short of memory, etc. to make a video camera on an Arduino a realistic prospect.