Showing posts with label Arduino. Show all posts
Showing posts with label Arduino. Show all posts

Wednesday, March 1, 2017

RoboDyn and their bad support!

Greeting folks, I started buying some RoboDyn products from AliExpress and they were good boards and sensors and worked well.  Then about 4 months ago I had an issue with one of their Arduino DUE clones. The Programming Port stopped functioning.  So I wrote them using the builtin Messaging system about this issue and they asked for a photo/screenshot of the Arduino IDE and it’s error message, which I provided. 

Now, this board was working fine and just suddendly stopped working, so his response threw me, he asked me to use version 1.7 of the IDE.  So, I responded, that. “Why would the IDE verison 1.6.7, 1.6.8 and 1.6.9, work fine and then suddenly stop working, with only the Programming port affected: the Native port worked fine for it’s purpose. 

Screenshot 2016-11-09 02.27.39

The issue, was that it no longer showed up in the IDE, no matter what computer, 3 of them or what USB port I used or what IDE version I used, 6 of them.  Then the waiting game started, after a MONTH, he finally responded that he’d like to see a “video that you operated.”  This is really strange and after a day to think about how to do this with only my phone, tried to film it.

I posted it on Dec. 10th and I have NOT heard from at all since then and I have been messaging him about every 2 weeks since then.

This to me, and maybe to others is really bad form for a company doing business on the interent, no matter where they are from.  I didn’t take it from ICS Station and I am not going to take from RoboDyn or anywhere else that doesn’t support their products once it arrives at it’s destination.

What are you thoughts?

Sunday, February 14, 2016

Interview with Boian Mitov of Mitov Software by Kurt Roesener

 

[1]  How did you get into Computer hardware and other hardware related components?

When I was a kid, my father was mathematician, but his hobby was electronics. He was often building electronic gadgets. In the mean time I was increasingly getting fascinated with robots. My father had a number of books on electronics, and I tried few of them. The one that had real impact was a book on practical cybernetics, and electronics. It had a huge number of various electronic projects, everything from toys, to cybernetic animals, to robots, and even building your own lasers, and radio telescopes.

I was not able to build most of the project, but I felt the shear power you can get from the electronics, and I was hooked.

For couple of years, I played with simple electronic devices – photo relay, timers, and amplifiers. Slowly I drifted toward the idea of building my own cybernetic animal. At that time an article appeared in one of the Magazines that I was subscribed to about building a cybernetic chameleon. Basically, you put it on something colorful and it lights a light with the corresponding color. I decided to make a more complex version with multiple sensors, including sound, light sensor, bumper, and edge detector (So my chameleon will not fall off the table).

The project took about a year to complete, and it the process went trough few iterations, as I kept learning more and more. It started with mostly relay modules, and salvaged, germanium transistors, and ended with TI 74 series TTL components, and fairly modern silicon transistors.

By the end of the project I was reasonably proficient in digital circuitry and logic components.

It was exactly this time that I stumbled upon another important book by James Coffron.

At that time English language literature was not commonly available in Bulgaria, and rarely translated to Bulgarian. There were however couple of bookstores for Russian books and they were often stocked well with Russian translation of English language books. It was in one of those stores where I discovered the book. It is long gone, the name was in Russian, probably not translate word by word, but it most likely was “Practical Hardware Details for 8080, 8085, Z80 and 6800 Microprocessor Systems”.

I never was very good in Russian, but for this book, I scrambled whatever Russian I knew, and read it. It opened my eyes to the microprocessor architectures, and I was hooked for life. Other books soon followed and I gained decent knowledge, especially of the Motorola 8600 processors. At that time Bulgaria was manufacturing a Motorola 8600 copy, and I set to get myself one together with some EPROM, RAM, and PIA (A programmable I/O module). The parts were not sold to the public, so during my summer vacation, I visited as many institutes and factories, that I could, begging for parts.

At the end of the vacation, I had succeed to collect enough parts to put together my own small computer. I had the processor, the PIA, RAM, EPROM, some logic chips, decoders(for the addressing space), some keys, and 7 segment display.

While I was waiting for the parts, I was busy making different designs. I was also studying 6800 Assembler.

I knew that the parts alone are not enough. I needed some execution environment capable of controlling the keyboard, and the display. Nowadays this is called BIOS, at that time it was known as JBUG. I did not have access to any existing code, so I set to write my own JBUG. I did not have text editor, assembler, or access to any other computers, so I started writing it on paper, and debugging it on a blackboard. I would have my grandmother helping me by drawing pictures of the registers, and the stack on the black board, and updating the values in them, following my instructions, while I would be tracing the execution line my line, on the paper.

By the time the pars arrived, the software was already prepared and grandma, debugging.

I did not have any universal breadboards, so I made my own, and soldiered the components.

While I was doing that, some Apple ][ clones, became available, and I got access to them. I also found an MC6800 Cross Assembler called Merlin 6800. I also got access to Apple ][ EPROM programmers, so I entered my code in the assembler, and programmed it.

I plug the chip, and it worked... well almost. The keyboard did not work, because I had not noticed that the IRQ is disabled by default after reset, and you need to enable it. After enabling the IRQ, my first computer was fully operational.

From there I set to build a mobile robot with the new computer, adding sensors to the PIA, and motors to drive the robot – essentially a smart car.

I went on to win 2 national prizes in “Practical physics” for students 2 years in a row with the cybernetic chameleon, and the robot.

[1Q2]  Which do you think was the most innovative product for you during this time in your life?

With no doubt the most innovative product was the 6502 processor. This chip was revolutionary on many levels. Unlike 6800 it was able to be clocked with a single TTL signal. When introduced it was order of magnitude cheaper than anything else on the market, and forced other processor vendors to drop prices. It also is probably the first processor to introduce RISK like concepts. It had a reduced number of instructions, but increased number of addressing modes for them. Very much all instructions were vary fast executing at 2-3 clock cycles. Finally it had a special treatment for addresses 0-255, treating them almost like a set of 256 slightly slower registers. This made it extremely fast processor outperforming most 16 bit processors at the time, even when they were clocked at much higher frequencies.

[2]  What got you interested in Software and Software Development?

The development of the JBUG for my first computer surely was a crash-course in Assembler software development. At the same time as I mentioned the Apple ][ clones also became accessible and I started learning Applesoft Basic, and 6502 Assembler. In the years to follow I gained more knowledge of software development, and learned some UCSD Pascal for Apple ][. Most of the software I wrote in those early years was focused on hardware control, and communications, although I also did some small modifications of a Basic interpreter for MC6800 as part of work I did on another MC6800 personal computer design of my own. In the late 80s I started learning some C as it was the language of choice for cross-platform hardware related development. In 1989, as the PCs were becoming more accessible, I got my hands on an Borland C++ 1.0 Beta, and loved it from the start. Here was an Object Oriented language with the full power of C to access hardware. In the following few years while still doing a number of hardware designs, and writing firmware and Assembly code including development of a software simulator for Oric clone, I also gained increasing experience with Object Oriented Programming. By 1993 I was working with couple of other people on joined development of controllers for 8 bit computers – Apple ][ and Oric compatible. The development was cool, but the market was shifting away from the 8 bit systems and into PCs and the need for controllers was decreasing. At that time another company with which we had business relationship suddenly needed help, and hired us to develop a fairly complex PC Based telex system. Since I was the only one with some C++ knowledge, I ended up developing most parts of the software. In retrospect, this was the moment in time when I transitioned from hardware designer into software. In the following 3 years, I worked on a number of Object Oriented Software projects with increasing complexity. They all had some form of interaction with specialized hardware, but the majority of the code was pure software. By 1996 I had become practically purely software developer, although I did one last hardware development in 1995-96 – an Internal Circuit Emulator for Z80 with a Z80 disassembler.

In 1996 I moved from Bulgaria to the US, and continued with more and more complex software development, although always related with some custom hardware control, ending up with the latest development of Visuino, so the truth is that what got me interested in the software was my desire to control the hardware.

[2Q2]  Since you now develop in Delphi, which is an off shoot of Pascal, is it your all-time favorite language now?

It is difficult to say all time favorite. I used to be a huge C++ fan, and for long time C++ served me well, and was at the cutting edge of the technology, introducing object oriented programming, and templates. Unfortunately C++ had fallen significantly behind, and has completely lost its edge over the rest of the languages. In the mean time Delphi has evolved from a relatively conservative old fashion procedural programming language to a very modern cross platform one, introducing Object Oriented Programming, advanced modern RTTI, Anonymous methods and support for functional programming, and attributes, and support for multiple platforms. Although there are a lot of things I don't like in Delphi, at present there are simply no other choices. C++ has only symbolic RTTI, and lacks any support for Attributes, while Java has no support for low level real time hardware control, real time tasks, and due to its non deterministic Garbage Collection implementation is very error prone, and memory/resource leak prone. Java also lacks attributes support. .NET has the same Garbage Collection issues, in addition for most parts is Windows only, and is not well suited for real time tasks. So while I don't really love Delphi, I use it as it is the only available choice that has the features I need.

[3]  When and How did you notice Arduinos and other MCU type hardware?

2014 was a very stressful year. I had been handling 3 big contracts, as well as maintaining all the Mitov Software products. One of the contracts was a particular worry. I was paid only a small fraction of the work, and that barely covered the money I paid to some subcontractors to help me with some of the involved items, but I was promised 6% shares in the company, as compensation for the rest. The problem was that the CEO made similar deals with other people, and then accusing them of not delivering what they were supposed to do refusing to give them the shares, and threatening to sue them in order to make them quit. By the end of 2014, there were all indications that the same play was in motion in my case. I will not bore you with all the details of this nasty game and how it played out at the end, but all this had taken heavy toll on me. I needed to have something to help me relax my nerves.

I always wanted to make a version of OpenWire Studio to program Firmware. I tried 2 times before, and each time the other side decided not to pursue it. In the mean time I have been watching the Raspberry Pi and Arduino development, and got increasingly excited about them. Since of the two, the Arduino is closer to a micro-controller, I liked it better for controlling hardware. I thought that playing with Arduino will be the perfect way to relax my nerves, and since it was Christmas, I ordered myself and Arduino KIT. It arrived, but I did not have a chance to really start playing with it until January 2015.

When I finally started digging into it, I was a bit shocked. It was supposed to be an easy to use platform for everyone. I was supposed to be able to put together and program whatever I want in just few minutes. The hardware, was fine, I was able to hook my projects in no time, however the first time I tried to control multiple sensors and outputs, it became apparent that the software is a considerable challenge even for me. Hooking Servo, photo resistor, LED and Ultrasonic Ranger simultaneously was not an easy task to solve, especially with the different timings on the Servo. A stepper motor was even more challenging. While trying to come up with some way to make it easy to manage, I came up with an architecture that was also perfect for OpenWire Studio integration, I started working on the idea, and in 5 days I got my first working Visuino prototype, and demonstrated it during the Delphi Week in February, just few hours after it became operational.

[3Q1]  I know you are a bit partial here, but do you think Visuino will be the WAY to program and other visual IDE solutions OR do you think the old coding by hand method won't fade away?

Traditional procedural programming has been around for about 200 years, ever since Ada Lovelace developed the first code for the Charles Babbage's mechanical computer. Much the same way as high level languages have not made Assembly language development disappear, graphical programming is unlikely to make other forms of programming to disappear. It simply is higher level of programming. The concept is not completely new. As most of the modern computing concepts it can be traced back to PARC (Palo Alto Research Center), and the team there. I was shocked to see last year, and old presentation of Small Talk graphical programming. It was not at the same level as OpenWire and Visuino, but the vision was there. It seems like everything we have come to enjoy nowadays really comes from PARC, from the Graphical Windows based UI, the document drag and drop, the mouse, the networking, the object oriented programming, and finally the graphical programming. It all was envisioned and initially prototyped at PARC, and we all are just following in the footsteps of those PARC giants. While all of the other concepts have finally been adopted, and have come to dominate the industry, the graphical programming is yet to reach it's full potential. Visuino is a small step in this direction. If the success of the other PARC technologies, is any indication, the Graphical Programming holds a huge promise, to become the dominant way of programming.

Conclusion by Boian Mitov

When Apple ][ arrived with built in Basic, it made programming popular among non developers, and inspired a whole generation to pursue carrier in technology. The Arduino boards make it very easy to connect sensors, displays, and actuators, but do not make software development easy for the average person. Visuino was envisioned, and created from the ground-up to make it possible even for somebody with absolutely no programming knowledge to be able quickly and easily to design software to control those peripherals, and thus holds the promise to inspire another technology generation in the same way.

When the computer industry was born, two aspects of it emerged. The Hardware and the Software. While we all know that a hardware element, can be modeled and implemented in Software, the tools and approaches to design software and hardware differ a lot. With the introduction of FPGAs the difference between Hardware and Software capabilities became even smaller, but the difference in the development approaches remains. The Graphical data-flow development tools offer a way to bridge the gap and to introduce a more uniform way of designing software and hardware, really blending the two together for first time.

Saturday, October 24, 2015

Setting up Visual Studio and Visual Micro for Coding the Arduino.

In this post I will explain out how to setup, Visual Studio 2015 Community Edition and Visual Micro, the plug-in that allows users to code INO files like a Professional.

The Visual Micro plugin allows for greater control over your sketches.  


This is from the main page, 

"IDE features such as:- see/edit library sources, jump to code definition, jump to compiler error, class explorer, intellisense, remembers board and Arduino version per project, code completion and a super fast compiler make learning and programming Arduino faster and easier."

First, we need to download VS 2015 Community, you can get it here:

https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx
Be sure to choose the left most option button.

Now for Setup of VS 2015 Community, This is an Important note from the Visual Micro Site:

Visual Micro requires C++ to be installed as a Visual Studio language. If you did not activate C++ when you installed Visual Studio, click "Download" and follow the instructions on that page to add C++ to your Visual Studio installation.



 All three of the C++ options need to be checked off for the Visual Micro plugin to work correctly!  
During this is install, it will take a while, you can download the plugin, from here:
http://www.visualmicro.com/page/Arduino-Visual-Studio-Downloads.aspx
The default options for the install should be fine.

Once you have that installed you are ready to setup VS 2015.
The first thing I did was Turn Off Tutorial mode, if you leave it on, and sometimes you might want to, it creates 'Breakpoints' in your sketch.  All you need to do is 'un-check' it under the Visual Micro menu option.



Next you will want to make sure you have the 'Micro' tool-bars loaded, they look like this:



If you don't have this you'll need to 'Right-Click' some place on the existing Menu bar and make sure all 4 of the 'Micro' ones are 'Checked':




Now on to opening a new sketch, When you either select the menu option FILE>NEW>ARDUINO PROJECT or Click on the NEW button then the TEMPLATES>VISUAL C++>VISUAL MICRO, you will presented with this screen:


This allows for 2 options, one is a Blank Sketch and the other is a Blink sketch.  I choose a Blink sketch for this Demo.  On the Right hand side of VS 2015 you should see something similar to this:


If Solution Explorer isn't selected you will need to click on the tab at the bottom to select it.  Then select the Blink.ino file, it should now display in the main window.  At this point it is Important to note that you want to select "Release" just to the left of "x86" at the very top, middle, in this screenshot.


The 'Release' Option allows for actually uploading the entire sketch to your board of choice.
When you are ready to 'Upload' your version of the Blink.ino sketch, you will click on the button that looks like a PLAY button with a circle around it; far right and at the bottom of this screenshot:



That is a brief Tutorial on how to setup these tools for a coding experience that is lacking in the Arduino IDE.

If you have any questions, Please comment below and I will try my best to answer them!

Please note, these setup instructions assume that you already have either the Arduino.cc or Arduino.org IDE installed.




Thursday, July 30, 2015

Raspberry Pi Tips and Tricks and AlaMode Setup - [Part 3]

Experiment with the AlaMode and Visuino

 

Here you can see the Alamode hooked up to a FTDI cable that is connected to my Computer. So I wanted to find out if I could program it in Visuino, so I opened the program and for a simple test I just hooked up a Pulse Generator to PIN 12, 
since I already had an LED connected form the last blog post.  I used the default of the UNO board type, because that is what is compatible with the AlaMode.


Then I uploaded the Arduino IDE code to the AlaMode using the COM port for the FTDI cable and then unplugged the FTDI cable. Next added the Brick Shield to the AlaMode and powered it via the micro-USB connector after changing P16 to the OFF position.  This setting allows the board to use the micro-USB as it's power source without damaging the board.


When I plugged the AlaMode in the green LED starting blinking away, almost like I planned it  :)  

Following this I added a second LED to the Visuino sketch and went through the procedure again.  



Since I didn't want them to blink at the same rate I changed the Frequency of the second, red LED to 0.5, as seem above.

And now you get to see this final piece in action.




NEXT TIME: I visit the pcDuino and what it can do as a Linux board and how to hook up Arduino Shields to it.





Saturday, July 18, 2015

Raspberry Pi Tips and Tricks and AlaMode Setup - [Part 2]

Setting up the Alamode for a Brick Set Shield



In this post I will show you how to setup the Alamode for use with the Seeed Studio Brick Set.  Above you can see the Brick Shield on top of my Alamode on top on my Model B.

All that is needed is to place the shield on top of the Alamode and add power to the Pi.  There's a power LED on the shield that indicates that it has power and is ready for action.

Next we load a lesson from the PDF that I have linked below:
https://dl.dropboxusercontent.com/u/30598156/brickbook-word-v1-03.pdf

I have even added the lessons to my GitHub account page for ease of use:
https://github.com/SalvorinFex/RasPi-Testing/tree/master/INO%20Files/Brick%20Lessons


Here I have Lesson #1 loaded onto the Alamode and when I press the the button the LED stays on as long as I hold the button down.




Next up is Lesson #2, this one uses a Tilt Switch and 2 LEDs, Green for normal and Red for tilted.


You can use the Brick Set with a standard Arduino, but what's the fun in that  :)

Next Time:  I will connect to the Alamode with out the Pi and use the FTDI cable and try to recreate some of these lessons using the Visual IDE: Visuino!







Wednesday, July 8, 2015

Raspberry Pi Tips and Tricks and AlaMode Setup - [Part 1]

Tips for the Raspberry Pi


I have been using my various Pis for going on 2 years now and have done some projects that worked and some that didn't.  I have found some tips that I thought I should pass on.  First off is organizing your SD cards, these little beauties were found at ACE hardware during a sale for a buck each, just $1.


The regular SD cards fit fine and just enough room to slide out when you tip the case over a bit.



Above you can see the size comparison with my Pis in the Coupe cases by Pimoroni. I really like these Pi cases mainly because they allow full access to the GPIO headers and all the ports and look great!

Another Tip for you is if you have several SD cards for your Pis and there isn't room to label them with what you might be doing with each one, I create a "Projects" file on the desktop of each one so I can quickly look at it to see what is installed and what I had planned for it.  I use 'Abiword' for mine but you can use whatever you choose.



The Alamode Board


The Alamode is a board that adds an Arduino MCU to your Pi and allows you to program it with the Linux version of the Arduino IDE.  It's even on sale right now through the MakerShed.com website.

Now to adding the Alamode to the Pi, it just plugs into the GPIO header of the Pi just like a HAT would.

I am just using my Model B but the Alamode is compatible with the B+ and 2 B.

There are steps to get Raspbian setup for the Alamode that can be found here: http://bit.ly/1UCap1b
It is quite lengthy so I won't re-hash the whole thing here but it should not be too difficult to figure out.

Part of those steps is to install the Arduino IDE for Raspbian, version 1.0.1 to be precise.


Even though it's an older version is still functions just fine for everything I have thrown at it.

Next time:  I will visit the Seeed Electronic Brick Starter Kit and compiling some lessons from a PDF related to the Brick set using the Alamode and the Pi.








Friday, June 5, 2015

LCD Shield in Visuino - Tutorial/Experiment - Part 2: The Details

The Details of the LCD Setup Seen in my Last Post

Here is the last project that I posted with screenshots and and examples of how I created it.

After starting Visuino you need to add the standard LCD component, not the I2C one.


This one gives us the the DATA pins that we need to connect to the Arduino.

Next we add the Text Fields that will display on the LCD.  Double Click on the top bar and you will see this come up: The "Elements" window


Now Double Click the words "Text Field", twice.


Those will be added to the left-hand side of this window.  You can now close the window.

Select the LCD component and look to the left-hand side of the Visuino window, here you should see the "Properties" of the LCD block.  Click the plus folder icon to expand it and you should see this:


"Item 0" is the top row of the LCD and "Item 1" is the bottom row, So for the top row we want to type in "Hello World!" for the "Initial Value" As seen here:




For "Item 1" we need to set the "Row" to "1", as seen here:




The next component we will add is the AnalogSnapshot:


And connect it to the "Text Field2" input:


Then add the "Pulse Generator" and connect it to the "Analog Snapshot1":


Now that you are on the "Pulse Generator", look at the "Properties" for it and modify the "Frequency" to "3":




Following that you can add the "Sine Generator" and connect it to the analog input of the Snapshot:


The "Sine Generator Properties" should stay the same and look like this:


Now for my LCD Shield the connections will be different then a bare LCD sans the Shield, but mine connections look like this:


Now you can save the Visuino sketch and connect up you Arduino and then power it all on to upload it.

Let me know in the Comments how yours went.

Tune in next time for some more on Neo-Pixels...











Tuesday, June 2, 2015

LCD Shield in Visuino - Tutorial/Experiment

Testing the New LCD Components in Visuino

Next test I am doing is with the LCD Shield that I picked up with I Gift Card.  Since the LCD component was just added to Beta 35 of Visuino I thought it was very timely to test this.

This is the LCD Shield that I will be using: 


And I used my Freetronics Eleven board for this test, after some help in the basic sketch in Visuino from the creator, Boian Mitov, we came up with this: 


We get a nice Hello World! on the first line and a SINE number on the second.


I have uploaded the Visuino file here.

If you are interested in this program, please visit www.visuino.com for details on joining the Beta Dev Community on Google Plus.





Friday, May 29, 2015

Neo-pixels in Visuino–Tutorial

I just purchased some Neo-Pixel Mini PCBs, they come in a 5 pack and hooking them up and programming is easy.  Each Mini PCB has 6 connections, Din, Dout, 2 GND and 2 5V.  So first we need to solder them together.






Then I hooked it up to my New Metro board, also from Adafruit.




Next, I open the Demo NeoPixelRepeatDemo.owarduino in Visuino.You can get download information at www.visuino.com


Choose the correct settings for your board and upload it and the Neo-Pixel starts going through random colors.  It works!

So, I hooked up all 5 and ran some more tests and these little Neos are great.



Tuesday, May 26, 2015

Welcome to this new Blog of mine!

In this Blog I hope to share with you some things about these Microcontrollers that should prove educational.

Lately I have been Beta testing some great software meant to provide some coding relief to those of us that have a hard time with writing code for the Arduino.  Visuino is a visual drag and drop interface that lets you use building blocks to add components to your Arduino Microcontroller’s memory for an easier method to program these boards.  You should visit them at www.visuino.com and join the Beta Developer Community on Google Plus which can be found here: https://plus.google.com/u/0/communities/116125623808250792822

Here is a screenshot of the main windows for Visuino -
screenshot-01