Სარჩევი:
- მარაგები
- ნაბიჯი 1: მშენებლობა
- ნაბიჯი 2: პროგრამის გაშვება - ტესტირება
- ნაბიჯი 3: რეალური მონაცემების ჩაწერა
- ნაბიჯი 4: შეზღუდვები ADC შეყვანის არჩევანზე
- ნაბიჯი 5:.bin ფაილების.csv ფაილებად გადაყვანა
- ნაბიჯი 6: კომენტარები კოდექსზე და გაფართოებებზე
ვიდეო: დაარეგისტრირეთ მაღალი სიჩქარის ეკგ ან სხვა მონაცემები, უწყვეტად ერთი თვის განმავლობაში: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ეს პროექტი შემუშავდა უნივერსიტეტის სამედიცინო კვლევითი ჯგუფის მხარდასაჭერად, რომელსაც სჭირდებოდა ტარება, რომელსაც შეეძლო 2 x ეკგ სიგნალის აღება 1000 ნიმუშზე/წმ თითოეულში (2K ნიმუში/წმ სულ) განუწყვეტლივ 30 დღის განმავლობაში, არითმიების გამოვლენის მიზნით. აქ წარმოდგენილი პროექტი მოიცავს დისტანციურ მართვას და მონიტორინგს ხეებზე. დისტანციური მართვა ხდება მენიუს საშუალებით, რომელიც წარმოდგენილია სერიულ ტერმინალზე, კომპიუტერზე ან მობილურ ტელეფონზე. ეს პროექტი არ მოიცავს ეკგ -ს გაზომვას ან შეფუთვას ან ბატარეას, რომელიც საჭიროა საბოლოო ტარებისათვის.
ეს მაღალი სიჩქარე/ხანგრძლივობის ვერსია იყენებს Teensy 3.2, Adafruit Micro-SD გარღვევის მოდულს, ხარისხის 16G SDHC კლასის 10 SD ბარათს მონაცემების შესასვლელად და Bluetooth საკომუნიკაციო მოდულს კონტროლისა და მონიტორინგისთვის. ასევე შესაძლებელია ამ პროექტის ნაკლებად განვითარებული და ნელი UNO/Mega2560 ვერსია. მიუხედავად იმისა, რომ ეს პროექტი იყენებს Bluetooth საკომუნიკაციო მოდულს ხეების კონტროლისა და მონიტორინგისთვის, ასევე შეგიძლიათ გამოიყენოთ WiFi ან BLE მოდულები.
ამ ვერსიას, რომელიც დაფუძნებულია Teensy 3.2 – ზე, შეუძლია გაცილებით მაღალი შერჩევის მაჩვენებელი ვიდრე UNO/Mega2560 ვერსიას. ამ კოდის გამოყენებით Teensy 3.2 -ს შეუძლია აიღოს და შეაგროვოს ორი ADC ნიმუში> 30Khz ტექნიკით, საშუალოდ 4 -ზე მეტი ნიმუშით და ასე ადვილად აკმაყოფილებს ზემოთ მოცემულ 1000 ნიმუშს/წმ მოთხოვნას. კოდი მხარს უჭერს 100.bin ფაილების შენახვას 128K თითოეული. 30 კჰც -ზე, რომელიც მოიცავს 29 საათსა და 30 წუთს. 1000 ნიმუშზე/წამში იგი მოიცავს 37 დღეს. კოდი ადვილად შეიძლება გაგრძელდეს 100 -ზე მეტ ფაილზე, ასე რომ გახანგრძლივება მუშაობის ხანგრძლივობა. გაშვების ბოლოს გექნებათ> 10Gig მონაცემები,.bin, ფაილები და.met ფაილი მეტამონაცემები, რომლებიც აღწერს მუშაობას და შედეგებს. მოწოდებული SDtoCSV.jar (წყაროს კოდი SDtoCSV_src.zip) შეიძლება გამოყენებულ იქნას.bin ფაილების.csv ფაილებად გადასაყვანად თქვენს კომპიუტერში შემდგომი დამუშავებისთვის. შედეგად მიღებული მონაცემები> 60 გიგ. UNO/Mega2560 ვერსიას აქვს.bin to.csv კონვერტაცია Arduino სკეტჩში, მაგრამ Teensy ვერსიით მონაცემების მოცულობის გათვალისწინებით, ეს არ არის კონვერტაციის ეფექტური გზა.
მარაგები
Teensy 3.2 PJRC მიერ
Adafruit MicroSD ბარათის გარღვევის დაფა+ ან მსგავსი.
16G SDHC კლასის 10 MicroSD ბარათი კარგი ხარისხის მაგ. SanDisk.
5V USB მიწოდება
სერია 470R წინააღმდეგობით.
2 x 100R რეზისტორები (უზრუნველყოფს დაცვას დაზიანებისგან Tx/Rx გაყვანილობის შეცდომების გამო)
Bluetooth Mate Silver ან ერთ -ერთი მოდული აღწერილი Arduino UNO/Mega Starter– ზე, კონტროლირებადი Android/pfodApp– ით
ნაბიჯი 1: მშენებლობა
ჩამოტვირთეთ და დააინსტალირეთ Arduino IDE V1.8.9+ https://arduino.cc/en/Main/Software– დან. ამ ვებ გვერდს აქვს სხვადასხვა ოპერაციული სისტემის ბმულები და ბმული GettingStarted (https://arduino.cc/en/Guide/HomePage).
ჩამოტვირთეთ და დააინსტალირეთ Teensyduino (Teensy Support for Arduino IDE). ყურადღებით გაითვალისწინეთ პირველი გამოყენების ინსტრუქცია.
შეარჩიეთ Teensy 3.2 როგორც დაფა და შეამოწმეთ რომ BLINK მაგალითი იტვირთება და მუშაობს.
ჩამოტვირთეთ და დააინსტალირეთ შემდეგი ბიბლიოთეკები:- millisDelay და SdFat (ამ ტესტებისთვის გამოყენებული SdFat ბიბლიოთეკის ადგილობრივი სურათი) და pfodParser.zip (pfodBufferedStream და pfodNonBlockingInput კლასისთვის)
ჩამოტვირთეთ ბიბლიოთეკის zip ფაილები და შემდეგ გამოიყენეთ Arduino IDE ket Sketch → Include Library → დაამატეთ. ZIP ბიბლიოთეკის მენიუ ბიბლიოთეკების zip ფაილებიდან დაყენების მიზნით.
გახსენით Teensy32AnalogLogger.zip ფაილი თქვენს Arduino სკეტჩების კატალოგში და დააინსტალირეთ Teensy 3.2 დაფა Teensy32AnalogLogger.ino– ით (ვერსია 0.01)
შეაერთეთ Teensy 3.2, Bluetooth მოდული და SD ბარათის მოდული, როგორც ნაჩვენებია ზემოთ (pdf ვერსია)
ნაბიჯი 2: პროგრამის გაშვება - ტესტირება
ჯერ დააფორმატე შენი SD ბარათი https://www.sdcard.org/downloads/formatter/ გამოყენებით
SD ბარათი უნდა იყოს ცარიელი, რომ დაიწყოთ ჟურნალი.
პირველადი ტესტირებისთვის თქვენ არ გჭირდებათ კომუნიკაციების მოდულის დაკავშირება, უბრალოდ დააკავშირეთ Teensy 3.2 + SD მოდული (დამონტაჟებული ცარიელი ბარათით) Arduino IDE– ს USB სერიული კაბელის საშუალებით. როგორც მოწოდებულია Teensy32AnalogLogger.ino ესკიზი იყენებს USB კავშირს კონტროლისა და მონიტორინგისთვის. იხილეთ Logging Real Data ნაბიჯი ქვემოთ საკონტროლო და მონიტორინგის საკომუნიკაციო მოწყობილობის გამოყენებისათვის.
შეცვალეთ Teensy32AnalogLogger.ino ესკიზის ზედა ნაწილი COM_SERIAL სერიულად, Teensy USB კავშირზე გამოსასვლელად.
#განსაზღვრეთ COM_SERIAL სერიალი
შემდეგ ატვირთეთ ესკიზი Teensy 3.2
გახსენით Arduino IDE სერიული მონიტორი 115200 baud (ორივე NL და CR კომპლექტით). რამდენიმე წამის შემდეგ Teensy 3.2 გამოჩნდება ბრძანებების მენიუ
Ver: 0.01 შეიყვანეთ ერთი შემდეგი ბრძანება:? - მიმდინარე სტატუსი და მეტამონაცემები - ფაილების ინიციალიზაცია l - სია ფაილები>
? cmd აჩვენებს მიმდინარე პარამეტრების დეტალებს. (იხილეთ Teensy32AnalogLogger.ino– ს ზედა ნაწილი ამ პარამეტრების შესაცვლელად) Cmds უნდა შეწყდეს NL ან CR ან ორივე ერთად.
0: 00: 00.000 720: 00: 00.000 -დან
ნიმუშის ქინძისთავები: 16 17 ბაიტის შეკვეთა: Little-Endian ADC ბიტი: 10 ADC ნიმუშის საშუალო მაჩვენებელი: 4 ნიმუშის მაჩვენებელი: 1000.00 ნიმუშის ინტერვალი: 1000uS ნიმუშები თითო ბლოკში: 127 ბლოკის შევსების დრო: 127000uS ფაილის შევსების დრო: 9:01: 52.000 ყველა ფაილის შევსების დრო: 894: 04: 48.000 მაქსიმალური SD შეყოვნება (მოიცავს ფაილის დახურვას/გახსნას): 0uS მაქსიმალური ფაილის დახურვა/გახსნის შეფერხება: 0uS ბუფერული ბლოკების რაოდენობა: 28 დრო ყველა ბლოკის ბუფერის შევსებისათვის: 3556000uS ბუფერების მაქსიმალური რაოდენობა შენახული storeSampleBuffers (): 0 გამოტოვებული ქრონომეტრები სულ: 0 სულ გამოტოვებული ნიმუშები ჯერჯერობით: 0 ჩაწერილი ბლოკები: 0 ჩაწერილი სულ ნიმუშები: 0 დაფარვა: 0: 00: 00.000 მიმდინარე ფაილი:
ამ შემთხვევაში, მიმდინარე გაშვების დრო არის 0 მოთხოვნილი 720 სთ (30 დღე), შერჩევა D16/A2 და D17/A3 (იხილეთ ქვემოთ შეზღუდვები ADC შეყვანის არჩევისას ქვემოთ) 1000 ჯერ წამში. მაქსიმალური გაშვების დრო შეიძლება იყოს 894 საათამდე (37.25 დღე). ძირითადი მარყუჟი () შეიძლება დაიკავოს 3.5 წამამდე (ყველა ბლოკის ბუფერის შევსების დრო) სანამ ყველა არსებული ბუფერი ივსება და ნიმუშების დაკარგვა დაიწყება. შენახული ბუფერები და ა.
ჩადეთ ცარიელი SD ბარათი, გამოიყენეთ 'i' cmd მონაცემების შესანახად გამოყენებული 99 ფაილის ინიციალიზაციისთვის. მათი წინასწარი ინიციალიზაცია ამცირებს დროის შეფერხებას ერთი ფაილიდან მეორეზე გადასვლისას და იძლევა უფრო სწრაფ შერჩევას.
99 ფაილის ინიციალიზაცია
ახალი ფაილის შექმნა: log00.bin გასული დრო: 368mS ახალი ფაილის შექმნა: log01.bin გასული დრო: 520mS. რა რა ახალი ფაილის შექმნა: log98.bin გასული დრო: 15660mS ახალი ფაილის შექმნა: log99.bin გასული დრო: 15812mS
ამის შემდეგ შეგიძლიათ გამოიყენოთ r cmd, რომ დაიწყოთ ხეების გაშვება. გაშვება იქნება მოთხოვნილი დროის განმავლობაში ან სანამ s cmd გამოიყენება მის შესაჩერებლად. თქვენ ასევე შეგიძლიათ გამოიყენოთ? cmd შესვლისას განახლებული ვადებისა და რიცხვების მისაღებად. აქ არის მოკლე პერსპექტივა, რომელიც ადრე შეჩერდა s cmd– ის გამოყენებით.
მოგეწონათ მონაცემები …..
Ver: 0.01 შეიყვანეთ ერთ -ერთი შემდეგი ბრძანება:? - ამჟამინდელი სტატუსი და მეტამონაცემები - მონაცემების ჟურნალის შეწყვეტა
LOGGING DATA… შეამოწმეთ? ბრძანება
გასული გაშვების დრო: 0: 00: 10.000 720: 00: 00.000 გასული გაშვების დრო: 0: 00: 20.000 720: 00: 00.000. რა რა
ჟურნალის შეწყვეტა და გამოუყენებელი ფაილების წაშლა.
რა რა რა გამოუყენებელი ფაილის წაშლა: log98.bin გამოუყენებელი ფაილის ამოღება: log99.bin
0: 01: 04.976 720: 00: 00.000
ნიმუშის ქინძისთავები: 16 17 ბაიტის შეკვეთა: Little-Endian ADC ბიტი: 10 ADC ნიმუშის საშუალო მაჩვენებელი: 4 ნიმუშის მაჩვენებელი: 1000.00 ნიმუშის ინტერვალი: 1000uS ნიმუშები თითო ბლოკში: 127 ბლოკის შევსების დრო: 127000uS ფაილის შევსების დრო: 9:01: 52.000 ყველა ფაილის შევსების დრო: 894: 04: 48.000 მაქსიმალური SD შეყოვნება (მოიცავს ფაილის დახურვას/გახსნას): 204uS ფაილის მაქსიმალური დახურვა/გახსნის შეფერხება: 0uS ბუფერული ბლოკების რაოდენობა: 28 დრო ყველა ბლოკის ბუფერის შევსებისათვის: 3556000uS ბუფერების მაქსიმალური რაოდენობა შეინახება storeSampleBuffers (): 1 გამოტოვებული ტაიმერი სულ: 0 სულ გამოტოვებული ნიმუშები ჯერჯერობით: 0 ჩაწერილი ბლოკები: 511 სულ ჩაწერილი ნიმუშები: 64832 დაფარვა: 0: 01: 04.832 მიმდინარე ფაილი: log00.bin
ls:
2000-01-01 01:00:00 261632 log00.bin 2000-01-01 01:00:00 240 log.met
მონაცემების ჩაწერა დასრულებულია!
Ver: 0.01 შეიყვანეთ ერთ -ერთი შემდეგი ბრძანება:? - მიმდინარე სტატუსი და მეტამონაცემები ** r - ADC მონაცემების ჩაწერა ** მიუწვდომელია. მონაცემები უკვე არსებობს ** i - ფაილების ინიციალიზაცია ** მიუწვდომელია. მონაცემები უკვე არსებობს l - ფაილების სიაში
მონაცემები უკვე ჩაწერილია, შეამოწმეთ?
LED ჩვენება
D3- თან დაკავშირებული LED (D2 უზრუნველყოფს GND კავშირს) ჩაირთვება მყარი თუ რომელიმე ნიმუში გამოტოვებულია და ანათებს შეცდომის შემთხვევაში. ესკიზი ცდილობს გააგრძელოს შეცდომების შემდეგ, მაგრამ შეიძლება ეს წარმატებით არ მოხდეს.
ნაბიჯი 3: რეალური მონაცემების ჩაწერა
დიდი ხნის განმავლობაში რეალური მონაცემების შეყვანისას უფრო მოსახერხებელია საკომუნიკაციო მოდულის დაკავშირება D0/D1 ქინძისთავებთან და დისტანციური მართვა და მონიტორინგი. აქ გამოყენებულია Bluetooth Mate Silver მოდული თავისი ნაგულისხმევი პარამეტრებით, 115200 baud, არანაირი აპარატურის ხელის ჩამორთმევა (RTC, CTS), პინ კოდი 1234.
შენიშვნა: როდესაც ძალა გამოიყენება Mate Silver მოდულზე, ის გადადის კონფიგურაციის რეჟიმში, წითელი წითელი მოციმციმე, 60 წამის განმავლობაში. ამ დროის განმავლობაში თქვენ შეგიძლიათ გააგზავნოთ $ $ $ სერიული კავშირის საშუალებით მოდულის კონფიგურაციისთვის, მაგრამ თქვენ არ შეგიძლიათ დააკავშიროთ მოდული. მას შემდეგ რაც წითელი led ნელა ციმციმებს, bluetooth მოდული მიიღებს კავშირებს.
შეცვალეთ COM_SERIAL განსაზღვრება Teensy32AnalogLogger.ino– ში ტექნიკის სერიულ (D0/D1) კავშირზე, Serial1
#განსაზღვრეთ COM_SERIAL სერიალი 1
კომპიუტერთან დაწყვილების შემდეგ შეიქმნა ახალი COM პორტი კომპიუტერზე და CoolTerm შეიძლება გამოყენებულ იქნას ხეების დასაკავშირებლად და გასაკონტროლებლად და მონიტორინგისთვის. ასევე შეიძლება გამოყენებულ იქნას სხვა სერიულად დაკავშირებული საკომუნიკაციო მოდულები, როგორიცაა WiFi ან BLE, იხილეთ Arduino UNO/Mega Starter, Android/pfodApp- ის მიერ კონტროლირებადი დეტალებისთვის.
თქვენ ასევე შეგიძლიათ აკონტროლოთ და აკონტროლოთ თქვენი Android მობილური ტელეფონების ბლოგი Bluetooth ტერმინალის პროგრამის გამოყენებით, როგორიცაა Bluetooth ტერმინალის აპი, ან WiFi და TCP ტერმინალის აპლიკაციის გამოყენებით, როგორიცაა TCP Telnet Terminal Pro, ან Uart to BLE mdoule და BLE ტერმინალის აპლიკაცია, როგორიცაა nRF UART V2
ნაბიჯი 4: შეზღუდვები ADC შეყვანის არჩევანზე
Teensy 3.2– ს აქვს ორი ცალკეული ADC აპარატურის მოდული, ADC_0 და ADC_1, მის მიკრო პროცესორში, ასე რომ მას შეუძლია ორი შეყვანის ერთდროულად შერჩევა. მას ასევე აქვს ჩაშენებული ტექნიკის საშუალო მაჩვენებელი, რომელიც იღებს მრავალჯერადი ADC ნიმუშს და ახდენს მათ საშუალო შედეგის მიღებამდე.
არსებობს შეზღუდვები, რომელ საშუალებებთან დაკავშირება შესაძლებელია ADC_0, ADC_1. Teensy3_1_AnalogCard-p.webp
მოკლედ რომ ვთქვათ:-ერთჯერადი დასრულებული კითხვისთვის, ანუ +ვოლტი, რომელიც მითითებულია GND ADC_0– ს შეუძლია წაიკითხოს A0– დან A9– მდე, A10, A11, A12, A14– ს ADC_1– ს შეუძლია წაიკითხოს A2, A3, A10, A13, A15– დან A20– ს თუ აირჩევთ პინს, რომელიც ADC წაკითხვა არ დააბრუნებს 0 (ყოველთვის)
ეს პროექტი იყენებს A2, A3, რომელზე წვდომაც შესაძლებელია ADC_0 ან ADC_1.
ნაბიჯი 5:.bin ფაილების.csv ფაილებად გადაყვანა
Teensy32AnalogLogger.ino ინახავს ნიმუშებს ორობითი სახით logxx.bin ფაილებში, ანუ log00.bin log99.bin– ში. Teensy32AnalogLogger.ino ასევე შეინახავს log.met ფაილს მეტა მონაცემების გაშვების შესახებ.
თქვენ შეგიძლიათ გამოიყენოთ SDtoCSV.jar (წყაროს კოდი SDtoCSV_src.zip).bin ფაილების.csv შემობრუნებისთვის შემდგომი დამუშავებისთვის. დააკოპირეთ ფაილები SD ბარათიდან თქვენს კომპიუტერის მყარ დისკზე მინიმუმ 70 გიგ თავისუფალი ადგილი და დააკოპირეთ SDtoCSV.jar იმავე დირექტორიაში. გახსენით ბრძანების ფანჯარა ამ დირექტორიაში და გაუშვით
java -jar SDtoCSV.jar ჟურნალი
თუ თქვენს კომპიუტერს არ აქვს Java დაინსტალირება, დააინსტალირეთ www.java.com– დან
SDtoCSV დაამუშავებს log.met ფაილს და შემდეგ თითოეულ შესაძლო logxx.bin ფაილს დირექტორიაში და გამოუშვებს.csv ფაილს თითოეული.bin- ისთვის.. Csv ფაილს აქვს ნიმუშის თანმიმდევრობის ნომერი, რასაც მოჰყვება ორი კითხვა.
კონსოლის კონსოლი გამომავალი 2 ადკ კითხვისთვის 30303 ჯერ/წმ აღებულია აქ, output.txt. ეს გვიჩვენებს, თუ როგორ არის მოხსენებული გამოტოვებული ნიმუშები. (საბოლოო ჩანახატში ბუფერების რაოდენობის გაორმაგებამ გამოასწორა ეს გამოტოვებული ნიმუშები)
SD_ ჩაერთეთ CSV კონვერტაციაში. შეამოწმეთ SDtoCSV.log პროგრესისა და შეცდომების შეტყობინებებისათვის. Log00 დამუშავება დამუშავებულია 256000 ბლოკი დამუშავება log01 დამუშავებულია 256000 ბლოკი. რა რა დამუშავება log25 დამუშავებული 256000 ბლოკი დამუშავება log26 დამუშავებული 256000 ბლოკი დამუშავების ჟურნალი 27 დამუშავებული 256000 ბლოკი გამოტოვებული ნიმუშები: 2715 დამუშავების ჟურნალი 28 დამუშავებული 256000 ბლოკი. რა რა დამუშავების ჟურნალი 29 დამუშავებულია 256000 ბლოკი. რა რა ლოგის დამუშავება 47 დამუშავებული 256000 ბლოკი დამუშავება ჟურნალი 48 დამუშავებული 35935 ბლოკი --- დასრულებული დამუშავება
უფრო სრულყოფილი ჟურნალის ფაილი, SDtoCSV.log, თან ერთვის SDtoCSV– ის თითოეულ გაშვებას. იგი მოიცავს მეტა მონაცემთა გამომავალს და შეცდომების ნებისმიერ შეტყობინებას. აქ არის რიცხვი: 254 არის იმ ბლოკში შენახული მონაცემების რაოდენობა, ანუ 127 ნიმუში x 2 ადკ კითხვა თითო ბლოკში. გამოტოვებული ნიმუშები არის გამოტოვებული კითხვის წყვილი, ანუ სტრიქონები.csv გამომავალში.
=== შესვლა ფაილი SD_ ჩაწერა CSV კონვერტაციისთვის შაბათი 13 ივლ. 13:19:51 AEST 2019 კონსოლზე პროგრესის შეტყობინებების სანახავად გამოიყენეთ java -jar SDtoCSV.jar ძირითადი ფაილის სახელი 'ჟურნალი' მეტამონაცემების ვერსია: 0 (პატარა ენდიანი) ნიმუში ინტერვალი uS: 33 adcBits: 10 adcAvgs: 4 pinCount: 2 ქინძისთავები: 16, 17 ნიმუში PerBlock: 127 noBufferBlocks: 28 ხანგრძლივობა mS: 51649820 მოთხოვნილი გაშვება დრო mS: 106216704 maxBuffers გამოყენებული: 32 გაფრთხილება: აღემატება ბუფერების რაოდენობას (28) ზოგიერთი ნიმუში შეიძლება დაკარგული იყოს. maxLatency uS: 221476 გაფრთხილება: აღემატება ბუფერული ბლოკებით გათვალისწინებულ დროს (117348uS). ზოგიერთი ნიმუში დაიკარგება. maxFileOpenTime uS: 20998 missTimers: 0 missSamplesTotal: 2715 totalBlocksWritten: 12323935 totalSamplesWritten: 1565139665 დამუშავება log00.bin დამუშავებული 256000 ბლოკი დამუშავება log01.bin დამუშავებული 256000 ბლოკი. რა რა Log26.bin დამუშავებულია 256000 ბლოკი დამუშავება log27.bin !!! ბლოკი: 57696 რაოდენობა: 254 გამოტოვებული ნიმუშები: 2339 !!! ბლოკი: 57697 რაოდენობა: 254 გამოტოვებული ნიმუშები: 376 დამუშავებული 256000 ბლოკი --- სულ გამოტოვებული ნიმუშები: 2715
დამუშავება log28.bin დამუშავებული 256000 ბლოკი
რა რა რა დამუშავება log47.bin დამუშავებული 256000 ბლოკი დამუშავება log48.bin დამუშავებული 35935 ბლოკი --- დასრულებული დამუშავება
Log00.csv გამომავალი ფაილის ნიმუშია
SampleCounter (33uS– ზე), Pin 16, Pin 170, 248, 205 1, 273, 195 2, 228, 337 3, 360, 302 4, 355, 369 5, 220, 281. რა რა
ნიმუშის მრიცხველი იზრდება ფაილიდან ფაილში, ასე რომ ის შეიძლება გამოყენებულ იქნას როგორც დროის მარკა. თუ ნიმუშები აკლია, მაშინ ნიმუშის მრიცხველი იზრდება გამოტოვებული რიცხვით მომდევნო ხაზის გამოყვანამდე, რათა მრიცხველი/დროის ბეჭედი ზუსტი დარჩეს ჩაწერილი ნიმუშებისთვის.
ნაბიჯი 6: კომენტარები კოდექსზე და გაფართოებებზე
Teensy32AnalogLogger არის ბილ გრეიმანის AnalogBinLogger მაგალითის ძლიერ შეცვლილი ვერსია მის SdFat Arduino ბიბლიოთეკაში. აქ ბიბლიოთეკა გადაწერილია Teensy 3.2 –ზე მუშაობისთვის.
Teensy32AnalogLogger იყენებს timer0 ნიმუშის ინტერვალის დასაყენებლად. შეფერხების დამმუშავებელი timer0- ისთვის იწყებს ორ ADC გარდაქმნას. მეორე ADC მოდულის შეწყვეტის დამმუშავებელს მუდმივად ეძახიან, სანამ ორივე არ დასრულდება, როგორც წესი, პირველი ADC მოდული დაწყებული ADC_0 დასრულდება მეორეზე ადრე, ასე რომ, შეწყვეტის დამმუშავებელს მხოლოდ ერთხელ ეწოდება. ADC_1 შეფერხების დამმუშავებელი ინახავს ნიმუშებს მონაცემთა ბუფერში.
მთავარ მარყუჟში (), storeSampleBuffer () ინახავს ნებისმიერ სრულ ბუფერს SD ბარათზე და ამუშავებს ბუფერებს ცარიელ ბუფერულ რიგში. Teensy 3.2– ზე არსებული დიდი რაოდენობით ოპერატიული მეხსიერება ნიშნავს დიდი რაოდენობის ბუფერების გამოყოფას და ამიტომ storeSampleBuffer () - ს არ სჭირდება ხშირი ზარი. ეს ტოვებს დროს მთავარ მარყუჟს () შეასრულოს სხვა სამუშაოები, როგორიცაა პროცესის ბრძანებები და გამოაგზავნოს გამომავალი.
გაფართოებები
მიუხედავად იმისა, რომ ეს პროექტი ფუნქციონირებს როგორც მაღალი სიჩქარის მონაცემთა ჩამწერი, სრული ტარებისათვის მას მაინც სჭირდება შეფუთვა და ბატარეის სისტემის და ეკგ სენსორების მიწოდება. ასევე არსებობს გაფართოებები, რომლებიც გასათვალისწინებელია.
- დაამატეთ შერჩეული ტალღის ფორმის რეალურ დროში კონტროლი და მონიტორინგი pfodApp– ის საშუალებით pfodApp– ის შედგენის ფუნქციის გამოყენებით, რათა ნახოთ ტალღის ფორმის სურათები
- გააგრძელეთ ფაილის ნომრები 99 -ზე მეტი, შერჩევის გასაგრძელებლად
- 2 -ზე მეტი შეყვანის ნიმუში. ვინაიდან Teensy 3.2– ს აქვს ორმაგი ADC მოდული, თქვენ შეგიძლიათ შეცვალოთ კოდი, რომ დაამატოთ დამატებითი საშუალებები წყვილებში, რათა მაქსიმალურად გაიზარდოს შერჩევის მაჩვენებელი.
- დაამატეთ ბატარეის მონიტორინგი ბატარეის დატენვის დასადგენად. Teensy 3.2 იყენებს დაახლოებით 1100 mAhrs 24 საათის განმავლობაში, მათ შორის bluetooth და SD მოდული, მაგრამ გამორიცხავს სენსორის მოდულს
- დაამატეთ ორმაგი ბატარეის მიწოდების წრე, რომელიც საშუალებას მისცემს ბატარეას შეცვალოს ხე შეწყვეტის გარეშე.
გირჩევთ:
მარტივი, პორტატული უწყვეტი ეკგ/ეკგ მონიტორი ATMega328 (Arduino Uno ჩიპი) + AD8232: 3 ნაბიჯი
მარტივი, პორტატული უწყვეტი ეკგ/ეკგ მონიტორი ATMega328 (Arduino Uno Chip) + AD8232 გამოყენებით: ეს ინსტრუქციის გვერდი გაჩვენებთ თუ როგორ უნდა გააკეთოთ მარტივი პორტატული 3 ტყვიის ეკგ/ეკგ მონიტორი. მონიტორი იყენებს AD8232 გარღვევის დაფას ეკგ სიგნალის გასაზომად და შემდგომი ანალიზისთვის microSD ბარათზე გადასატანად. საჭირო ძირითადი წყაროები: 5V დატენვის
3D ლეპტოპი, რომელსაც მე ვდებდი ბოლო 6 თვის განმავლობაში: 3 ნაბიჯი
3D ლეპტოპი, რომელსაც მე ვაჩერებდი ბოლო 6 თვის განმავლობაში: ეს არის ლეპტოპის 3D დიზაინი, რომელზეც მუშაობა შეწყვიტა დაახლოებით 6 თვის წინ. და შემდეგ, დავიწყე მისი დასრულება დაახლოებით ერთი კვირის წინ. იმედი მაქვს ისიამოვნებთ!: D
QuickFFT: მაღალი სიჩქარის FFT არდუინოსთვის: 3 ნაბიჯი
QuickFFT: მაღალი სიჩქარის FFT Arduino– სთვის: ტიპიურ Arduino– ს აქვს შეზღუდული ოპერატიული მეხსიერება და დამუშავების ძალა და FFT არის გამოთვლების ინტენსიური პროცესი. მრავალი რეალურ დროში გამოყენებისთვის, ერთადერთი მოთხოვნაა მიიღოთ სიხშირე მაქსიმალური ამპლიტუდით ან საჭიროა სიხშირის მწვერვალების გამოსავლენად. ერთ-ერთ
როგორ გავხადოთ მაღალი სიჩქარის გულშემატკივარი DC ძრავით?: 6 ნაბიჯი
როგორ გავხადოთ მაღალსიჩქარიანი გულშემატკივარი DC ძრავით?: პირველი, ნახეთ სრული ვიდეო ქათამი, თქვენ ყველაფერს გაიგებთ. დეტალები მოცემულია ქვემოთ
როგორ გავაკეთოთ ნამდვილი კომპიუტერული თამაშები. გართობა და მხოლოდ ერთი საათის განმავლობაში: 10 ნაბიჯი
როგორ გავაკეთოთ ნამდვილი კომპიუტერული თამაშები. გართობა და მხოლოდ ერთი საათის განმავლობაში: ეს პროექტი გაჩვენებთ თამაშების დამზადებას !!! ნამდვილი თამაშები კომპიუტერებისთვის და ის არ გჭირდება, რომ იცოდე რაიმე დამაბნეველი კოდი. როდესაც თქვენ დაასრულებთ ამ პროექტს თქვენ გეცოდინებათ თამაშის შექმნის საფუძვლები და შეგიძლიათ გააკეთოთ რამდენიც გსურთ