AMD Ryzen 9 3950X: Alle passenden X570- und X470-Mainboards zum Marktstart in der Übersicht

Ryzen im Aufstieg

AMD ist mit den Ryzen-Prozessoren der große Wurf gelungen. Die neue Architektur sorgte bereits in der ersten Generation für großes Aufsehen. Erstmals kamen brauchbare acht Kerne in eine Mainstream-Plattform. Das beendete das Zeitalter der Quadcores, auch beim Konkurrenten Intel, der zuvor 10 Jahre lang nur auf vier Kerne in den Topmodellen gesetzt hatte. Das endgültige Resultat war der Intel Core i9-9900K mit ebenfalls acht Kernen. Vor allem beim Takt spielt Intel hier seine stärken aus und hat mit dem i9-9900KS sogar ein Modell mit 5 GHz All Core-Boost im Programm.

Zwei Jahre später hat AMD mit der Ryzen 3000-Generation den ganzen Markt noch einmal nachhaltig revolutioniert und den eigenen Stand gefestigt. Die neuen Prozessoren bringen nicht nur eine deutlich gesteigerte IPC, sondern auch erstmals bis zu 16 Kerne auf einer Mainstream-Plattform. Dazu bringt AMD mit PCIe 4.0 eine Technik in den Mainstream, die Intel noch komplett fehlt. Doch das beste ist, dass selbst die erste Generation an Ryzen-Mainboards weiterhin mit den neuen Prozessoren kompatibel ist. Der generelle Abstand zu Intel ist im Gaming mittlerweile vernachlässigbar, während die Krone in Anwendungen sogar an den neuen Ryzen 9 3950X mit 16 Kernen geht. Die Zukunft für AMD sieht also mehr als rosig aus.

Mehr und Quelle https://bre.is/2SxrtdGV

Nov. 2019 – 1250 € Gaming PC

Nov. 2019 #GamingPC – Vorschlag in der 1250 € Klasse.

Preis Stand 22/11/2019 – 1207 €

Arduino Ethernet w5100 Probleme mit DHCP

Wer einen Arduino mit Ethernet Shield w5100 betreibt kann in die Situation kommen das bei DHCP durch den Router keine IP vergeben wird.  

Ein Auslesen per seriellen Monitor gibt oft die Meldung IP 0.0.0.0 zurück.

Einer der häufigsten Fehler der mir unter die Finger kommt, sind Router oder Switch die nicht mir der Arduino MAC klar kommen.

Mehr hierzu gibt es wie üblich in der Wiki.

Temperatur messen mit dem DS18B20

Besteht mal der Bedarf an einer Temperatur Messung ist der DS18B20 ideal dafuer geeignet. 

DS18B20 Wasserdicht

Gemessen wird mit einem One Wire Bus. Durch diesen Bus ist es moeglich an einem Daten-Pin des Arduino mehrer Messfuehler anzuschliessen. Denn Pins einsparen ist immer von Vorteil.

Beschaltung des DS18B20

Und nun noch der entsprechende Sketch.

#include <OneWire.h>

// OneWire DS18S20, DS18B20, DS1822 Temperature Example
//
// http://www.pjrc.com/teensy/td_libs_OneWire.html
//
// The DallasTemperature library can do all this work for you!
// http://milesburton.com/Dallas_Temperature_Control_Library

OneWire  ds(2);  // on pin 10 (a 4.7K resistor is necessary)

void setup(void) {
  Serial.begin(9600);
}

void loop(void) {
  byte i;
  byte present = 0;
  byte type_s;
  byte data[12];
  byte addr[8];
  float celsius, fahrenheit;
  
  if ( !ds.search(addr)) {
    Serial.println("No more addresses.");
    Serial.println();
    ds.reset_search();
    delay(250);
    return;
  }
  
  Serial.print("ROM =");
  for( i = 0; i < 8; i++) {
    Serial.write(' ');
    Serial.print(addr[i], HEX);
  }

  if (OneWire::crc8(addr, 7) != addr[7]) {
      Serial.println("CRC is not valid!");
      return;
  }
  Serial.println();
 
  // the first ROM byte indicates which chip
  switch (addr[0]) {
    case 0x10:
      Serial.println("  Chip = DS18S20");  // or old DS1820
      type_s = 1;
      break;
    case 0x28:
      Serial.println("  Chip = DS18B20");
      type_s = 0;
      break;
    case 0x22:
      Serial.println("  Chip = DS1822");
      type_s = 0;
      break;
    default:
      Serial.println("Device is not a DS18x20 family device.");
      return;
  } 

  ds.reset();
  ds.select(addr);
  ds.write(0x44, 1);        // start conversion, with parasite power on at the end
  
  delay(1000);   

  present = ds.reset();
  ds.select(addr);    
  ds.write(0xBE);         // Read Scratchpad

  Serial.print("  Data = ");
  Serial.print(present, HEX);
  Serial.print(" ");
  for ( i = 0; i < 9; i++) {           // we need 9 bytes
    data[i] = ds.read();
    Serial.print(data[i], HEX);
    Serial.print(" ");
  }
  Serial.print(" CRC=");
  Serial.print(OneWire::crc8(data, 8), HEX);
  Serial.println();

  int16_t raw = (data[1] << 8) | data[0];
  if (type_s) {
    raw = raw << 3; // 9 bit resolution default
    if (data[7] == 0x10) {
      // "count remain" gives full 12 bit resolution
      raw = (raw & 0xFFF0) + 12 - data[6];
    }
  } else {
    byte cfg = (data[4] & 0x60);
    // at lower res, the low bits are undefined, so let's zero them
    if (cfg == 0x00) raw = raw & ~7;  // 9 bit resolution, 93.75 ms
    else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms
    else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms
    //// default is 12 bit resolution, 750 ms conversion time
  }
  celsius = (float)raw / 16.0;
  fahrenheit = celsius * 1.8 + 32.0;
  Serial.print("  Temperature = ");
  Serial.print(celsius);
  Serial.print(" Celsius, ");
  Serial.print(fahrenheit);
  Serial.println(" Fahrenheit");
}

Servomotor ansteuern

Development Board

Einen Servo mit einem Arduino anzusteuern ist kein Hexenwerk. Mit nachfolgendem Sketch können zwei unterschiedliche Positionen angefahren werden.

// Servo Libary 
#include <Servo.h>
 
// Neues Objekt
Servo myservo;
int wert_auf;
int wert_zu;
 
void setup()
{
  // Servo an Pin 9 koppeln
  myservo.attach(9);
  Serial.begin(9600);
}
 
void loop()
{
  
   // Servo auf steuern
  wert_auf = 900;
  // 10-bit Wert des Analogeingangs (0-1023) in Winkel 0-180 umrechnen
  wert_auf = map(wert_auf, 0, 1023, 0, 180);  
  myservo.write(wert_auf);
  // Kurze Pause, damit der Servo die neue Position anfahren kann
  delay(1500);

  // Servo zu steuern
  wert_zu = 800;
  // 10-bit Wert des Analogeingangs (0-1023) in Winkel 0-180 umrechnen
  wert_zu = map(wert_zu, 0, 1023, 0, 180);  
  myservo.write(wert_zu);
  // Kurze Pause, damit der Servo die neue Position anfahren kann
   delay(1500);
 

}

Willkommen

Willkommen zur deutschen Version von WordPress. Dies ist der erste Beitrag. Du kannst ihn bearbeiten oder löschen. Und dann starte mit dem Schreiben!