สารบัญ:
- ขั้นตอนที่ 1: Conception Du Circuit En Entrée / การออกแบบวงจรทางเข้า
- ขั้นตอนที่ 2: Conception Du Circuit En Sortie / การออกแบบวงจรเอาต์พุต
- ขั้นตอนที่ 3: Conception Des PCB / การออกแบบ PCB
- ขั้นตอนที่ 4: Périphériques Pour La Carte DE0 Nano Soc / อุปกรณ์ต่อพ่วงสำหรับการ์ด DE0 Nano Soc
- ขั้นตอนที่ 5: L'écran LT24
- ขั้นตอนที่ 6: รหัสยูทิลิตี้ En C ++ / รหัสที่มีประโยชน์ใน C ++
- ขั้นตอนที่ 7: Le Final / รอบชิงชนะเลิศ
วีดีโอ: กระบองเพชร 2000: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
โครงการ MIDI-CONTROLEUR EISE4
ฝรั่งเศส:
Lors de notre quatrième année d'école ingénieur, nous avons réalisé un midi-contrôleur. Pour ce faire, nous avions à notre จำหน่าย:
- Une carte DE0 นาโน ซอค
- Des oscilloscopes, des multimètres
- Des composants de différents types (เครื่องขยายเสียง, ความต้านทาน, ความจุ…)
- Un micro et un haut-parleur
- Un petit ecran
Il nous a fallu passer par différentes étapes périlleuses afin de réussir le projet Nous allons vous les présenter dans cet Instructable.
Pour Beginr, le dessin du circuit de base était nécessaire afin de récupérer le son du micro et le rendre au haut-parleur Une fois le circuit dessiner, le PCB était à faire sur le logiciel Altium จี้ que deux élèves s'occupaient de gérer les PCB de l'entrée et de la sortie, les deux autres s'occupaient de faire fonctionner la carte DE0 Nano Soc afin que la carte puisse récupérer les echantillons du micro et haut-parleur. สุดท้าย, il nous a fallu créer des effets sonores pour modifier le son.
ภาษาอังกฤษ:
ในช่วงปีสี่ของการศึกษา ในการทำเช่นนี้ เรามีพร้อม:
- แผนที่ DE0 Nano Soc
- ออสซิลโลสโคป มัลติมิเตอร์
- ส่วนประกอบประเภทต่างๆ (แอมพลิฟายเออร์, ความต้านทาน, ความจุ …)
- ไมโครโฟนและลำโพง
- หน้าจอเล็กๆ
เราต้องผ่านขั้นตอนอันตรายต่างๆ เพื่อให้โครงการประสบความสำเร็จ เราจะแนะนำให้คุณรู้จักกับคำแนะนำนี้
ประการแรกการออกแบบวงจรพื้นฐานที่จำเป็นในการกู้คืนลูกชายของไมโครโฟนและสร้างลำโพง เมื่อวาดวงจรแล้ว ให้ทำ PCB บนซอฟต์แวร์ Altium ในขณะที่นักเรียนสองคนกำลังยุ่งอยู่กับการจัดการ PCB อินพุตและเอาต์พุต อีกสองคนกำลังทำงานเพื่อเรียกใช้การ์ด DE0 Nano Soc เพื่อให้การ์ดสามารถรับตัวอย่างไมโครโฟนและส่งสัญญาณไปยังลำโพงได้ สุดท้ายเราต้องสร้างเอฟเฟกต์เสียงเพื่อเปลี่ยนเสียง
ขั้นตอนที่ 1: Conception Du Circuit En Entrée / การออกแบบวงจรทางเข้า
ฝรั่งเศส:
La première étape ประกอบด้วย à mettre en place un circuit qui puisse prendre le signal envoyer sur le micro pour le transmettre à la carte DE0 Nano Soc.
Ci-dessus le schéma de notre entrée.
(1) L'inverseur va permettre de récupérer le 5 Volt et le transformer en - 5 V. Le - 5 V ใช้งานได้หลากหลาย que nous verrons ci-dessous
(2) Ici, nous avons un amplificateur non-inverseur. D'après la formule suvante:
Vs = เว (1 + Z1/Z2)
ที่ตัวเลือก un gain de 101 en mettant R1 = 100 kOhm et R2 = 1 kOhm
Cet amplificateur va servir เครื่องขยายเสียง le son du micro.
(3) Les deux résistances vont créer un offset afin que la tension de sortie soit ประกอบด้วย entre 0 et 4 V.
(4) Le micro qui va être amplifier par l'amplificateur.
(5) CAG (คอนโทรล ออโตมาติค เดอ เกน)
(6) Pour finir, nous avons créé un filtre passe-bas du second ordre avec deux RC. L'ordre 2 était nécessaire pour avoir une atténuation de - 40db / ทศวรรษ La frequence de coupure choisit est 20 kHz.
ภาษาอังกฤษ:
ขั้นตอนแรกคือการตั้งค่าวงจรที่สามารถรับสัญญาณที่ส่งไปยังไมโครโฟนเพื่อส่งไปยังการ์ด DE0 Nano Soc เหนือไดอะแกรมของรายการของเรา
(1) อินเวอร์เตอร์จะกู้คืน 5 โวลต์และแปลงเป็น - 5 V. - 5 V จะทำหน้าที่สำหรับเครื่องขยายเสียงเราจะดูด้านล่าง
(2) ที่นี่เรามีแอมพลิฟายเออร์ที่ไม่กลับด้าน ตามสูตรต่อไปนี้:
Vs = เว (1 + Z1 / Z2)
เกน 101 ถูกเลือกโดยการตั้งค่า R1 = 100 kOhm และ R2 = 1 kOhm
แอมพลิฟายเออร์นี้จะใช้ในการขยายเสียงของไมโครโฟน
(3) ตัวต้านทานสองตัวจะสร้างออฟเซ็ตเพื่อให้แรงดันเอาต์พุตอยู่ระหว่าง 0 ถึง 4 V
(4) ไมโครโฟนที่จะขยายโดยเครื่องขยายเสียง
(5) AGC (การควบคุมอัตราขยายอัตโนมัติ)
(6) สุดท้าย เราได้สร้างตัวกรองสัญญาณความถี่ต่ำอันดับสองที่มี RC สองตัว ลำดับที่ 2 จำเป็นต้องมีการลดทอนที่ -40db / ทศวรรษ ความถี่ตัดที่เลือกคือ 20 kHz
ขั้นตอนที่ 2: Conception Du Circuit En Sortie / การออกแบบวงจรเอาต์พุต
ฝรั่งเศส:
หยุดชั่วคราวชั่วคราว nous avons penser à la création du circuit en sortie
Ci-dessus le schéma de notre sortie.
(1) Le DAC (ตัวแปลงดิจิทัลเป็นแอนะล็อก) ที่ใช้งานได้จริง ตัวประมวลผลสัญญาณ numérique envoyer par la carte DE0 Nano Soc et le convertir en signal แบบอะนาล็อก (สำหรับใช้ทั่วไป)
(2) La capacité va servir a virer la composante ดำเนินการต่อ de notre signal.
(3) การตัดต่อ qui va permettre d'amplifier la puissance de notre signal. Nous avons prit le schéma:
www.ti.com/lit/ds/symlink/lm386.pdf
หน้า 10
Ce schéma permet d'avoir un gain de 200 qui est nécessaire car notre signal est vraiment faible.
ภาษาอังกฤษ:
เหนือไดอะแกรมของผลลัพธ์ของเรา
(1) DAC (Digital to Analog Converter) ซึ่งจะช่วยให้สามารถกู้คืนสัญญาณดิจิตอลที่ส่งโดยการ์ด DE0 Nano Soc และแปลงเป็นสัญญาณแอนะล็อก (จำเป็นสำหรับลำโพง)
(2) ความจุจะใช้ในการถ่ายโอนองค์ประกอบต่อเนื่องของสัญญาณของเรา
(3) การติดตั้งที่จะขยายกำลังของสัญญาณของเรา เราใช้โครงการ:
www.ti.com/lit/ds/symlink/lm386.pdf
หน้า 10
แบบแผนนี้ทำให้สามารถได้รับ 200 ซึ่งจำเป็นเนื่องจากสัญญาณของเราอ่อนมาก
ขั้นตอนที่ 3: Conception Des PCB / การออกแบบ PCB
ฝรั่งเศส:
Une fois que nos circuits ont été instanciés il nous a fallu les mettre sur des PCB.
ริน ce faire, nous avons utiliser le logiciel Altium. Il faut que tout soit แก้ไขตัวเชื่อมต่อ puis cliquer sur:
การออกแบบเมนู -> อัปเดตเอกสาร PCB
ห้องน้ำในตัว, cliquez sur «ตรวจสอบการเปลี่ยนแปลง». Pour chaque changement validé, un crochet vert apparaît dans la colonne: «ตรวจสอบ».
Après cela, vous aurez un nouvel onglet qui va s'ouvrir et il faudra placer les composants dans cette fenêtre
Puis, il faut aller dans le menu "File" -> "Fabrication Output" -> "Gerber Files"
Une fenêtre s'ouvre, dans celle-ci vous trouverez;
- เมนู Le "Layers" qui vous permettra de choisir sur quellayer va s'appuyer votre PCB.
- เมนู "Drill Drawing" dans lequel il faut que tout soit décocher.
- เมนู Le "Apertures" dans lequel il faut cocher "Embedded appertures"
Toute ses étapes sont complétées ?
Revenons maintenant à la fenêtre avec les composants sur celle-ci vous cliquez sur
ไฟล์ -> เอาต์พุตการประดิษฐ์ -> ไฟล์เจาะ NC
C'est enfin finit, il ne reste plus qu'à donner à l'imprimante 3D les fichiers.
Vous trouverez ci-joint les photos de nos deux PCB.
ภาษาอังกฤษ:
เมื่อวงจรของเราสร้างอินสแตนซ์แล้ว เราต้องใส่มันลงบน PCB
ในการดำเนินการนี้ เราใช้ซอฟต์แวร์ Altium ทุกอย่างจะต้องเชื่อมต่ออย่างถูกต้องจากนั้นคลิกที่:
การออกแบบเมนู -> อัปเดตเอกสาร PCB
จากนั้นคลิกที่ "ตรวจสอบการเปลี่ยนแปลง" สำหรับการเปลี่ยนแปลงที่ตรวจสอบแล้วแต่ละรายการ เครื่องหมายถูกสีเขียวจะปรากฏในคอลัมน์ "ตรวจสอบ"
หลังจากนั้น คุณจะมีแท็บใหม่ที่จะเปิดขึ้น และคุณจะต้องวางส่วนประกอบในหน้าต่างนี้
จากนั้นคุณต้องไปที่ "ไฟล์" -> "เอาต์พุตเอาต์พุต" -> เมนู "ไฟล์ Gerber"
หน้าต่างจะเปิดขึ้นในหน้าต่างนี้คุณจะพบ
เมนู "เลเยอร์" ที่ให้คุณเลือกได้ว่าเลเยอร์ใดจะรองรับ PCB ของคุณ เมนู "Drill Drawing" ที่ต้องยกเลิกการเลือกทุกอย่าง เมนู "Apertures" ที่คุณต้องเลือก "Embedded appertures"
ทุกขั้นตอนของเขาเสร็จสมบูรณ์แล้ว?
กลับไปที่หน้าต่างที่มีส่วนประกอบในหน้าต่างนี้ที่คุณคลิก
ไฟล์ -> เอาต์พุตการผลิต -> ไฟล์เจาะ NC
มันจบลงแล้ว สิ่งที่คุณต้องทำคือมอบไฟล์ให้กับเครื่องพิมพ์ 3 มิติ
คุณจะพบรูปถ่ายของ PCB ทั้งสองของเราที่แนบมา
ขั้นตอนที่ 4: Périphériques Pour La Carte DE0 Nano Soc / อุปกรณ์ต่อพ่วงสำหรับการ์ด DE0 Nano Soc
ฟรานซิส:
ทางเลือกในการเพิ่มประสิทธิภาพ IP สำหรับการทดสอบ Intel FPGA และประสิทธิภาพสำหรับการทดสอบ
Grâce au logiciel Qsys nous avons pu créer des périphériques embarqués และ notre carte.
Voici une liste des périphériques que nous avons ajouter:
- การสื่อสาร SPI สำหรับ DAC
- ADC pour recupérer les valeurs analogique de notre signal et les convertir en donnée digitales
- HPS (ตัวประมวลผล) เท gérer tout les codes
- GPIO เท les boutons qui vont servir à exécuter ผลลัพธ์ที่แน่นอน
- Mémoire (บนหน่วยความจำชิป)
ภาษาอังกฤษ:
แกน IP ได้รับการปรับให้เหมาะสมสำหรับอุปกรณ์ Intel FPGA และสามารถใช้งานได้ง่ายเพื่อลดเวลาในการออกแบบและทดสอบ
ด้วยซอฟต์แวร์ Qsys เราจึงสามารถสร้างอุปกรณ์ต่อพ่วงแบบฝังในแผนที่ของเราได้ นี่คือรายการอุปกรณ์ที่เราเพิ่ม:
- การสื่อสาร SPI สำหรับ DAC
- ADC เพื่อดึงค่าแอนะล็อกจากสัญญาณของเราและแปลงเป็นข้อมูลดิจิทัล
- HPS (โปรเซสเซอร์) เพื่อจัดการรหัสทั้งหมด
- GPIO สำหรับปุ่มที่จะใช้เพื่อรับมือกับเอฟเฟกต์บางอย่าง
- หน่วยความจำ (บนหน่วยความจำของชิป)
ขั้นตอนที่ 5: L'écran LT24
ฝรั่งเศส:
Il nous a fallu comprendre et gérer l'écran LT24 celui-ci sera guidé par un กระบวนการจำลอง NIOS
เท l'initaliser, nous avons lu beaucoup de document sur celui-ci.
สุดท้าย, notre écran sert à afficher la FFT, à sélectionner l'effet voulu.
ภาษาอังกฤษ:
เราต้องทำความเข้าใจและจัดการหน้าจอ LT24 ซึ่งจะได้รับคำแนะนำจากโปรเซสเซอร์ NIOS จำลอง เพื่อเริ่มต้น เราอ่านเอกสารจำนวนมากเกี่ยวกับมัน
ในท้ายที่สุด หน้าจอของเราจะใช้เพื่อแสดง FFT เพื่อให้ได้เอฟเฟกต์ที่ต้องการ
ขั้นตอนที่ 6: รหัสยูทิลิตี้ En C ++ / รหัสที่มีประโยชน์ใน C ++
Je vais vous montrer les codes en C++ qui nous ont utiles afin de réaliser des effets sonores.
Voici d'abord toutes nos déclarations (oui un peu exhaustif…):
ฉันจะแสดงรหัสในภาษา C ++ ที่เป็นประโยชน์สำหรับเราในการสร้างเอฟเฟกต์เสียง
อันดับแรก ข้อความทั้งหมดของเรา (ใช่ ค่อนข้างละเอียดถี่ถ้วน…):
#รวม
#รวม #รวม #รวม #รวม #รวม #รวม #รวม #รวม #รวม "WavUtils.cpp" #รวม "Biquad.cpp" #รวม #รวม #รวม #รวม "hps_0.h" #รวม "hps.h" #include "alt_gpio.h" #include "hwlib.h" #include "socal.h" #include #include "kiss_fft.h" #define nbpoint 1000 #define HW_REGS_BASE (ALT_STM_OFST) #define HW_REGS_SPAN (0x04000000) #define HWSK_ HW_REGS_SPAN - 1) #define PI 3.1415926535 #define NFFT 80 #define FE 41000 #define F2 10000 #define F1 5925 #define PH 5000 #define PB 15000 #define MOD 2000 โดยใช้เนมสเปซ std; const ยาว SAMPLE_RATE = 12500000; // Création de la configuration และ des buffers ใน et out เท s (t) et S (f) const kiss_fft_cfg config = kiss_fft_alloc (NFFT, 0, NULL, NULL); const kiss_fft_cfg config_inv = kiss_fft_alloc (NFFT, 1, NULL, NULL); kiss_fft_cpx* ใน = (kiss_fft_cpx*)malloc(NFFT*sizeof(kiss_fft_cpx)); kiss_fft_cpx* ออก = (kiss_fft_cpx*)malloc(NFFT*sizeof(kiss_fft_cpx)); kiss_fft_cpx* inv = (kiss_fft_cpx*)malloc(NFFT*sizeof(kiss_fft_cpx));queueoutBuf; int โกลบอล = 0; int ผม = 0; ข้อมูลสั้น data2;
Ci-dessous une de nos fonctions permettant la modulation:
ด้านล่างหนึ่งในฟังก์ชันของเราที่อนุญาตให้มอดูเลต:
โมฆะมอดูเลต (ความถี่ int)
{ if(i<NFFT) { data=data*cos(2*PI*freq*i/FE); ใน.r=data; ผม++; } อื่น i="0"; }
Voici notre fonction หลัก:
หน้าที่หลักของเราเหล่านี้:
int main (int argc, ถ่าน **argv)
{ ตัวแปร unsigned long *h2p_lw_spi_addr=NULL; ผันผวน unsigned long *h2p_lw_led_addr=NULL; ผันผวน unsigned long *h2p_lw_adc_addr=NULL; ผันผวน unsigned long *h2p_lw_blue_addr=NULL; ผันผวน unsigned long *h2p_lw_red_addr=NULL; ผันผวน unsigned long *h2p_lw_black_addr=NULL; เป็นโมฆะ *virtual_base; int fd; printf("1\n"); // แมปพื้นที่ที่อยู่สำหรับการลงทะเบียน spi ลงในพื้นที่ผู้ใช้เพื่อให้เราสามารถโต้ตอบกับพวกเขาได้ // เราจะแมปในช่วง CSR ทั้งหมดของ HPS เนื่องจากเราต้องการเข้าถึงการลงทะเบียนต่างๆ ภายในช่วงนั้น if((fd = open("/dev/mem", (O_RDWR | O_SYNC))) == -1) { printf("ข้อผิดพลาด: ไม่สามารถเปิด \"/dev/mem\"…\n"); กลับ(1); } printf("2\n"); virtual_base = mmap(NULL, HW_REGS_SPAN, (PROT_READ | PROT_WRITE), MAP_SHARED, fd, HW_REGS_BASE); printf("3\n"); if(virtual_base == MAP_FAILED) { printf("ข้อผิดพลาด: mmap() ล้มเหลว…\n"); ปิด(fd); กลับ(1); } printf("4\n"); printf("5\n"); h2p_lw_spi_addr = virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (unsigned long) (HW_REGS_MASK)); h2p_lw_led_addr = virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + PIO_LED_BASE) & (unsigned long) (HW_REGS_MASK)); h2p_lw_adc_addr = virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + ADC_0_BASE) & (unsigned long) (HW_REGS_MASK)); h2p_lw_blue_addr= virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + PIO_BLUE_BASE) & (unsigned long) (HW_REGS_MASK)); h2p_lw_black_addr= virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + PIO_BLACK_BASE) & (unsigned long) (HW_REGS_MASK)); h2p_lw_red_addr= virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + PIO_RED_BASE) & (unsigned long) (HW_REGS_MASK)); //int i=0; ข้อมูล int; int ผม= 0, เจ; // Création de la configuration และ des buffers ใน et out เท s (t) et S (f) const kiss_fft_cfg config = kiss_fft_alloc (NFFT, 0, NULL, NULL); kiss_fft_cpx* ใน = (kiss_fft_cpx*)malloc(NFFT*sizeof(kiss_fft_cpx)); kiss_fft_cpx* ออก = (kiss_fft_cpx*)malloc(NFFT*sizeof(kiss_fft_cpx)); ในขณะที่(1){ data = *(h2p_lw_adc_addr+2); if(*h2p_lw_blue_addr == 1) data = echo(data, 20); ถ้า(*h2p_lw_black_addr == 1) alt_write_word(h2p_lw_led_addr, 0x0F); ถ้า(*h2p_lw_red_addr == 0) alt_write_word(h2p_lw_led_addr, 0xF0); alt_write_word(h2p_lw_spi_addr+1, ข้อมูล | 0b111000000000000); } ฟรี (config); ฟรี(ใน); ฟรี(ออก); กลับ 0; }
ขั้นตอนที่ 7: Le Final / รอบชิงชนะเลิศ
ฝรั่งเศส:
Eh voilà (enfin) le rendu final de notre Cactus 2000.
Nous avons mis les PCB entrée et sortie qui sont reliés à la carte DE0 นาโน Soc.
ห้องน้ำในตัว ses composants sont places à l'interieur d'une boite jaune
Sur la boîte บน trouve un potentiomètre glissière, qui permet de gérer le volume du son, des potentiomètres et des boutons qui permettrons de lancer sures effets, ainsi que un ecran qui permettra d'afficher la FFT
Le haut-parleur est positionné perpendiculairement par rapport aux boutons. ตำแหน่งที่เหมาะที่สุด Le micro est positionné de l'autre coté de la boîte par rapport au haut-parleur.
C'est tout pour aujourd'hui.
En esperant que cet คำแนะนำ vous soit utile
ภาษาอังกฤษ:
นี่คือ (ในที่สุด) การเรนเดอร์สุดท้ายของ Cactus 2000 ของเรา
เราใส่ PCB อินพุตและเอาต์พุตที่เชื่อมต่อกับบอร์ด DE0 Nano Soc
จากนั้นจึงนำส่วนประกอบต่างๆ มาใส่ในกล่องสีเหลือง
ในกล่องมีโพเทนชิออมิเตอร์แบบสไลด์ซึ่งสามารถจัดการระดับเสียง ลูกบิดและปุ่มที่จะเปิดใช้เอฟเฟกต์บางอย่าง และหน้าจอที่จะแสดง FFT
ลำโพงอยู่ในตำแหน่งตั้งฉากกับปุ่มต่างๆ ไมโครโฟนอยู่ในตำแหน่งอีกด้านหนึ่งของกล่องที่สัมพันธ์กับลำโพง
นั่นคือทั้งหมดสำหรับวันนี้
หวังว่าคำแนะนำนี้จะเป็นประโยชน์กับคุณ
แนะนำ:
เครื่องทำความร้อนเหนี่ยวนำ 2000 วัตต์: 9 ขั้นตอน (พร้อมรูปภาพ)
เครื่องทำความร้อนเหนี่ยวนำ 2000 วัตต์: เครื่องทำความร้อนแบบเหนี่ยวนำเป็นเครื่องมือที่ยอดเยี่ยมสำหรับการทำความร้อนวัตถุโลหะที่อาจมีประโยชน์ในพื้นที่ทำงาน DIYers เมื่อคุณต้องการทำให้สีแดงร้อนโดยไม่ทำให้พื้นที่ทั้งหมดยุ่งเหยิง ดังนั้นวันนี้เราจะมาสร้างอุปนัยที่ทรงพลังอย่างที่สุด
วิธีทำตัวควบคุมแรงดันไฟฟ้า 2000 วัตต์: 7 ขั้นตอน
วิธีทำเครื่องปรับแรงดันไฟฟ้า 2,000 วัตต์: สวิตช์หรี่ไฟ - ตัวควบคุมกำลังโหลดอิเล็กทรอนิกส์ใช้กันอย่างแพร่หลายในอุตสาหกรรมและชีวิตประจำวันเพื่อควบคุมความเร็วในการหมุนของมอเตอร์ไฟฟ้า, ความเร็วพัดลม, องค์ประกอบความร้อนขององค์ประกอบความร้อน, ความเข้มของแสงในห้องด้วยไฟฟ้า ลำ
DIY 2000 Watts PWM Speed Controller: 8 ขั้นตอน (พร้อมรูปภาพ)
DIY 2000 Watts PWM Speed Controller: ฉันกำลังพยายามแปลงจักรยานของฉันให้เป็นจักรยานไฟฟ้าโดยใช้มอเตอร์ DC สำหรับกลไกประตูอัตโนมัติ และฉันได้ผลิตก้อนแบตเตอรี่ที่พิกัด 84v DC ด้วย ตอนนี้ เราต้องการตัวควบคุมความเร็วที่สามารถจำกัดปริมาณพลังงานที่ลดลง
รับปฏิทินจาก Microsoft Outlook 2000 ไปยัง Ipod โดยไม่ต้องใช้ซอฟต์แวร์: 3 ขั้นตอน
รับปฏิทินจาก Microsoft Outlook 2000 ถึง Ipod โดยไม่ต้องใช้ซอฟต์แวร์: ในคำแนะนำนี้ ฉันจะแสดงวิธีรับปฏิทินจาก Microsoft Outlook 2000 (หรือเวอร์ชันที่ iTunes ไม่รองรับ) ไปยัง iPod ของคุณ (รุ่นเดียวที่รองรับการใช้ดิสก์) โดยไม่ต้องดาวน์โหลดซอฟต์แวร์ มีบางสิ่งที่ฉันอยากจะทำ
ผู้ตัดสินใจ 2000: 4 ขั้นตอน
ผู้ตัดสินใจ 2000: มีปัญหาในการตัดสินใจหรือไม่? การตัดสินใจเปลี่ยนชีวิตดีกว่าปล่อยให้โอกาส? ด้วย Decision Maker 2000 เป็นเรื่องง่าย! คุณและเพื่อนๆ สามารถตัดสินใจเรื่องสำคัญได้โดยไม่ต้องพยายาม ให้ Decision Maker 2000 ตอบคำถามสำคัญ