• Announcements

    • bluehash

      Forum Upgrade   03/11/2017

      Hello Everyone, Thanks for being patient while the forums were being fixed and upgraded. Please see details and report issues in this thread. Thanks!

Search the Community

Showing results for tags 'analog'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News
    • Announcements
    • Suggestions
    • New users say Hi!
  • Spotlight!
    • Sponsor Spotlight
    • Sponsor Giveaways
  • Energia
    • Energia - MSP
    • Energia - TivaC/CC3XXX
    • Energia - C2000
    • Energia Libraries
  • MSP Technical Forums
    • General
    • Compilers and IDEs
    • Development Kits
    • Programmers and Debuggers
    • Code vault
    • Projects
    • Booster Packs
    • Energia
  • Tiva-C, Hercules, CCXXXX ARM Technical Forums
    • General
    • SensorTag
    • Tiva-C, Hercules, CC3XXX Launchpad Booster Packs
    • Code Vault
    • Projects
    • Compilers and IDEs
    • Development Kits and Custom Boards
  • Beagle ARM Cortex A8 Technical Forums
    • General
    • Code Snippets and Scripts
    • Cases, Capes and Plugin Boards
    • Projects
  • General Electronics Forum
    • General Electronics
    • Other Microcontrollers
  • Connect
    • Embedded Systems/Test Equipment Deals
    • Buy, Trade and Sell
    • The 43oh Store
    • Community Projects
    • Fireside Chat
  • C2000 Technical Forums
    • General
    • Development Kits
    • Code Vault
    • Projects
    • BoosterPacks


  • Community Calendar

Found 11 results

  1. I am using this current sensor in my project. The Vout pin needs to be connected to the ADC. The best way to do this is to connect it to some analog pin and tie that analog pin to ADC through the code. Anything else? Can you refer to a sample code for this?
  2. Hi, I'm new to MSP430, I'm using a MSP430G2553 in a project and need help with an in depth understanding of programming the ADC10 inputs of the MCU. I'm using a potentiometer in order to light one of 3 LEDs. For example, LED1 lights up when input voltage is 1V or less, LED2 lights up between 1V and 2V and LED3 lights up when the input voltage is greater than or equal to 2V. I have attached my code below but I am not clear on how to read, convert and store a voltage so that I can use the IF statements to light the respective LEDs. #include <msp430g2553.h> void indicator_LED(); int main(void) { unsigned int i; WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer P1DIR = 0x00; P2DIR = 0xff; P1OUT = 0x00; P2OUT = 0x00; while(1) // keep looping { ADC10CTL1 = CONSEQ_2 + INCH_0; // Repeat single channel, A0 ADC10CTL0 = ADC10SHT_2 + MSC + ADC10ON + ADC10IE; // Sample & Hold Time + ADC10 ON + Interrupt Enable ADC10DTC1 = 0x0A; // 10 conversions ADC10AE0 |= 0x01; // P1.0 ADC option select ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start __low_power_mode_0(); //__bis_SR_register (CPUOFF + GIE);// LPM0, ADC10_ISR will force exit if (ADC10MEM <= 0x228 && ADC10MEM > 0x1D6) { P2OUT = P2OUT | BIT1; for(i=0;i<=1;i++); } else if (ADC10MEM <= 0x1D6) { P2OUT = P2OUT | BIT2; for(i=0;i<=1;i++); } else if (ADC10MEM > 0x228) { P2OUT = P2OUT | BIT0; for(i=0;i<=1;i++); } else { P2OUT = ~P2OUT; for(i=0;i<=1;i++); } } }
  3. I had a lack of digital input pins for a pushbutton rotary encoder switch so I used an analog input. I wrote up my results here: https://analog10.com/posts/rotary_encoder_analog_input.html It works pretty well except for an occasional reverse tick but that's probably a flaw in my code.
  4. I decided to have a crack at building some drum pads, because the keyboard that I'd acquired for the kids to learn piano on had a midi input, and somewhat acceptable drum sounds to boot. After several months of sitting around half-completed under a cupboard, I decided to pull it out over the easter weekend and actually make it work. In words, here's what I did. Six drum pads, made of a square of hardboard with 5mm closed-cell foam glued to the top and standing on 15mm foam pads. Each pad has a piezo electric transducer underneath, attached using hot glue. These six piezos are each hooked up to a buffer and biasing and clamping circuit, like below. The op-amp I used was an LMC648, which is great for this application but isn't that cheap. These six analog channels are connected to six of an MSP430's analog inputs. This micro samples these six inputs continuously, and uses a simple filter and threshold algorithm to determine when they've been hit. Once it detects a hit, it outputs the pad ID (zero to five) and the 'velocity' of the hit over I2C to another MSP430. This second micro in turn outputs the MIDI command, through a completely un-necassary additional chip to drive the MIDI output completely to spec. I know it's possible to output midi using 3.3v, but I used a driver chip anyway to run it at 5v - a TC4428 FET driver that I happened to have left over from another project. The second micro also translated the pad ID to a MIDI note, and can be reprogrammed via a couple of buttons that are used to change the drum sound that's assigned to the most recently hit pad. The assignments are stored in the MSP430's "information memory" segment, so that it remembers how you set it up when you turn it off. I'd originally planned to put a 16x2 LCD on there, but I ended up using that for something else. In pictures, here's what it looks like. Overall: PCB closeup - I would normally have a full eagle schematic and layout for this, even if I'm building it on stripboard, because I just make fewer mistakes that way. In this case though the layout of the six clamping circuits turned out to be much easier if I stood those components up out of the board (look on the right side of the picture) and wired them up over the top, and you can't really do that so easily in Eagle. Piezo closeup (under the pads) And finally, in code, here's the two projects. The ADC sampling micro : main.c The MIDI outputting micro : main.c Probably the most interesting aspect of this for me at least, was that when I was designing the (admittedly still rather crude) algorithm to determine how hard the pad had been hit, I needed to get the ADC samples off the chip so that I could experiment with algorithms offline and tweak their performance. I happen to have one of the rather wonderful saleae USB logic analysers (https://www.saleae.com/logic/), and so if you compile the ADC sampling micro's code with OUTPUT_SAMPLES defined, it will run the I2C at 1Mhz (instead of a much more reasonable 125kHz) and output all the ADC data as it receives it. This is pretty borderline for I2C, but if you keep the track length for the I2C nice and short you should be ok. In my case it's the orange and yellow wires in the PCB photo above - and of course you'll need both micros there because the I2C won't work if nothing's there to ACK. Anyway, doing this I was able to get the samples back into my PC, and using python and pylot etc, plot handy graphs like this: Python file, and two text files recorded from the inputs using I2C and the USB logic analyser : Archive.zip The algorithm just detects when the input rises over some threshold, and while integrates the value before it crosses back over zero again (this is after the ADC samples have had 512 subtracted from them of course, making them signed). This is then considered the 'velocity', and the MIDI micro then divides that down to get a 7-bit velocity value for MIDI. This works 'ok', but very light hits aren't detected, and sometimes hits are quite a bit louder than you'd expect. It's still fun though.
  5. Hi! Just a few questions: What is the default reference voltage for the analogRead() function on a msp430 g2553 ? Is it the internal Vcc ? How can I read the exact reference voltage correctly? Is there an option to change the reference voltage? Thanks in advance! kind regards, s1ck
  6. If you ever wanted to get logic analyzer, you should take a look at Digilent's Analog Discovery. Analog Discovery is a multifunction device developed by Digilent in cooperation with Analog Devices (AD is filled with chips from AD.) AD features analog and digital inputs and outputs, and can be used as an oscilloscope, function generator, logic analyzer, pattern generator, virtual I/O, voltmeter, spectrum analyzer, network analyzer, and even power supply. And the best part, it's affordable, especially for US students. I got my AD several days ago and let me tell you, AD is a true Swiss Army knife for geeks. To show you how useful AD can be, I used it to test new version of my audio analyzer BoosterPack. For my tests, I am using oscilloscope, logic analyzer, and waveform generator instruments (AD comes with software called WaveForms, which is a suite of virtual instruments.) Waveform generator provides 2 audio signals (via 3.5mm stereo jack) to BP's audio input. A simple tone or a sweep can be generated, so many options. Oscilloscope is connected via (optional) BNC Adapter Board and a probe to audio switch's output, so I can see which signal is fed to the EQ chip. Finally, logic analyzer is connected to LP's SPI output and displays sampled data. Analog Discovery's pinout
  7. Dear all, http://www.ti.com/ww/en/launchpad/launchpads-msp430.html#tabs I am new to this forum. I found that energia IDE work similar to arduino IDE based on library functions. My questions are 1) I have worked on various library based IDE like mpide, uecide I found that some library wont work on some controller Like SoftwareSerial on chipkit uno32 by mpide IDE, I would like to know if someone used IDE what are library it really worked for them. I am looking for below library 1)basic: analogRead(); digitalRead();digitialWrite();Serial.print();Serial.println() 2) Wire: wire.read();wire.write();wire.begin(), wire.start(),wire.endtransmission() 3)TinyGPS() 4)SOftwareSerial() 5)Modbus() 6)TIMER/MSTIMER/TIME 7)lcd() 8)keypad() 9)math library question 2: In some of data sheet it mentioned the analog port is 12 bit resolution and they not mentioned what is voltage level we can give at analog port like in Arduino. In this situation What i need to consider. In some of example in energia, eventhrough its is 12 bit resolution. Why devide voltage by 1024 instead of 4096???
  8. This is a project I made while I was learning about the MSP430's ADC10 peripheral and messing with multiplexing of 7-segment LED displays. It is a test bed for analog sensors where the 10-bit value of the analog input on the MSP430 mcu ( a MSP430G2252 in this case ) is displayed on two 2-digit 7-segment displays, which are being driven via a TPIC6B595N Power Shift register ( the SPI is currently bit-banged ). This has come quite handy for testing sensors quickly for my robotics projects and such. Here is my blog post that goes into the project in detail: http://emdinventor-blog.tk/msp430-based-analog-test-bed/ Github repository that contains the code for this project: https://github.com/emdarcher/msp430-7seg-mux1 pictures of the result:
  9. Hi, I got my BBB few days ago and decided to do something to help the BBB community. I found that accessing GPIO and Analog Interface is difficult (without bonescript) when using Linux and accessing them inside a C/C++ application, so I decided to write an arduino like interface for GPIO and Analog. I have plans to add serial, I2C and PWM later. There might be bugs so if you find any let me know. Its very easy to use, there is a test example for both adc and gpio. I need feedback so that it can be improved and more functionalities can be added. Git Hub Link for the Project: https://github.com/salmankhalid-giki...OG/tree/master BeagleBoneBlack_EasyGPIO&ANALOG.zip
  10. How to change the output frequency of the analogWrite() function in Energia??
  11. This DMX to Analog converter was designed to be used with stage props (servo pneumatic proportional control system, which is capable of positioning heavy loads at high speeds.) It's 8 channel (selectable start channel,) 8-12 bits resolution, 0-10V output, dimensions are 2" x 2".