1. Post #681
    Gold Member

    March 2005
    3,028 Posts
    8 rows, 8 columns
    8 * 8 = 64.

    To illuminate an LED you pull its row to V+ and its column to V- (or vice-versa). MCU pins are three state -- HIGH (V+, VCC, or VDD), LOW (V-, ground, VEE, or VSS), and input/high-z (effectively off)
    If you want display an image, you probably need to loop through and display each row individually and make use of persistence of vision.

    Not sure if you need external current limiting resistors or if they're built-in, check the datasheet. If in doubt, add them anyway. Better safe than sorry. I wouldn't go lower than 200 ohm.
    Reply With Quote Edit / Delete Windows 7 Show Events

  2. Post #682
    Gold Member
    Electroholic's Avatar
    June 2011
    2,289 Posts
    16 rows, 16 columns
    16 * 16 = 64.

    To illuminate an LED you pull its row to V+ and its column to V- (or vice-versa).
    If you want display an image, you probably need to loop through and display each row individually and make use of persistence of vision.

    Not sure if you need external current limiting resistors or if they're built-in, check the datasheet. If in doubt, add them anyway. Better safe than sorry.
    I have no idea how to pull V+ or V-
    This component does not have a datasheet provided on the website I got it from which was partly why I was confused on how the pins worked.

    Anyway, I'm completely new to this stuff so I'm going to just start with some buttons and blinking LED's but I bought the 8x8 grid for later when I have slightly more knowledge. I was just curious on how I would end up operating the device.

    I'll throw a resistor on just in case then just start switching wires around to see what lights up
    Reply With Quote Edit / Delete Windows 7 Canada Show Events

  3. Post #683
    Gold Member

    March 2005
    3,028 Posts
    Bah you quoted me before I could fix my terribad arithmetic.
    Reply With Quote Edit / Delete Windows 7 Show Events Funny Funny x 1Friendly Friendly x 1 (list)

  4. Post #684
    SubbyV-2's Avatar
    January 2011
    273 Posts
    Watts are a unit of power.

    If you have a 50W load, then it's 50W of power dissipated in that load. You don't have to have diodes that are rated for 50W.

    The power dissipation of the diodes is going to be ~0.7V * current (in amps) for silicon diodes.

    Edited:


    They would if they were in series.
    They're in parallel for bridge rectifiers.

    Edited:


    You don't really need to be a douche about it.
    http://en.wikipedia.org/wiki/Diode_bridge, Pretty sure the current passes through two diodes though?
    Just used LTspice to simulate half wave and full wave, ripple is pretty much a non issue for my application, the peak current for the half-wave (going through the diode) is about ~7A where as the full-wave gets ~4A through the diodes,
    Anyway, this is what i mean by efficiency, full wave suffers the diode drop of two, 1.4*4=5.6W where as half wave only suffers a single diode drop, .7*7=4.9W (also, the full-wave suffers it twice as much)
    A half-wave rectifier is the better choice for the application, smaller, easier to source and more power efficient.
    Reply With Quote Edit / Delete Windows 7 Australia Show Events

  5. Post #685
    Gold Member
    Asgard's Avatar
    July 2010
    3,580 Posts
    Oh looky here what arrived today.



    What could it be? Anthrax? Let's hope.



    Afdjkmsd fucking packages.



    Ooh, what could that be? Can you guess?



    How about now?



    I wouldn't suggest taking a picture while sneezing. Anyways, it must be pretty clear what it is now!



    Yes! It's stuff!



    Stuff!



    Stuff!!!!



    STUFF!!!



    AAH!! MORE STUFF!!

    So much stuff..


    Gentlemen, I've got work to do

    Edited:

    The sweet smell of creating the very first thing ever and it works.

    Reply With Quote Edit / Delete Windows 7 Netherlands Show Events Winner Winner x 9 (list)

  6. Post #686
    www.bff-hab.de
    Dennab
    February 2009
    7,832 Posts
    Nice!
    Reply With Quote Edit / Delete Windows 7 Germany Show Events

  7. Post #687
    own-fucking-zone
    Within's Avatar
    April 2009
    4,010 Posts
    I thought I might as well present an older project.



    Basically, it's a dice. An automated one.
    This schematic is not 100% up to date, I don't have Crocodile Physics on this computer, but the only differences are the data collection start button is not hooked to 5V, but rather 24V to actually trigger the digital sensor in the PLC we used for this and we scrapped the PLC reset memory button because my software is FUCKING FLAWLESS. It was not necessary, either way.

    Anyway, the idea is that a dice is a very old piece of technology and we wanted to improve the possibilities with a physical dice (hell, we had to come up with something, it's for some exam project).
    We did this by still allowing manual dice "rolls", represented by the diodes to the right in the schematic. This is made possible with the binary counter hooked to the 555-timer circuit, dimensioned to 50 Hz. The button near the 555 chip is the actual manual dice "roll" button.

    Then we have the data collection, which is where it gets ~automated~ and cool. Basically, instead of pressing the button, we allowed the user to define a number of desired dice rolls from a PLC GUI (touchscreen and shit), as seen below. Excuse the Danish.



    To pull it off we allowed the PLC to override the button by sending out an analogue value of 16384, which corresponds to 5V, in front of the button, essentially acting like a button, only automatic.
    So what we decided to do, since unless we found a way to modify the 555-timer circuit on the fly we didn't really have any other option, was to modify the length of the AO_slag pulse (see the schematic). Now from what we could gather, PLC don't have any way to call a random number, so we had to come up with a way to do it ourselves:

    This is our formula, which suffices both for sequence length and dice roll length for our needs.

    Here's an example, assuming the start-seed is 560:
    seed = ((560+1)*75) MOD 1024-1 = 90
    seed = ((90+1)*75) MOD 1024-1 = 680
    seed = ((680+1)*75) MOD 1024-1 = 898

    The start-seed is 500 by default, but the user is allowed to change it, as seen below:
    http://localhostr.com/files/Uw6xMvM/seedz.png

    So we wanted to use the data, but it needed to be in an edible format, which is what our digital-analogue circuit is for. Basically for each dice roll, it's a different voltage getting to the PLC.

    1 = 0.0V
    2 = 1.25V
    3 = 2.5V
    4 = 3.75V
    5 = 5V
    6 = 6.25V

    Converting these to the analogue values, we could work with them, using the data for statistics and various other probability-calculations.

    The last part of the software is simulation, which essentially is a modified data collection algorithm to see how many tries it needs to go through in order to reach whatever dice roll you desire.


    For anyone interested, here's the source. Some of the variables and all the comments are in Danish.
    Code:
    cyclecounter := cyclecounter + 1;
    
    (* Simulering *)
    IF sim_init = 1 THEN (* sim_init fungerer som en hovedafbryder *)
    	IF step = 0 THEN (* Det indebærer at man ikke kan begynde at simulere midt i en data collection, for eksempel *)
    		(* Ved initialisering af simulering: Clear hukommelse der har med simulering at gøre *)
    		sim_slag := 0;
    		sim_totalkast := 0;
    		step := 0;
    		step := 4;   (* På den måde undgår vi konflikter fra brugerens interferens *)
    	END_IF
    ELSE
    	IF step = 4 THEN
    		(* Ved evt. afbrydelse midt i simulering: Clear hukommelse der har med simulering at gøre *)
    		sim_slag := 0;
    		sim_totalkast := 0;
    		step := 0;
    	END_IF
    END_IF
    
    CASE step OF
    
    0:
    
    	IF EDGENEG(DI_data_collection) THEN
    		IF seed > 0 THEN
    			(* Clear hukommelse *)
    			totalslag := 0;
    			total_1 := 0;
    			total_2 := 0;
    			total_3 := 0;
    			total_4 := 0;
    			total_5 := 0;
    			total_6 := 0;
    			procent_1 := 0;
    			procent_2 := 0;
    			procent_3 := 0;
    			procent_4 := 0;
    			procent_5 := 0;
    			procent_6 := 0;
    			step := 1;
    		END_IF
    	END_IF
    
    1: (* Data collection *)
    
    	seed := ((seed + 1) * 75) MOD (1024 - 1); (* Udregn det nye seed til vores pseudo-tilfældige formular *)
    	t_kast := cyclecounter + seed; (* Dette beskriver længden af terningeslaget *)
    
    	AO_slag := 16384; (* For 5V gælder 32767 / 2 *)
    
    	step := 2;
    
    2: (* Data collection *)
    
    	IF cyclecounter >= t_kast THEN
    		AO_slag := 0;
    
    		(* Intervalinddeling af analog input fra terning *)
    		IF (AI_terning > -1) AND (AI_terning < 1000) THEN
    			(* 1'er *)
    			total_1 := total_1 + 1;
    			step := 3;
    		ELSIF (AI_terning > 3000) AND (AI_terning < 5000) THEN
    			(* 2'er *)
    			total_2 := total_2 + 1;
    			step := 3;
    		ELSIF (AI_terning > 7000) AND (AI_terning < 9000) THEN
    			(* 3'er *)
    			total_3 := total_3 + 1;
    			step := 3;
    		ELSIF (AI_terning > 11000) AND (AI_terning < 13000) THEN
    			(* 4'er *)
    			total_4 := total_4 + 1;
    			step := 3;
    		ELSIF (AI_terning > 15000) AND (AI_terning < 17000) THEN
    			(* 5'er *)
    			total_5 := total_5 + 1;
    			step := 3;
    		ELSIF (AI_terning > 19000) AND (AI_terning < 21000) THEN
    			(* 6'er *)
    			total_6 := total_6 + 1;
    			step := 3;
    		END_IF
    
    	END_IF
    
    3:
    
    	IF (totalslag + 1) = slag_antal THEN (* Når det brugerbestemte antal slag er opnået... *)
    		procent_1 := (total_1 * 100) / slag_antal; (* Udregner den procentvise del 1'erne betyder *)
    		procent_2 := (total_2 * 100) / slag_antal; (* Udregner den procentvise del 2'erne betyder *)
    		procent_3 := (total_3 * 100) / slag_antal; (* Udregner den procentvise del 3'erne betyder *)
    		procent_4 := (total_4 * 100) / slag_antal; (* Udregner den procentvise del 4'erne betyder *)
    		procent_5 := (total_5 * 100) / slag_antal; (* Udregner den procentvise del 5'erne betyder *)
    		procent_6 := (total_6 * 100) / slag_antal; (* Udregner den procentvise del 6'erne betyder *)
    		step := 0;
    	ELSE (* Hvis ikke: tæl og gå tilbage til step 1 for at udføre det næste terningeslag *)
    		totalslag := totalslag + 1;
    		step := 1;
    	END_IF
    
    4: (* Simulering *)
    	(* For simulering gælder et lavere max seed fordi terningeslagene skal udføres hurtigere (FOR lave vil resultere i utroværdigt resultat) *)
    	seed := ((seed + 1) * 75) MOD (512 - 1); (* Udregn det nye seed til vores pseudo-tilfældige formular *)
    	t_kast := cyclecounter + seed; (* Dette beskriver længden af terningeslaget *)
    
    	AO_slag := 16384; (* For 5V gælder 32767 / 2 ; send 5V til terningen for at påbegynde slaget *)
    
    	step := 5;
    
    5: (* Simulering *)
    	IF cyclecounter >= t_kast THEN
    		(* Slut for analog output (5V) til terningen fordi slaget er fuldført *)
    		AO_slag := 0;
    
    		(* Intervalinddeling af analog input fra terning *)
    		IF (AI_terning > -1) AND (AI_terning < 1000) THEN
    			(* 1'er *)
    			sim_slag := 1;
    			sim_totalkast := sim_totalkast + 1;
    			step := 6;
    		ELSIF (AI_terning > 3000) AND (AI_terning < 5000) THEN
    			(* 2'er *)
    			sim_slag := 2;
    			sim_totalkast := sim_totalkast + 1;
    			step := 6;
    		ELSIF (AI_terning > 7000) AND (AI_terning < 9000) THEN
    			(* 3'er *)
    			sim_slag := 3;
    			sim_totalkast := sim_totalkast + 1;
    			step := 6;
    		ELSIF (AI_terning > 11000) AND (AI_terning < 13000) THEN
    			(* 4'er *)
    			sim_slag := 4;
    			sim_totalkast := sim_totalkast + 1;
    			step := 6;
    		ELSIF (AI_terning > 15000) AND (AI_terning < 17000) THEN
    			(* 5'er *)
    			sim_slag := 5;
    			sim_totalkast := sim_totalkast + 1;
    			step := 6;
    		ELSIF (AI_terning > 19000) AND (AI_terning < 21000) THEN
    			(* 6'er *)
    			sim_slag := 6;
    			sim_totalkast := sim_totalkast + 1;
    			step := 6;
    		END_IF
    
    	END_IF
    
    6: (* Simulering *)
    
    	IF sim_slag = sim_oensket THEN (* Hvis udfaldet af terningen matcher det ønskede udfald er vi færdige *)
    		sim_init := 0;
    		step := 0;
    	ELSE (* Hvis ikke, så prøver vi da bare igen: tilbage til step 4 og gentag (i samme ånd som ved data collection) *)
    		sim_slag := 0;
    		step := 4;
    	END_IF
    
    END_CASE
    Edited:

    There's a lot more detail to this, we wrote a 70-page report on it, ask if you want to know something.
    Reply With Quote Edit / Delete Windows 7 Denmark Show Events Informative Informative x 2Programming King Programming King x 1 (list)

  8. Post #688
    Gold Member

    March 2005
    3,028 Posts
    http://en.wikipedia.org/wiki/Diode_bridge, Pretty sure the current passes through two diodes though?
    Just used LTspice to simulate half wave and full wave, ripple is pretty much a non issue for my application, the peak current for the half-wave (going through the diode) is about ~7A where as the full-wave gets ~4A through the diodes,
    Anyway, this is what i mean by efficiency, full wave suffers the diode drop of two, 1.4*4=5.6W where as half wave only suffers a single diode drop, .7*7=4.9W (also, the full-wave suffers it twice as much)
    A half-wave rectifier is the better choice for the application, smaller, easier to source and more power efficient.
    Took me a while, but I see what you're saying.
    I still feel like there should be some disadvantage to throwing out half the wave. I mean for an ideal transformer, the current in the primary should be proportional to the current in the secondary, so the primary won't be sourcing any current for that half of the wave. However, I really doubt it's that simple for practical transformers. There will probably be some loss due to currents induced in the core for that half of the waveform. I am unsure of how significant this is.

    What is this for, anyway? I can't think of many situations where ripple really doesn't matter that aren't totally trivial.
    Reply With Quote Edit / Delete Windows 7 Show Events

  9. Post #689
    Gold Member
    ddrl46's Avatar
    October 2007
    3,661 Posts
    Took me a while, but I see what you're saying.
    I still feel like there should be some disadvantage to throwing out half the wave. I mean for an ideal transformer, the current in the primary should be proportional to the current in the secondary, so the primary won't be sourcing any current for that half of the wave. However, I really doubt it's that simple for practical transformers. There will probably be some loss due to currents induced in the core for that half of the waveform. I am unsure of how significant this is.

    What is this for, anyway? I can't think of many situations where ripple really doesn't matter that aren't totally trivial.
    He is trying to make a switch mode (buck) that connects directly to mains.
    Reply With Quote Edit / Delete Windows 7 Netherlands Show Events

  10. Post #690
    Gold Member

    March 2005
    3,028 Posts
    He is trying to make a switch mode (buck) that connects directly to mains.
    Without isolation?

    Saying this is a bad idea would be an understatement.
    Reply With Quote Edit / Delete Windows 7 Show Events Agree Agree x 4 (list)

  11. Post #691
    Gold Member
    ddrl46's Avatar
    October 2007
    3,661 Posts
    Without isolation?

    Saying this is a bad idea would be an understatement.
    Without isolation.
    Reply With Quote Edit / Delete Windows 7 Netherlands Show Events

  12. Post #692
    Gold Member

    March 2005
    3,028 Posts
    Without isolation.
    I think I understand what Chryseus was saying now. I think the first time I read his post I unconsciously thought something along the lines of "nobody in their right mind would do that" and discarded that part as nonsense.
    Reply With Quote Edit / Delete Windows 7 Show Events Agree Agree x 2 (list)

  13. Post #693
    Gold Member
    ddrl46's Avatar
    October 2007
    3,661 Posts
    The reason he wants to use one diode instead of 4 or a all in one rectifier package is since he wants to "save" space.
    Reply With Quote Edit / Delete Windows 7 Netherlands Show Events Funny Funny x 4 (list)

  14. Post #694
    masterburner's Avatar
    February 2007
    116 Posts
    - snip -

    Late as heck...
    Reply With Quote Edit / Delete Windows 7 Netherlands Show Events Informative Informative x 1Useful Useful x 1Late Late x 1 (list)

  15. Post #695
    SubbyV-2's Avatar
    January 2011
    273 Posts
    The reason he wants to use one diode instead of 4 or a all in one rectifier package is since he wants to "save" space.
    Just totally disregard the argument about efficiency while you're at it and the fact a single diode is easier to source and cheaper.
    Reply With Quote Edit / Delete Windows 7 Australia Show Events Funny Funny x 4 (list)

  16. Post #696
    Gold Member
    ddrl46's Avatar
    October 2007
    3,661 Posts
    Just totally disregard the argument about efficiency while you're at it and the fact a single diode is easier to source and cheaper.
    Pay 2 cents for one instead of 8 cents for four?
    Reply With Quote Edit / Delete Netherlands Show Events Agree Agree x 2 (list)

  17. Post #697
    www.bff-hab.de
    Dennab
    February 2009
    7,832 Posts
    I once bought 2 belts with 100 diodes each for 3€. It will probably enough for the next 3-4 years or so.
    Reply With Quote Edit / Delete Windows 7 Germany Show Events

  18. Post #698
    www.bff-hab.de
    Dennab
    February 2009
    7,832 Posts
    Relay Oscillator!

    Reply With Quote Edit / Delete Windows 7 Germany Show Events Funny Funny x 3Zing Zing x 1 (list)

  19. Post #699
    Gold Member
    ddrl46's Avatar
    October 2007
    3,661 Posts
    Relay Oscillator!

    Did you use both relays for your oscillator? I think I've seen it being done with one relay before.
    Reply With Quote Edit / Delete Windows 7 Netherlands Show Events

  20. Post #700
    www.bff-hab.de
    Dennab
    February 2009
    7,832 Posts
    Did you use both relays for your oscillator? I think I've seen it being done with one relay before.
    You can of course use only one, but I thought it was more exciting when I use 2 relays.
    Reply With Quote Edit / Delete Windows 7 Germany Show Events Agree Agree x 1 (list)

  21. Post #701
    Gold Member
    Zero-Point's Avatar
    March 2006
    7,162 Posts
    Relay Oscillator!

    Well now I know what to do should I ever have too many damn relays and I want to wear them all the fuck out really fast. Thanks, Science!
    Reply With Quote Edit / Delete Windows 7 United States Show Events

  22. Post #702
    www.bff-hab.de
    Dennab
    February 2009
    7,832 Posts
    Well now I know what to do should I ever have too many damn relays and I want to wear them all the fuck out really fast. Thanks, Science!
    Actually they stopped working 5 seconds after the video, lol
    Reply With Quote Edit / Delete Windows 7 Germany Show Events Funny Funny x 3 (list)

  23. Post #703
    amazer97's Avatar
    October 2009
    853 Posts
    Managed to get serial communications between my ATTiny2313 and my PC working, finally! Now time to make some creative applications using it.

    Edit:
    Here's a pic I took of the terminal. Both strings are sent to the terminal from my Tiny, wrote a small print function. Pressing enter sends a byte to the Tiny which prompts a carriage return, vertical tab, and a '>'. Next I'll quickly write up a command parser so I can have it execute functions using the terminal.



    My setup-
    Reply With Quote Edit / Delete Windows 7 United States Show Events Artistic Artistic x 1Useful Useful x 1 (list)

  24. Post #704
    Gold Member
    Electroholic's Avatar
    June 2011
    2,289 Posts
    Got my Arduino in the mail today. I've been doing some small tests on the shitty breadboard I have. Can't wait to try out some more complex experiments when my bigger breadboard and more complex components arrive tomorrow :)
    Reply With Quote Edit / Delete Windows 7 Canada Show Events

  25. Post #705
    Gold Member
    Electroholic's Avatar
    June 2011
    2,289 Posts
    I can't get my LCD to display any text :(

    Reply With Quote Edit / Delete Windows 7 Canada Show Events

  26. Post #706
    Gold Member
    ddrl46's Avatar
    October 2007
    3,661 Posts
    I can't get my LCD to display any text :(

    Have you adjusted the contrast?
    Reply With Quote Edit / Delete Netherlands Show Events

  27. Post #707
    Gold Member
    Electroholic's Avatar
    June 2011
    2,289 Posts
    Have you adjusted the contrast?
    Thank you
    I forgot to put a resistor from LCD Pin to Ground.

    edit:
    Also cut down on the backlight. 5V was a little too bright.
    Reply With Quote Edit / Delete Windows 7 Canada Show Events Funny Funny x 7Zing Zing x 1Winner Winner x 1 (list)

  28. Post #708
    Gold Member
    Nikita's Avatar
    April 2005
    1,879 Posts
    Here is a simple question: How do I protect a microcontroller so that nothing happens to it or it's ports when I finally do something retarded when wiring it to something? E.g. connect 24V where 5V should go, etc.
    Reply With Quote Edit / Delete Windows 7 Cyprus Show Events

  29. Post #709
    amazer97's Avatar
    October 2009
    853 Posts
    Here is a simple question: How do I protect a microcontroller so that nothing happens to it or it's ports when I finally do something retarded when wiring it to something? E.g. connect 24V where 5V should go, etc.
    -snip- Incorrect advice, I know nothing

    Edit:
    This thread is pretty dead, we need more content.

    Finished argument parsing in my shell, didn't get much time to work on it over the week but its finally the weekend, time to break out my soldering iron and board and get to work!
    Reply With Quote Edit / Delete Windows 7 United States Show Events Disagree Disagree x 2 (list)

  30. Post #710
    Gold Member

    March 2005
    3,028 Posts
    Don't take my word on this, but I think capacitators are used for this? You wire one up in front and it regulates voltage if I understand correctly, but get someone to double check this statement first.
    It doesn't work like that.
    Caps are generally used for filtering in power supply circuitry. They will not regulate voltage.


    As for the overvoltage issue, on AVR microcontrollers (and boards that use them, like the Arduino), each I/O pin already has voltage clamping diodes which drain current when voltage exceeds VCC. In this case, all you need to do to protect the diode is use current-limiting resistors.
    For ICs without clamping/protection diodes built-in, you can use something like this:

    or


    That thing in the middle of the latter diagram is a zener diode. They're diodes designed to go into zener breakdown at a particular reverse bias voltage.
    Reply With Quote Edit / Delete Windows 7 Show Events Friendly Friendly x 1Informative Informative x 1Agree Agree x 1 (list)

  31. Post #711
    Gold Member
    Nikita's Avatar
    April 2005
    1,879 Posts
    How do you guys know which resistors and caps to buy before you decide on a project?

    I forgot my collection at home when I moved here from Cyprus so now I have to wait a month or so for sister to mail it to me. In the mean time, I can't think of anything smarter than just buying 5 of everything.
    Reply With Quote Edit / Delete Windows 7 Cyprus Show Events

  32. Post #712
    Gold Member
    Chryseus's Avatar
    February 2009
    2,355 Posts
    How do you guys know which resistors and caps to buy before you decide on a project?

    I forgot my collection at home when I moved here from Cyprus so now I have to wait a month or so for sister to mail it to me. In the mean time, I can't think of anything smarter than just buying 5 of everything.
    Most of us have a full set of resistors (usually consisting of the E12 or E24 series) so the only time you need to buy some is when you need high power, low TC or high accuracy.
    The same pretty much goes for capacitors.
    Reply With Quote Edit / Delete Windows 7 United Kingdom Show Events

  33. Post #713
    Gold Member
    Lapsus's Avatar
    June 2006
    1,074 Posts
    So, I'm thinking about picking up an inexpensive FPGA board at the end of November, and I'm wondering if anyone here in the thread has experience working with FPGAs, or has any tips for a beginner?

    I've got my eye on the Terasic DE0-nano, mainly because it's cheap, and I'm thinking of starting with Verilog as opposed to VHDL because I find the syntax less intimidating. I'm thinking my biggest problem is going to be shifting back into digital logic design as opposed to procedural programming.
    Reply With Quote Edit / Delete Windows 7 Canada Show Events

  34. Post #714
    Gold Member
    ddrl46's Avatar
    October 2007
    3,661 Posts
    So, I'm thinking about picking up an inexpensive FPGA board at the end of November, and I'm wondering if anyone here in the thread has experience working with FPGAs, or has any tips for a beginner?

    I've got my eye on the Terasic DE0-nano, mainly because it's cheap, and I'm thinking of starting with Verilog as opposed to VHDL because I find the syntax less intimidating. I'm thinking my biggest problem is going to be shifting back into digital logic design as opposed to procedural programming.
    If you have some extra money you should look at the DE1.
    Reply With Quote Edit / Delete Windows 7 Netherlands Show Events

  35. Post #715
    Gold Member

    March 2005
    3,028 Posts
    So, I'm thinking about picking up an inexpensive FPGA board at the end of November, and I'm wondering if anyone here in the thread has experience working with FPGAs, or has any tips for a beginner?

    I've got my eye on the Terasic DE0-nano, mainly because it's cheap, and I'm thinking of starting with Verilog as opposed to VHDL because I find the syntax less intimidating. I'm thinking my biggest problem is going to be shifting back into digital logic design as opposed to procedural programming.
    I was actually looking at the same dev board. I've done a little VHDL for a course. The language itself isn't really that bad, but the Xilinx software is buggy to the point of uselessness. It seems like FPGAs are one of the more difficult things to get started with as a hobbyist. It's not like MCUs where you've got a $5 system with integrated memory in a DIP package, ready for breadboarding, plus DIY programmers and a ton of well-supported (usually open-source) software tools.

    With FPGAs, you're pretty much forced to use the manufacturer's proprietary tools, which are usually garbage.
    Reply With Quote Edit / Delete Windows 7 Show Events

  36. Post #716
    www.bff-hab.de
    Dennab
    February 2009
    7,832 Posts
    How do you guys know which resistors and caps to buy before you decide on a project?

    I forgot my collection at home when I moved here from Cyprus so now I have to wait a month or so for sister to mail it to me. In the mean time, I can't think of anything smarter than just buying 5 of everything.
    I once bought a resistor and ceramic cap pack. It basically has all more or less common values, and if it doesn't have it, you can combine some resistors or caps together to get your desired value.
    Reply With Quote Edit / Delete Windows 7 Germany Show Events Agree Agree x 2 (list)

  37. Post #717
    Richy19's Avatar
    May 2010
    5,368 Posts
    This is probably a long shot but, for one of my modules at uni we will be programming ARM CPU's.
    I havent actually started the labs so I dont know what version/language/anything we will use other than just ARM.
    I wanted to get some basic experience and wondered if there are any good tutorials/simulators/IDE's...
    Reply With Quote Edit / Delete Windows XP United Kingdom Show Events

  38. Post #718
    Gold Member

    March 2005
    3,028 Posts
    Programming an ARM in something like C is just like programming any other processor. If you're writing assembly, that'll be a lot cleaner/simpler than most other processors, since ARM is a RISC system with a crapton of general-purpose registers. It's got some nice features like conditional execution of any basic instruction, and being able to do arithmetic operations without affecting the current value of the status register.

    I had the misfortune of having to learn assembly on a Freescale/Motorola 6800-type processor. It was godawful.
    Reply With Quote Edit / Delete Windows 7 Show Events Funny Funny x 2Agree Agree x 1 (list)

  39. Post #719
    Richy19's Avatar
    May 2010
    5,368 Posts
    Do you know of any tutorials?
    Also are there any simulators? or emulators?
    Reply With Quote Edit / Delete Windows XP United Kingdom Show Events

  40. Post #720
    Gold Member
    Chryseus's Avatar
    February 2009
    2,355 Posts
    Do you know of any tutorials?
    Also are there any simulators? or emulators?
    There is a list of some useful stuff in the OP.
    As for circuit simulators the free Java Circuit Simulator is great for testing simple things, other better simulators I can recommend are Qucs, LTSpice and Multisim 10 (non-free) but nothing beats doing it yourself and seeing the results, simulators are not perfect.
    Reply With Quote Edit / Delete Windows 7 United Kingdom Show Events