Search the Community

Showing results for tags 'arduino'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News
    • New Users Introduction
    • Announcements
  • Digilent Technical Forums
    • FPGA
    • Digilent Microcontroller Boards
    • Non-Digilent Microcontrollers
    • Add-on Boards
    • Scopes & Instruments
    • LabVIEW
    • FRC
    • Other
  • General Discussion
    • Project Vault
    • Learn
    • Suggestions & Feedback
    • Buy, Sell, Trade
    • Sales Questions
    • Off Topic
    • Educators
    • Technical Based Off-Topic Discussions

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL







Found 46 results

  1. Hello! Recently I bought a PMOD AD5 board to hook it up with my Arduino DUE in order to measure AC Voltage. In terms of libraries, I tried two - the official AD7193 library and the AD Converter one, from GitHub. The AD Converter one seems like it's based on the official DSP library from your wiki, but adapted to Arduino. With that one, I had a few problems, so I went with the other one. For starters, I have my signal connected to AIN3 and GND connected to AIN4 (both on J2). The SPI is properly connected to my DUE, settings are SPI_MODE3 and SPI_CLOCK_DIV32 (initially it was DIV16, but I decided to try 32 as well, unfortunately to no avail). I am powering up everything from the 3.3V pin on the DUE and my signal is 50 Hz sine wave, with a 1.65V reference. I am measuring it with normal differential type, not the pseudo type (even though I tried that). Originally, with the default library, I could measure the 1.65V, but the sine wave isn't there (because of the 50Hz/60Hz rejection filter). Trying out different things with the mode and configuration registers from the AD7193 datasheet, I tried to set it up the following way: Chop Disabled, SYNC4 (and SYNC3 afterwards), FS=1; which from the datasheet it said that the 50Hz and 60Hz rejection would be disabled. I tried a whole lot of things, but I just couldn't get the filter turned off. Reason I am writing this is that I am hoping someone here can help me with my dilema and give me the means of measuring AC Voltage, because the ADC is great. Here are my register values: Mode - 0x080001 Configuration - 0x000208 I got these register values from the AD719X AFM Simulation Software. Running this configuration there, with 5MHz of the SCLK generates the Frequency diagram exactly as I need it. But for some reason, with the Arduino library, that just doesn't want to work. Thank you a lot for reading and I'm hoping someone can help.
  2. I am using a chipKIT Wi-FIRE Rev C board under Arduino 1.8.2 and there are three entries under Tools > Boards. The "Rev A &B, no FPU" is clearly not the correct one, but there is a "chipKIT wifire" and a "chipKIT wifire 80MHz". Since the Rev C board comes with a PIC32 that has a 200 MHz core, I'm guessing the first one is the correct choice, is that correct? Would have made more sense to label the board files by the revision label, rather than clock frequency ...
  3. Hello, guys! I have 2 weeks left of my bachelor thesis, and i really need help on this one.. I have build a IR-sensor to measure the RPM of a DC-motor, using Arduino mega2560 and Arduino IDE it works really well. But i need to use Labview to control a system, and need the feedback from my sensors, for this i will have to use a custom command. Attached is a code i found online to read the RPM from the sensor, and it works well with the arduino IDE. I need to write the code for the custom command, but having 0 experience with coding and arduino im really stuck.. Is anyone willing to help a desperate student? sketch_may11c.ino
  4. With the Analog shield mounted on an Arduino Leonardo, I'm seeing a zero error at each of the analog inputs with a zero voltage input or the Arduino's Ground connected to the analog pin. Using the signed read in non-differential mode, the A0 input reads -65 counts, A1 input reads -75, A2 input reads 85 and A3 reads -65. Is there any adjustment that I can make to the board to reduce this zero error? This zero error persists even when I switch from powering the board through the USB to a wall wart power supply. Thanks
  5. hi, i have a question. I need to communicate with my Cmod A7 35T using arduino. I know that it is can't communicate directly but i found a middle chip that could be a solution. This component is : with new firmware i can set on this chip the right communication port. My design is something like this, arduino send serial data to usb host that convert and send them to cmod, i have setted the right coomunication port and the right boudrate but there is an issues. I can see the datas flow (using the led) but USB-UART bridge can't read it. I set ISR with only one function that take each byte and print it. But nothing is read by uart. i don't know if i have explained the problem, but i ask some information about it. regards Stefano
  6. Hi all, because I was running out of memory on my Arduino UNO using the analogShield I changed to the Arduino Mega2560. As it turned out, the Arduino Mega2560 is not officially supported with the library from the digilent resource center. However, there is a modified lib on github which supports the Mega2560 almost flawlessly. Here is the Link: The only modification I had to do was to bend away pin 11,12,13 of the digilent analogshield. This way the 6pin SPCI port is used for SPI communication. (The mega2560 doesn't use SPI on pin 11,12,13) Ben
  7. Hello, I am working with the chipKIT Max32, chipKIT Network Shield, and ti / Stanford Analog SHIELD from Digilent. I need to be able to generate various analog signal remotely (Ethernet). I have not been successful using the Analog SHEILD with the Max32 (much less the addition of the Network Shield). However, using my Arduino Uno, I am able to generate a signal using the "passthrough" and "ramp" example with the Analog Shield. I would continue to use the Uno, however, I need the extra digital I/O the Max32 (Mega format) has to offer. Also, I have verified basic communication with Max32 using the "blink" example. 1) What is the probable cause of my failure with the Max32 versus the Uno? 2) What corrective action should I take? Boards in use: Max32 Rev E, Analog SHIELD Rev D, Network SHIELD Rev C Software: passthrough and ramp examples included with the Analog Shield library, Arduino IDE 1.6.13 Note: I had looked at using MPIDE with the chipKIT Max32, but the website for MPIDE recommended the most up version of the Arduino IDE. So, MPIDE is one option (of which I am aware) I have not tried, yet. Thank you for any assistance you can offer.
  8. Are Analog Shield and Network Shields are compatible with the chipKIT Max32 at the same time? If so are there any special considerations? Thanks you for any help you can provide.
  9. All, I spent a couple of hours trying to control a PMODDPOT with an Arduino Duemilanove this afternoon. A sketch of my wiring is attached. The code that I am working with is below. Is it obvious to you guys what I am doing wrong here? (NOTE: Vcc is 5.2V). NOTE: I have some experience with arduino but this is my first project that uses SPI. Thanks in advance for your help. #include <SPI.h> static byte i; const int slaveSelectPin = 10; void setup() { // put your setup code here, to run once: pinMode(slaveSelectPin, OUTPUT); SPI.begin(); Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: i++; // have tried 14000000,1400000,140000,14000 for SpeedMaximum // (i.e the first parameter to SPISetup) // have tried SPI_MODE0 thru SPI_MODE3). // have tried both LSBFIRST and MSBFIRST SPI.beginTransaction(SPISettings(14000,MSBFIRST,SPI_MODE0)); digitalWrite(slaveSelectPin, LOW); SPI.transfer(i); digitalWrite(slaveSelectPin,HIGH); SPI.endTransaction(); delay(500); if(i>254){ i=0; } Serial.println(i); }
  10. Hello, Is there a Arduino Vivado SDK for the Arty board. So you can program Arty in the same way as you will do with Arduino. How to setup the MicroBlaze for this? Regards, J.
  11. Hi and good morning to all ! I'm new of this forum, my question is simple, I need more than 4+4 16bit ADC+DAC Inputs Outputs , there is a way to use two or more "Analog Shield" with the same Arduino Uno Board ? Many thanks. Valerio
  12. Hello, I have a program that work on Arduino Uno. It is the graphictest given by adafruit with all their librarys for the tft 2.2" screen ili9340c I would like to make it work on the chipkit uc32 or chipkit Max32 or chipkit wf32 but don't know what line to put so the spi can work correctly on it. I tried to put this code before the arduino code but still have a lot of errors with the spi part. I just don't know how to transfer the dspi to an arduino program to make it work on the chipkit uc32. Is there somebody who can help me with this. Thank You, Best Regards, Francois *************************************************** This is an example sketch for the Adafruit 2.2" SPI display. This library works with the Adafruit 2.2" TFT Breakout w/SD card ----> Check out the links above for our tutorials and wiring diagrams These displays use SPI to communicate, 4 or 5 pins are required to interface (RST is optional) Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit! Written by Limor Fried/Ladyada for Adafruit Industries. MIT license, all text above must be included in any redistribution ****************************************************/ // #include "SPI" #include "DSPI.h" // I PUT THAT #include "Adafruit_GFX.h" #include "Adafruit_ILI9340.h" // pour Arduino Due car c'est ce type de microcontrolleur sam3x8e #if defined(__SAM3X8E__) #undef __FlashStringHelper::F(string_literal) #define F(string_literal) string_literal #endif //// pour pic32 #if defined(__PIC32MX__) #ifndef _P32XXXX_H #define _P32xxxx_H #include <p32xxxx.h> #define __C32_UART __XC_UART #ifndef _P32MX340F512F_1 #define _P32MX340F512H_1 //_P32xxxx_H #include <plib.h> #ifndef _XC_H #include <xc.h> #endif /* _P32XXXX_H */ /* For backwards compatibility */ #undef __FlashStringHelper::F(string_literal) #define F(string_literal) string_literal #endif // These are the pins used for the UNO // for Due/Mega/Leonardo use the hardware SPI pins (which are different) #define _sclk 13 //connecteur spi sur Arduino Due #define _miso 12 //connecteur spi sur Arduino Due #define _mosi 11 //connecteur spi sur Arduino Due #define _cs 10 #define _dc 9 #define _rst 8 //connecteur spi sur Arduino Due // Using software SPI is really not suggested, its incredibly slow //Adafruit_ILI9340 tft = Adafruit_ILI9340(_cs, _dc, _mosi, _sclk, _rst, _miso); // Use hardware SPI Adafruit_ILI9340 tft = Adafruit_ILI9340(_cs, _dc, _rst); void setup() { Serial.begin(115200); while (!Serial); Serial.println("Adafruit 2.2\" SPI TFT Test!"); tft.begin(); Serial.println(F("Benchmark Time (microseconds)")); Serial.print(F("Screen fill ")); Serial.println(testFillScreen()); delay(500); Serial.print(F("Text ")); Serial.println(testText()); delay(3000); Serial.print(F("Lines ")); Serial.println(testLines(ILI9340_CYAN)); delay(500);
  13. Hi all, I just got the AnlalogShield and its working like a charm. But I wonder if there is a chance to make this shield work on an Arduino Zero. It is supposed to work on an Arduino DUE, so I guess it should be just some software, library, modifications. Currently, when I connect a ZERO I cannot upload software to the ZERO because it says "chosen wrong processor type" Any ideas how to fix this? Thanks in advance, Ben
  14. I'm playing around with timer interrupts on the DP32 using Arduino and the ChipKIT Core. I was surprised to find out that this involves register manipulation. So I can set up timers using register manipulation in Arduino, but I can't seem to do anything else with register manipulation. For example, here is some code of mine which should set up a PWM signal on pin 13 (OC4) of the DP32 using register manipulation, instead of analogWrite() function. Problem is that it doesn't work and I can't figure out why. This problem is exacerbated by the apparent lack of documentation on any of the register manipulation functions(?) that I use to set my timers up previously. I know they work, but I only found them in a tutorial that doesn't explain where they come from, or much about them at all. So I have the following questions: Am I allowed to do register manipulation for more than just timers? Where can I find more information about how ChipKIT Core uses and defines these things? What am I doing wrong with my code? /******************************** Constants ********************************/ #define T3CON_ENABLE_BIT 0x8000 #define T3CON_PRESCALER_BITS 0x0070 #define T3_SOURCE_INT 0 #define OC4_ENABLE_BIT 0x8000 #define OC4_TIMER_SEL_BIT 0x0008 #define OC4_MODE_BITS 0x0007 #define OC4_MODE_PWM_SET 0x0006 // Prescaler values // Don't change these. Set the prescaler below using these. #define T3_PRESCALE_1_1 0 #define T3_PRESCALE_1_2 1 #define T3_PRESCALE_1_4 2 #define T3_PRESCALE_1_8 3 #define T3_PRESCALE_1_16 4 #define T3_PRESCALE_1_32 5 #define T3_PRESCALE_1_64 6 #define T3_PRESCALE_1_256 7 // Set the prescaler value we want to use #define PRESCALE T3_PRESCALE_1_256 // Current it's set to 1:256 // The DP32 runs at 40 MHz // The uC32 and WF32 run at 80 MHz #define CLOCK_FREQ 40000000 // Right now we're set for the DP32 // Set our target frequency // This is the frequency that our interrupt will run at in Hz #define T3_FREQUENCY 5 void setup() { uint32_t period; uint32_t cycle; uint32_t mask; // Disable everything T3CONCLR = T3CON_ENABLE_BIT; // Turn the timer off OC4CONCLR = OC4_ENABLE_BIT; // Turn OC4 off RPB2R = 0b0101; // Calculate the period we need for our given frequency if (PRESCALE == 7) period = 256; // 1:256 is a special case else period = 1 << PRESCALE; period = period * T3_FREQUENCY; period = CLOCK_FREQ / period; // Set up our timer T3CONCLR = T3CON_PRESCALER_BITS; // Clear the old prescaler mask = PRESCALE << 4; // Shift our new prescaler mask = mask | T3CON; // Mask our prescaler T3CON = mask; // Set the prescaler TMR3 = 0; // Clear the counter PR3 = period; // Set the period // Calculate our cycle cycle = period /2; // We want a 50% duty cycle // Set up our output compare OC4CONSET = OC4_TIMER_SEL_BIT; // Select timer 3 for source OC4CONCLR = OC4_MODE_BITS; // Clear our mode pins OC4CONSET = OC4_MODE_PWM_SET; // Set our mode to PWM w/out fault pin OC4R = cycle; // Set our cycle // Enable everything T3CONSET = T3CON_ENABLE_BIT; // Turn the timer on OC4CONSET = OC4_ENABLE_BIT; // Turn OC4 on } void loop() { }
  15. I recently successfully completed a web server application for the chipKIT WF32 using the Digilent IP stack with the Arduino IDE. I wanted to see how difficult it would be to port the same web server application to the chipKIT PRO MX7 processor board. There appeared to be only a one or two lines of code that had to be commented out to make the conversion. The The Adruino IDE reported "No target found". So I backed off to the simple "ChipKIT_Blink" sketch and had the same result - "No target found". I reverted to the MPIDE environment using the same hardware and the sketch loaded and ran correctly. So I'm thinking the problem is with the Arduino IDE or the chipKIT core library. I am using Arduino rev 1.6.5 and Keith recommended removing R159 (no easy task for an older person and glued down R402 resistors.) Has anyone had any success programming the chipKIT PRO MX7 using the Arduino IDE?
  16. Hello everyone, and thanks in advance for reading this! On a current project, I’m working with a network of Arduino UNOs R3, each with an AnalogShield installed (to be precise, it’s 4 Arduinos+AnalogShields total, communicating over I2C). I immediately found a problem when I connected all their Vin ports together to a 12V power supply: they sourced too much current (my main power supply was reading more than 1 A!). So I quickly stopped that and tried connecting the 5V ports together to a 5V power supply. At first this was OK, but soon they started to source too much current again. I also tried powering one of them via USB and connecting all the 5V ports together… This works most of the time, but some times the 5V line’s voltage oscillates badly or they start sourcing too much current again... It's funny because sometimes things seem to work, and then stop working. I checked the health of all Arduinos and they are perfect. And I checked powering all Arduinos by themselves (no shields) both through their Vin and 5V ports, and that works with no issues... So it must be an issue with the AnalogShields... For the moment, as a temporary measure, I’m powering all of them independently through their USB ports, and connecting only their grounds together. But in my final configuration I’d like to be able to power all of them with a single power supply. Can anybody point to where the issue could be?
  17. Please, I need informations about how to use, setup, connect, calibrate and configure the PModIA Impedance Analyser in an Arduino Leonardo board. Is there a video tutorial?
  18. A customer asked this question: I have newly kown about Digilent products. I am intended to buy PModMic to connect with Ardunio (and Raspberry) via SPI interface. However, there is no supported library for simplifying the initialization of the PmodGYRO and providing simple functions to read data of the sensor, which is much different from other products such as PModGYRO. As I would like to connect it with my Arduino (or Raspberry) board, it will be helpful to provide such library such that speed up my project. I have searched with great effort, but all in vain. So could you please give some help about this? Best Regards, Wisdom
  19. I have been dealing with this for quite some time. The problem is that I can not upload Arduino programs to the Uno32 board. I keep getting the following error: avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xff I am connecting via a very good USB cable, and the Uno32 is powered externally. I really don't want to purchase another board since the Uno32 really is a great fit for what I am working on. As far as that is concerned, I have been able to make absolutely no progress on my project since I have been stuck at the start line trying to get this damn thing to work. Further information: Arduino 1.6.5 IDE, Surface Pro 3 (Windows 8.1), connected via USB, Externally powered Uno32 board.
  20. sheriw

    Analog Shield

    Is the Analog Shield compatible with the Arduino Mega?
  21. I am trying to get the PMOD PMON1 to run on a teensy for a micro project I am working on and so far not so good. Here is my code block, please take a look and let me know if you see anything I am missing? I far I am not Serial reading anything but the "Program Started". /* ADM1191 U/I I2C converter I2C SDA ==> 18 I2C SCL ==> 19 CONF_REG[7..0] NC STATUS_RD NC VRANGE I_ONCE I_CONT V_ONCE V_VCONT V_VCONT =1, countinuosly cnv V I_VCONT =1, countinuosly cnv I VRANGE Vrange =0 -> Vr=26.52V, write I2C [ADR][CONF_REG] read I2C [ADR][Uh][Ih][Ul:Ih] */ #include <Wire.h> #define ADM1191_ADR B01100000 // 7bit ADM1191 device address A1,A0=00 jumpers set to 1 0Xb00 #define ADM1191_CONF_REG B00000101 // ADM config uint16_t result_Uh=0, result_Ih =0, result_UIl =0; float P, Uh, Ih, Rs=0.05; void setup() { while(!Serial); Serial.print("Program Started"); Serial.println(); Serial.begin(9600); Wire.begin(); Wire.beginTransmission(ADM1191_ADR); Wire.write(ADM1191_CONF_REG); Wire.endTransmission(); } void loop() { Wire.beginTransmission(ADM1191_ADR); Wire.requestFrom(ADM1191_ADR, 3); // request 3 bytes from ADM while(Wire.available()) { result_Uh =; // HIGH U result_Ih =; // HIGH I result_UIl =; // LOW U : LOW I result_Uh = (result_Uh << 4) + (result_UIl >> 4); result_Ih= (result_Ih << 4) + (result_UIl & 0x0F); Uh= (26.52/4096)* result_Uh; Serial.print(" U: "); Serial.print(Uh, 2); Serial.print(" [V]\t"); Ih= ((105.84/4096)*result_Ih)/Rs; Serial.print(" I: "); Serial.print(Ih, 0); Serial.print(" [mA]\t"); P= Uh*Ih/1000; Serial.print("P: "); Serial.print(P, 2); Serial.println(" [W]\t"); } Wire.endTransmission(); delay(1000); }