LED auf Tastendruck

Ups... mein Fehler gewesen... Dann ist ja alles klar:
AVcc ist bereits gefiltert
Aref ist bereits abgeblockt

Ist der Pin trotzdem auf dem Board erreichbar, um ggf eine eigene Referenzspnnung draufzulegen (falls das mal nötig ist? - entsprechende REFS=00, klar)

Ich bin auch noch von einem Mega8 ausgegangen, und ich finde, er soll mal (weiter) ein paar Sachen allein umsetzen (mit etwas schubsen)- geht doch bisher ganz gut;)
 
Hallo,

hier wie versprochen ein ganz einfaches ADC-Beispiel in C. Getestet habe ich es auf einem ATmega328P, müsste aber auch auf dem ATmega8 laufen. :)
Erklärung ist im Code.

Dirk :ciao:


Code:
#include <avr/io.h>      
#include <util/delay.h> 
#include <stdlib.h>


/*
  Nano Board:
  Leitung von UPOT (Potentiometer) nach PC0 (ADC0) legen,
  PORTD mit KEY verbinden (PORTD ist als Ausgang geschaltet)
  Die LEDs zeigen 0..1023 in 8 Schritten an, wenn das Potentiometer gedreht wird
  
*/ 



int main (void)
{


  uint16_t adc_result;

  PORTD = 0xFF;
  DDRD = 0xFF;


  ADMUX |= (0<<REFS1) | (1<<REFS0);  // AVCC als Referenzspannung, Channel 0
  //ADMUX |= (1<<REFS1) | (1<<REFS0);  // interne Referenzspannung, Channel 0
  // ext. Ref. nicht vorgesehen

  ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS1) | (1<<ADPS0);   // prescaler 128, enable adc

  while (1)
  {

     ADCSRA |= (1<<ADSC);                  // start single conversion
     while ( ADCSRA & (1<<ADSC) ) { }      // conversion ready?
 
     adc_result = ADCW;
                     
 
    if (adc_result > 0 )
      PORTD &= ~(1<<PD0);
    else
      PORTD |= 1<<PD0;

    if (adc_result > 127 )
      PORTD &= ~(1<<PD1);
    else
      PORTD |= 1<<PD1;

    if (adc_result > 255 )
      PORTD &= ~(1<<PD2);
    else
      PORTD |= 1<<PD2;

    if (adc_result > 383 )
      PORTD &= ~(1<<PD3);
    else
      PORTD |= 1<<PD3;

    if (adc_result > 511 )
      PORTD &= ~(1<<PD4);
    else
      PORTD |= 1<<PD4;

    if (adc_result > 639 )
      PORTD &= ~(1<<PD5);
    else
      PORTD |= 1<<PD5;

    if (adc_result > 767 )
      PORTD &= ~(1<<PD6);
    else
      PORTD |= 1<<PD6;

    if (adc_result > 895 )
      PORTD &= ~(1<<PD7);
    else
      PORTD |= 1<<PD7;

    // _delay_ms(100);

  }

  return 0;

}
 
Kann im Moment nicht programmieren... :( mein alter Rechner ist abgeschmiert... Der war allerdings 8 Jahre alt, mit einem Intel Celeron drin, der schon beim öffnen von Atmel Studio 6 100% CPU Auslastung hatte...
 
Meine neue Konfig. wird sein:

  • ASRock 880GMH/U3S3
  • AMD FX-6100
  • Kingston HyperX DDR3-1600 8GB á 4 Riegel

Das wird ja wohl hoffentlich für simulieren und zeichnen von Schaltkreisen und für ein paar Programmieraufgaben reichen :rolleyes:

Grüße
 
Glaub bei SingleThread sind die aktuellen Intels schneller als die AMDs.

Das mag sein, aber eigentlich ist es glaub ich ziemlich egal, er wird mit 'nen bisschen Atmel Studio 6 schon fertig werden, hat ja auch mein 8 Jahre alter Celeron bis gestern geschafft ;)

EDIT:
Ich hab mal gerade bei ebay geguckt, damit sich das wirklich lohnen würde, müsste ich vermutlich ein i5 nehmen und die sind so unmenschlich teuer, da kostet dann selbst gebraucht der prozessor mehr, als mein Set aus Mainboard, CPU und RAM...

Ich hätte allerdings auch lieber ein Intel gehabt :( Man kann halt nicht alles haben ;)
 
Hi,

Meine neue Konfig. wird sein:
  • ASRock 880GMH/U3S3
  • AMD FX-6100
  • Kingston HyperX DDR3-1600 8GB á 4 Riegel
Das wird ja wohl hoffentlich für simulieren und zeichnen von Schaltkreisen und für ein paar Programmieraufgaben reichen :rolleyes:
Nee ... reicht nicht :p Für ISE-WebPack empfiehlt Xilinx so etwa 32GByte RAM :p :rolleyes: :cool: (für etwas größere Sachen)

Gruß
Dino
 
Was macht man denn mit ISE-Webpack? Ist das eine Entwicklungsumgebung?
das ist eine Entwicklungsumgebung für CPLDs und FPGAs von Xilinx (Programmierbare Logikbausteine). Die Installationsdatei liegt glaube ich alleine schon bei etwa 4-6GByte :rolleyes: Ist aber nen anderes Thema (OffTopic :eek:)

Nennt sich jetzt neuerdings DesignSuite ...
"Vivado and ISE Design Suites - 2012.4 Full Product Installation
Full Installer for Windows( TAR/GZ - 6.20 GB)"

Gruß
Dino
 
Ich habe im Geschäft einen Dell Precision mit i7 und 32GB RAM + SSD.
Zu Hause ein i7 mit 24GB + SSD + 1TB Platte.

:eek:
 
Okay, ab hier dann erstmal Off-Topic, bis ich mein neues System habe (hoffentlich nächste Woche Montag o. Dienstag):


@Hemi: Hä ??? 32GB RAM für ein Programm :confused: Die :stupid:

Dein System hört sich auf jedenfall ganz gut an, leider bin ich nicht reich :p
 
@mr.twister: Ich entwickle im 3-Tier Umfeld, sprich Du hast dann Datenbank (Oracle), AppServer (meist Tomcat oder Weblogic, den Weblogic mag ich am liebsten) mit der Anwendung und den Client auf einem Rechner. Da die Entwicklung auf einem Modell basiert, hast Du das Modell doppelt im Speicher, einmal auf dem AppServer und einmal im Client. Bei einem fetten Modell hast Du dann schnell 10-12GB verballert. Das mal zwei bist bei 20-25GB an Speicherverbrauch. Gut, es sind jetzt Extrembeispiele, aber die kommen häufig vor. Wir stellen den Client auf "dynamisches Nachladen" um um genau dem Problem entgegen zu wirken. Er wird dann mit Teilbäumen umgehen können. Ist aber nicht so ganz ohne.

@Topic: An Deiner Stelle würde ich mich eher Richtung i3/i5 umschauen und eine schnelle Platte nehmen, entweder eine Hybrid (beispielsweise Seagate Momentus XT) oder gar eine SSD (mit 60-120GB kosten sie menschlich). Vor allem von der schnellen Platte profitierst Du am meisten. Wenn ich mich an Atmel Studio erinnere, wenn ich es von der normalen Platte gestartet habe, hat er schon ordentlich gerödelt. Die brachiale CPU-Leistung brauchst Du jetzt nicht unbedingt, lieber eine schnellere Platte und mehr RAM. RAM ist immer gut.
 
Ich hab 8 GB RAM und ne alte HDD, aber das werde ich denke ich mal mit der Zeit nachrüsten. FÜr nen Intel habe ich nicht genug Geld, sonst hätte ich lieber einen genommen ;)
 
So, ich bin jetzt endlich wieder mit meinem neuen Arbeitsplatz zurück :) Hat ja auch lange genug gedauert, jetzt geht es erstmal weiter :D

Foto.jpg

LG
 
Hallo!

Dann mal....
Willkommen zurück! :ciao:

Boah... so sauber und ordentlich ist keiner meiner drei Arbeitsplätze!


Wie sagt man aber immer so schön:
Wer Ordnung hält, ist nur zu Faul zum Suchen. :D


Grüße,
Cassio
 
Hehe, ja, da ist selten so ordentlich, aber jetzt wo ich den PC mit an den Arbeitsplatz geholt habe, dachte ich mir, kann ich auch mal aufräumen, dass hat auch ehrlich gesagt ziemlich lange gedauert, war damit heute 2 Stunden beschäftigt ;)

Um gleich wieder zurück zum Thema zu kommen:

Ich habe in den letzten Tagen nicht viel mit meinem Board gemacht, d.h. ich muss jetzt mal gucken, wie ich das mit dem ADC und dem Potentiometer mache, aber nur fürs Verständnis:

Das Poti dient als Spannungsteiler, die geteilte Spannung greife ich an dem Mittelabgriff vom Poti der mit dem Port UPOT verbunden ist. Diese Spannung lege ich über ein Kabel an einen der ADC Ports und vergleiche dann im Prinzip zwei Spannungen miteinander? Das Ergebnis des Vergleichs wird danach weiterverarbeitet um den Timer1 der mir mein PWM Signal ausgibt damit die Pulsweite zu geben? Somit kann ich dann meine LEDs mit dem Poti regeln?
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)