Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:arduino-ad9850-dds

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projekte:arduino-ad9850-dds [2016-11-17 00:32] danielwfprojekte:arduino-ad9850-dds [2022-11-17 22:34] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Arduino-AD9850-DDS ====== ====== Arduino-AD9850-DDS ======
 +(siehe auch https://wiki.funkfreun.de/projekte/arduino-ad9850-dds ) \\
 Der AD9850 ([[http://www.analog.com/media/en/technical-documentation/data-sheets/AD9850.pdf|Datenblatt]]) ist ein DDS, der ein Sinussignal von 0-40MHz erzeugen kann. \\ Der AD9850 ([[http://www.analog.com/media/en/technical-documentation/data-sheets/AD9850.pdf|Datenblatt]]) ist ein DDS, der ein Sinussignal von 0-40MHz erzeugen kann. \\
 In diesem Projekt wird er von einem Arduino Nano angesteuert. \\ In diesem Projekt wird er von einem Arduino Nano angesteuert. \\
 Die Frequenzeinstellung sowie die Quartz-Kalibration erfolgt mit einem Drehencoder und einem I2C-Textdisplay (16x2). Die eingestellten Werte können im Arduino-EEPROM gespeichert werden. \\ \\ Die Frequenzeinstellung sowie die Quartz-Kalibration erfolgt mit einem Drehencoder und einem I2C-Textdisplay (16x2). Die eingestellten Werte können im Arduino-EEPROM gespeichert werden. \\ \\
-{{:projekte:15123283_1264569416898139_2387112230815693299_o.jpg?nolink&200 |}}+{{:projekte:15123283_1264569416898139_2387112230815693299_o.jpg?direct&200 |}}
 ^          Verdrahtung am Arduino        ^^^ ^          Verdrahtung am Arduino        ^^^
 ^ Modul ^  Pin Name ^ Arduino Pin ^ ^ Modul ^  Pin Name ^ Arduino Pin ^
Zeile 18: Zeile 19:
 \\ \\
 Benutzte Bibliotheken:   Benutzte Bibliotheken:  
-  * Drehencoder: Encoder http://www.pjrc.com/teensy/td_libs_Encoder.html Copyright (c) 2011,2013 PJRC.COM, LLC - Paul Stoffregen <paul@pjrc.com> +  * Drehencoder: Encoder http://www.pjrc.com/teensy/td_libs_Encoder.html LLC - Paul Stoffregen <paul@pjrc.com> 
-  * EEPROMex http://thijs.elenbaas.net/2012/07/extended-eeprom-library-for-arduino/  Copyright (c) 2012 Thijs Elenbaas, GNU LGPL+  * EEPROMex http://thijs.elenbaas.net/2012/07/extended-eeprom-library-for-arduino/  Thijs Elenbaas, GNU LGPL 
 +  * NewLiquidCrystal https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home  by F. Malpartida, CC-BY-SA 3.0
   * zum Teil integriert (muss nicht installiert werden, hier nur als Referenz) AD9850 https://github.com/F4GOJ/AD9850  Created 23/08/2014, Christophe Caiveau f4goj@free.fr, Public Domain   * zum Teil integriert (muss nicht installiert werden, hier nur als Referenz) AD9850 https://github.com/F4GOJ/AD9850  Created 23/08/2014, Christophe Caiveau f4goj@free.fr, Public Domain
-{{ :projekte:15110888_1264580906896990_5925148302540626034_o.jpg?nolink&200|}}+{{ :projekte:15110888_1264580906896990_5925148302540626034_o.jpg?direct&200|}}
 Kurze Warnung vorab: ich bin kein Programmierer und es gibt die ein oder andere Stelle, die man noch verbessern könnte*. Auch wenn der Code gut funktioniert, bin ich für jeden Tip per Mail an danielwf@hackerspace-bremen.de dankbar - man lernt ja schließlich nie aus ;) Kurze Warnung vorab: ich bin kein Programmierer und es gibt die ein oder andere Stelle, die man noch verbessern könnte*. Auch wenn der Code gut funktioniert, bin ich für jeden Tip per Mail an danielwf@hackerspace-bremen.de dankbar - man lernt ja schließlich nie aus ;)
  
-*//Todo:// Serielle Frequenzeingabe; DrehEncoder-Eingabe tlw. ungenau; EEPROM-Update wird immer geschrieben, wenn der Mode geändert wird -> Nur schreiben, wenn sich der Wert im EEPROM auch wirklich geändert hat. +*//Todo:// Serielle Frequenzeingabe; DrehEncoder-Eingabe tlw. ungenau; EEPROM-Update wird immer geschrieben, wenn der Mode geändert wird -> Nur schreiben, wenn sich der Wert im EEPROM auch wirklich geändert hat. \\ 
- +\\ 
-Das gesamte Projekt inkl. Libraries kann [[https://wiki.hackerspace-bremen.de/_media/projekte/arduino-ad9850-dds.zip|hier als zip-Archiv]] herunterladen werden.+**Das gesamte Projekt inkl. Libraries kann [[https://wiki.hackerspace-bremen.de/_media/projekte/arduino-ad9850-dds.zip|hier als zip-Archiv]] herunterladen werden.**\\
  
 **Arduino-Sketch** Arduino-AD9850-DDS.ino (Arduino 1.6.9, Stand 17.11.2016) **Arduino-Sketch** Arduino-AD9850-DDS.ino (Arduino 1.6.9, Stand 17.11.2016)
Zeile 41: Zeile 43:
 //                                      incl. XTAL-calibration and saving values to EEPROM //                                      incl. XTAL-calibration and saving values to EEPROM
 //     Used Libraries: //     Used Libraries:
-//     Encoder http://www.pjrc.com/teensy/td_libs_Encoder.html Copyright (c) 2011,2013 PJRC.COM, LLC - Paul Stoffregen <paul@pjrc.com> +//     Encoder http://www.pjrc.com/teensy/td_libs_Encoder.html PJRC.COM, LLC - Paul Stoffregen <paul@pjrc.com> 
-//     EEPROMex http://thijs.elenbaas.net/2012/07/extended-eeprom-library-for-arduino/  Copyright (c) 2012 Thijs Elenbaas, GNU LGPL+//     EEPROMex http://thijs.elenbaas.net/2012/07/extended-eeprom-library-for-arduino/  Thijs Elenbaas, GNU LGPL
 //     in parts AD9850 https://github.com/F4GOJ/AD9850  Created 23/08/2014, Christophe Caiveau f4goj@free.fr, Public Domain //     in parts AD9850 https://github.com/F4GOJ/AD9850  Created 23/08/2014, Christophe Caiveau f4goj@free.fr, Public Domain
 +//     NewLiquidCrystal https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home see website for authors and license
 // //
 // //
Zeile 86: Zeile 89:
 #include <Wire.h> #include <Wire.h>
 #include <LiquidCrystal_I2C.h>                                       // I2C-LCD-Library, included in Arduino-IDE #include <LiquidCrystal_I2C.h>                                       // I2C-LCD-Library, included in Arduino-IDE
-LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);       // Set the LCD I2C address, SainSmartLCD2004 0x3F, maybe try 0x38 or 0x20+LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);       // Set the LCD I2C address, SainSmartLCD2004 0x3F, maybe try 0x38 or 0x20 or 0x27
 bool DisplayRefresh = 1;                           bool DisplayRefresh = 1;                          
  
Zeile 261: Zeile 264:
  
 } }
 +
 +
 +
  
  
  
 </code> </code>
projekte/arduino-ad9850-dds.1479339178.txt.gz · Zuletzt geändert: 2022-11-17 22:34 (Externe Bearbeitung)