Arduino Genuino Uno by Arduino
Arduino Uno is a microcontroller board based on the ATmega328P and one of the most popular Arduino models. It has 14 digital input/output pins (of which six can be used as PWM outputs), six analog inputs, a 16 MHz quartz crystal, a USB connection, a power jack, an ICSP header, and a reset button.
The UNO can be programmed with the EZB firmware for various capabilities when connected to ARC. The tutorial to program the EZB firmware can be found HERE. This hardware was added to ARC.
Download Firmware Sourcecode
- DJ's Standard UNO v1 Firmware Sourcecode (Feb 4, 2019)
- DJ's UNO Firmware with Wheel Encoder Counter (Feb 8, 2019).... uses THIS skill.
- Tutorial to compile and upload the firmware
Board | PWM Pins | PWM Frequency |
---|---|---|
Uno, Nano, Mini |
3, 5, 6, 9, 10, 11 |
490 Hz (pins 5 and 6: 980 Hz) |
Mega |
2 - 13, 44 - 46 |
490 Hz (pins 4 and 13: 980 Hz) |
Leonardo, Micro, Yún |
3, 5, 6, 9, 10, 11, 13 |
490 Hz (pins 3 and 11: 980 Hz) |
Uno WiFi Rev2, Nano Every |
3, 5, 6, 9, 10 |
976 Hz |
MKR boards * |
0 - 8, 10, A3, A4 |
732 Hz |
MKR1000 WiFi * |
0 - 8, 10, 11, A3, A4 |
732 Hz |
Zero * |
3 - 13, A0, A1 |
732 Hz |
Nano 33 IoT * |
2, 3, 5, 6, 9 - 12, A2, A3, A5 |
732 Hz |
Nano 33 BLE/BLE Sense |
1 - 13, A0 - A7 |
500 Hz |
Due ** |
2-13 |
1000 Hz |
101 |
3, 5, 6, 9 |
pins 3 and 9: 490 Hz, pins 5 and 6: 980 Hz |
awesome, can we provide better documentation than this: https://synthiam.com/Support/Hardware/Arduino-Genuino-Uno
Hi
Step 1 for Arduino
Plug in your Arduino - Com ? check which com you are on
set the baud to 5600 in the COMUSB Connection's tab in ARC
Download this firmware to your Arduino
https://synthiam.com/Support/Hardware/Arduino-Genuino-Uno
Terry & ezang, I moved your comments to here because you responded in an unrelated thread.
There are tutorial videos above, and ezang has it correct - you press the CONNECT button on ARC to connect it to an Arduino after the firmware has been uploaded. The tutorial videos above would be helpful to you if you have never used an Arduino before.
In addition, Arduino has a lot of information about their product on their website, including programming syntax, etc.
Thanks DJ, however, I am EzAng, not Nomad, my buddy lol
Haha - oops (Fixed). my bad ezang
I use Adruino all the time What i would like to do is call the sketch functions from EZ (possible)
You sure can - extend the EZB command protocol and receive it on the Arduino firmware. There's a live hack where I did that; you'll see it here: https://synthiam.com/Support/Skills/Navigation/Wheel-Encoder-Counter?id=17591
It looks like the meat starts at the 22-minute mark
It does require understanding programming, so you will have to have prior experience. The idea is you add a robot skill that extends the ezb communication protocol with new commands. Then, you execute your methods on the EZB firmware side (i.e., Arduino) when the command is received.
oh, i just thought as well - it doesn't sound like you want the EZB capability of the arduino and instead just want to execute methods you have locally compiled into the arduino. That is a much easier way.
Just connect the Arduino to the PC (via usb) or EZB (via UART).
In your Arduino, have a simple "sketch" like so....
then, in ARC you only need to send the command via the COM or EZB UART.
I use JavaScript so the COM commands are here: https://synthiam.com/Support/javascript-api/COM/write and the EZB commands are here: https://synthiam.com/Support/javascript-api/UART/hardwareUartAvailable
yes that is what i want to do
what is the wiring connection from the Adruino Uno (in this case) to the EZ
What kind of ezb are you using? But the wiring would be from the arduino uart to the ezb uart. The tx to rx. Rx to tx. And a common gnd. You can look at the data sheet for the ezb that you’re using to find the uart ports. They’re all different based on the manufacturer.
ahhh so same way to hook up a adruino to a maestro.. that makes sense... then in the script in the EZ, I can call an adruino function...
Not really. In the script in ARC you send a value. And on the ardunio the value gets read and calls a method.
electronics is like playdoh, and there’s no standard across companies or products. So it’s always a bit of research to get the info necessary to connect things together. In this case, you’ll be having an arduino be a slave to an ezb over a uart.
The arduino sits and waits for a value (command) to be sent over the uart. Then, the arduino calls the appropriate method by the value.
there really isn’t an easier way to do it.
if you’re wanting to connect a maestro to an ezb via uart, the same thing would apply. Connect the wires and send uart commands from arc.
TerryBau, using the Maestro servo Controller, Arduino, EzB, code, you got my curiosity, what are you building?
I use the ARC , Auto Position - Arduino and PCA 9685 for 16 servos
Like from ARC you send a value of 0 over the uart, the arduino will receive it and execute the myFunc1() method. Thats the example I posted above
you can’t call myFunc1() from ARC into the ardunio. That’s because once you compile the code, the myFunc1() is just a memory address and doesn’t exist anymore. It could even be multiple memory addresses if the compiler is smart enough to in-line. You can’t call a method by it’s name after it’s compiled to machine code. So you add IF conditions to call the method from a value.
ahhh that is even eaiser DJ
EZAng, I am building a B9... currently I have EZ doing the API calls (stock price, weather, and voice recognition), some servo movements, etc... but on my writs and claws, in the Maestro IDE, you can create animation sequences, with many options to slow or speed up servos, or control how smooth they run... then you save each sequence and call it from Adruino or in my case with B9 just running it on timers and delays... since Maestro has no random built in function... but what I lose is if B9 says, "Oooo I could pinch you" I can't sync that voice call from EZ to the Maestro to call a claw movement... making sense? I love the delays, randoms etc, as it gives some natural random ability as I mix that with some Adruino calls to some of my motors using a motor board... but I want to start syncing all this together with EZ to make it more cohesive
I learned all about Maestro in my full size Star Wars Chopper build to move his utility arm, head arms, tools, door panels etc... all being called from a XBox controller
Sounds cool! I still recommend doing that in the auto position. You can use the same speed and acceleration and velocity and such. You’re familiar with the maestro but you will be limiting yourself if you don’t learn the Auto Position robot skill.
remember that the maestro animator was influenced by the auto position. That’s why they use the same terminology. The difference is that the Auto Position is integrated with ARC and has a ton more features. Since you’re technical, i know you’d be doing a lot with the Auto Position once you learn it
I just don’t want to see your robot being limited
also if you’re using speech recognition for that stuff - have you used the conversation menu robot skill yet? That’s pretty powerful. It’s much easier than the dialog flow.
not sure i know that skill for the conversation... for now, I know it is in another thread... I use one Voice Rec for a call word, so the robot wakes up, pauses that Voice Rec, supplies it to Bing Voice and AI Chat, stores the variable of what it heard and takes action... the issue here is we are limited to the original actor's voice clips we have...
I will have to look at that auto position...
Sounds like a great project, good luck ...
I agree with DJ, Auto Position is the ticket
Dave Schulpius is the B9 specialist - First Real Look At My Ez-b Controlled Full Size Lis B9 Robot
Oh right the actors voice. That’s pretty cool though that you have it. I remember seeing a program from adobe that allows modeling custom voices from samples. I don’t know what came of it.
There’s 730 robot skills, so probably a lot that you didn’t know about. There’s a few places to browse for them. The robot skill store on the products page, or in the support section.
I usually use this page to start from: https://synthiam.com/Support/Skills/Skills-Overview
a few people jump right to the community and ignore the rest of the website - so they miss robot skills, manuals, and all sorts of goodies. The community is really a timeline of updates. So if you’re building your robot based on updated stuff, you’ll miss things that have been there for a while
i am looking at that now, going to try it out on of my servos... oh yea I know Dave he is the man for sure when it comes to B9
my builds: https://www.flickr.com/photos/192838739%40N07
On that link that you supplied, I see may wonderful pictures, which pictures are yours?
All those photos are of my builds, not sure I have any photos of my IG11
So besides robot stuff, you are a photographer?
nah, just documenting my builds
You have to copy and paste the URL @EzAng if you click on it Synthiam parses the URL and only sends you to Flickr main page.
Nice Builds @TerryBau I love your B9. Amazing work
Oh I see Nick, thought I was only to click on the link like all the others links
I tested - I copied and pasted to my word pad - clicked ctrl and clicked the link went to his robot
copy and past takes me to his robots
just not off this page
Weird that flicker uses the @ character in a url without encoding it. https://stackoverflow.com/questions/19509028/can-i-use-an-at-symbol-inside-urls
oh i see the browser is decoding it. well isn't that something...
@DJ.
Can the ARC Arduino Uno support this Arduino Uno Sensor Shield... https://www.jsumo.com/arduino-uno-sensor-shield if so how many servo port can the Uno use?
Thanks in advance.
That is merely a breakout board for the uno so it’ll work. I don’t know how many servos an uno can do. I’m guessing one for every digital port according to documentation - but not all will have hardware accuracy. There’s information at the top of this page about that
Thanks for checking DJ. Looks like 6 servos or 6 PWMs, What are the other 6 used for quoted on the top of this page..."Number of servos 12" but it does not say which port used for 12 servos. Unless I read it wrong.
Thank you!
the Pins have numbers next to them. See this screenshot
I seen that, Thanks for your time DJ.
You can try other pins as well, but I can’t verify they work. Arduino is a bit unstable because there’s so many hardware types and open source has no accountability for quality