Სარჩევი:

ოთხი ასო სიტყვის საათი აკაფუგუ სიტყვის გენერატორითა და შთამაგონებელი ფრაზებით: 3 ნაბიჯი
ოთხი ასო სიტყვის საათი აკაფუგუ სიტყვის გენერატორითა და შთამაგონებელი ფრაზებით: 3 ნაბიჯი

ვიდეო: ოთხი ასო სიტყვის საათი აკაფუგუ სიტყვის გენერატორითა და შთამაგონებელი ფრაზებით: 3 ნაბიჯი

ვიდეო: ოთხი ასო სიტყვის საათი აკაფუგუ სიტყვის გენერატორითა და შთამაგონებელი ფრაზებით: 3 ნაბიჯი
ვიდეო: სიმღერა ციფრებზე, ვსწავლობთ დათვლას სიმღერით 1-10. საბავშვო სიმღერები ქართულად, ვიდეო ბავშვებისთვის 2024, დეკემბერი
Anonim
Image
Image
ოთხი ასო სიტყვის საათი აკაფუგუ სიტყვის გენერატორითა და შთამაგონებელი ფრაზებით
ოთხი ასო სიტყვის საათი აკაფუგუ სიტყვის გენერატორითა და შთამაგონებელი ფრაზებით
ოთხი ასო სიტყვის საათი აკაფუგუ სიტყვის გენერატორითა და შთამაგონებელი ფრაზებით
ოთხი ასო სიტყვის საათი აკაფუგუ სიტყვის გენერატორითა და შთამაგონებელი ფრაზებით

ეს არის ოთხი ასო სიტყვის საათის ჩემი ვერსია, იდეა, რომელიც წარმოიშვა ჯერ კიდევ 1970 -იან წლებში. საათი აჩვენებს ოთხ ასოთა სერიას, რომელიც წარმოიქმნება შემთხვევითი სიტყვების გენერატორის ალგორითმიდან ან დაკავშირებული ოთხი ასო სიტყვების მონაცემთა ბაზიდან.

ეს ვერსია იყენებს უფრო თანამედროვე 14 სეგმენტის LED ეკრანს და Atmega 328p მიკროკონტროლერს სიტყვებისა და დროის საჩვენებლად. ორი სიტყვის თაობის რეჟიმია მხარდაჭერილი. პირველი იყენებს ალგორითმს ოთხ ასოთა სიტყვების ჯგუფების შესაქმნელად, რომლებიც, სავარაუდოდ, ნამდვილი სიტყვებია, ორიგინალის მსგავსი. თითოეული თანმიმდევრული სიტყვა არ არის დაკავშირებული წინათან. მეორე რეჟიმი იყენებს "ედინბურგის ასოციაციური თეზაურუსის" სიტყვის მონაცემთა ბაზას, სიტყვა ასოციაციების დოკუმენტს, რომელიც დაფუძნებულია ხალხის პასუხებზე, რათა ითხოვოს პირველი სიტყვა, რომელიც იბადება გონებაში მათ სათესლე სიტყვის მიცემის შემდეგ, შემდეგ კი გააგრძელოს პროცესი საპასუხო სიტყვით. მონაცემთა ბაზა ადაფუგუ კორპორაციამ ადაპტირება მოახდინა სიტყვების ოთხ ასოზე, რომელმაც შექმნა 57 კბიტიანი მონაცემთა ფაილი, რომელიც ინახება გარე EEPROM- ში ატმეგას დამუშავებისთვის. შედეგი არის ის, რომ საათი იყენებს Unix დროს, როგორც შემთხვევით თესლს და წარმოქმნის ოთხ ასო ასოთა რიგს, რომელიც დაფუძნებულია ადამიანის პასუხებზე და არა ალგორითმზე.

შენიშვნა: აკაფუგუს სიტყვების მონაცემთა ბაზა შეიცავს სექსუალურად აშკარა და პოტენციურად შეურაცხმყოფელ სიტყვებს. თუ ეს გაწუხებთ, გთხოვთ ჩართოთ შემთხვევითი სიტყვის რეჟიმი. ამან ასევე შეიძლება გამოიწვიოს შეურაცხმყოფელი სიტყვები, მაგრამ მაინც არ გამოავლენს შეურაცხმყოფელი სიტყვების ნაკადს!

"ედინბურგის ასოციაციური თეზაურუსი" შედგენილია 60 -იანი წლების დასაწყისში ინგლისში მცხოვრები ადამიანების პასუხების საფუძველზე. სიტყვა ურთიერთობები აუცილებლად ასახავს ამ მიკერძოებას! მაგალითად, სიტყვა "BEST" ხშირად მოყვება "PETE". აშკარა კავშირი არ არსებობს, თუ არავინ იცის, რომ პიტ ბესტი იყო ბითლზის ორიგინალური დრამერი 60 -იანი წლების დასაწყისში! 60 – იანი წლების დიდი ბრიტანეთის კულტურის სხვა მიკერძოება ბევრია. ვფიქრობ, ძალიან საინტერესო საყურებელია!

მოწყობილობა ასევე შეიცავს I2C მისამართს რეალურ დროში საათის მოდულს დატენვის ბატარეის სარეზერვო საშუალებით. საათი აჩვენებს 5 სიტყვას ორი შერჩეული ალგორითმიდან, შემდეგ აჩვენებს დროს, თარიღს, კვირის და წლის დღეს. საათი და მუშაობის რეჟიმი დაყენებულია სამი ღილაკის გადამრთველის გამოყენებით. საოპერაციო რეჟიმები ინახება არასტაბილურ EEPROM– ში და გადარჩება გადატვირთვის ან დენის გათიშვისას. RTC აგრძელებს მუშაობას ელექტროენერგიის გათიშვის შემდეგ დაახლოებით ერთი წლის განმავლობაში, უკიდურესი ტემპერატურის კომპენსირებული სიზუსტით. სწორი დრო ავტომატურად გამოჩნდება ენერგიის აღდგენისას.

დამატებითი ფუნქციაა 107 ციტატა დროის შესახებ, რომლებიც შემთხვევით გამოჩნდება ყოველ 10 წუთში. ეს ციტატები გადაადგილდება მარჯვნიდან მარცხნივ ოთხ სიმბოლოზე, რაც იძლევა ხშირ წახალისებას და შთაგონებას! ფრაზების შესანახად არის გარე EEPROM აკაფუგუ სიტყვების მონაცემთა ბაზა. მონაცემთა ბაზა იღებს მოწყობილობაში არსებული 64 კბაიტიდან მხოლოდ 57 კბაიტს, რაც ადგილს ტოვებს 107 ფრაზისთვის. "ტრაბახის" ფრაზა ყოველთვის პირველია, როდესაც საათი პირველად იკვებება მომდევნო 10 წუთის ინტერვალში.

ერთეული იყენებს საერთო კათოდს 14-სეგმენტიან ეკრანებს (2 კათოდს თითოეული ციფრისთვის), რომლებიც მულტიპლექსირებულია ტაიმერის შეწყვეტის სერვისის რუტინით, რის შედეგადაც ოთხ სიმბოლოიანი ეკრანი განახლდება 100 ჰერცზე. როდესაც ISR მუშაობს, ის გამორთავს წინა ნახევარ სიმბოლოს, იღებს 14 სეგმენტიდან 7 ოთხი სიმბოლოდან ერთს, ჩართავს შესაბამის სეგმენტის ქინძისთავებს და ამყარებს შესაბამის კათოდს. ჩვენებები ცოტა უჩვეულოა, მაგრამ მე მქონდა დიდი ჭარბი მარაგი, რომლის გამოყენებაც მინდოდა. ორმაგი საერთო კათოდი ამცირებს ციფრზე საჭირო ქინძისთავების რაოდენობას 15 – დან 9 – მდე. Atmega 328p– ზე არის მხოლოდ საკმარისი ქინძისთავები, რათა ეკრანის გადაადგილება შესაძლებელი იყოს ცვლის რეგისტრაციის გარეშე.

TO-DO: შეცვალეთ კოდი, რომ გამოიყენოთ Adafruit 4-სიმბოლოიანი ალფანუმერული LED მოდული

ნაბიჯი 1: ისტორია

ისტორია
ისტორია
ისტორია
ისტორია
ისტორია
ისტორია
ისტორია
ისტორია

ორიგინალური FLW საათი აშენდა Burroughs B7971 დიდი ალფანუმერული ნეონის ჭარბი მილებით, რომელიც ამოღებულია გამოტოვებული საფონდო ბილეთებიდან. ეს არის იმ რიცხვითი ნიქსი მილების მსგავსი, მაგრამ გამოიყენეს 14 სეგმენტიანი ჩვენება ASCII– ის ყველა სიმბოლოს შესაქმნელად. საათი იყენებდა დისკრეტულ ლოგიკას, ირჩევდა ცხრილის ასოებს შემთხვევითი ოთხი ასოს კომბინაციის შესაქმნელად, რომლებიც შეწონილი იყო რეალური სიტყვების წარმოსადგენად.

ალგორითმით 1972 წლის ორიგინალურ მოდელში, თითოეულ პოზიციაზე მხოლოდ გარკვეული ასოები ჩანს. გაკეთდა რამოდენიმე ასეული ოთხსიტყვიანი სიტყვის ცხრილის ანალიზი და ოთხივე პოზიციაში ასოების სიხშირე დაითვალა. თითოეული პოზიციის ათი ყველაზე ხშირად გამოყენებული ასო, გარდა მეორე პოზიციისა, რომელიც შეიცავს მხოლოდ რვა ასოს.

თითოეული პოზიციისთვის, მარტივი BCD (0-9) მრიცხველი (74LS90 IC) თავისუფლად გადიოდა და დათვლა აღირიცხებოდა და ტარდებოდა დაახლოებით რამდენიმე წამში ერთხელ წუთში ერთხელ, რაც დამოკიდებულია სიჩქარის პარამეტრზე. მრიცხველის ფოტო გადაღებულია დიოდური დეკოდირების მატრიცაზე (დაახლოებით 150 დიოდის გამოყენებით) პერსონაჟების შესაქმნელად.

ვინაიდან თითოეული პოზიციისთვის შეირჩა მხოლოდ ათი (ან რვა) ყველაზე გავრცელებული ასო, ასოების კომბინაციის გათვალისწინებით, ბევრი უსიტყვო სიტყვა შეიძლება გამოჩნდეს, მაგალითად, FRLR, LREE, LLLL და ა.

გაითვალისწინეთ, რომ მეორე პოზიციას მხოლოდ რვა ასო ჰქონდა, ვინაიდან ნიმუშში მეცხრე და მეათე ასოებს ჰქონდათ პროპორციულად დაბალი სიხშირე, ხოლო პირველსა და მეორეს უკიდურესად მაღალი სიხშირე-ასე რომ, ისინი გაორმაგდა. ამრიგად 10 x 8 x 10 x 10 = 8000 პერმუტაცია. ასოები, რომლებიც დაპროგრამებულია 1973 წლის პირველ მოდელში ნაჩვენებია ერთ – ერთ სურათზე ზემოთ.

ნაბიჯი 2: კოდი და სქემატური

კოდი და სქემატური
კოდი და სქემატური
კოდი და სქემატური
კოდი და სქემატური
კოდი და სქემატური
კოდი და სქემატური
კოდი და სქემატური
კოდი და სქემატური

სქემა ერთვის.

საათი შეიძლება აშენდეს ნებისმიერი Atmega 328p დაფუძნებული Arduino– ს გამოყენებით.

დამოუკიდებელ Atmega 328p– ს გამოსაყენებლად, როგორც ეს ნაჩვენებია სქემაში, ISP პროგრამისტი უნდა იქნას გამოყენებული მიკროკონტროლერის დაპროგრამებისთვის Arduino IDE– ს საშუალებით. პროგრამირების შემდეგ, დაუკრავენ დაყენებას შემდეგი avrdude ბრძანების გამოყენებით (WinAVR უნდა იყოს დაინსტალირებული). შეცვალეთ com პორტი და პროგრამისტის ტიპი. უადვილესი არის Arduino- ს გამოყენება როგორც პროვაიდერის პროვაიდერი. დეტალური ინფორმაციისთვის Google.

avrdude -c arduino -P com13 -b 19200 -p atmega328p -U lfuse: w: 0xFF: m -U hfuse: w: 0xDF: m -U efuse: w: 0x05: m

ეს პარამეტრები გამორთავს ჩატვირთვის გადატვირთვის ვექტორს, ასე რომ კოდი მაშინვე იწყება ძირითადი კოდის ვექტორიდან. დაუკრავენ ასევე გარე 16MHz ოსცილატორისთვის. ერთხელ დაწვისას თქვენ ვეღარ შეძლებთ ჩიპის დაპროგრამებას, სანამ კრისტალი და კონდენსატორები არ იქნება დაკავშირებული როგორც ეს ნაჩვენებია სქემაში, რადგან ნაგულისხმევი შიდა ოსცილატორი გამორთულია ამ დაუკრავენ პარამეტრებით.

DS3231 Arduino ბიბლიოთეკა უნდა იყოს დაინსტალირებული, რათა უზრუნველყოს RTC საათის რუტინაზე წვდომა. ბიბლიოთეკაში აუცილებელია Unix დროის მხარდაჭერის ჩართვა DS3231 RTC ბიბლიოთეკის config.h ფაილში ხაზის "#define CONFIG_UNIXTIME" კომენტარის გარეშე. Unix დრო გამოიყენება როგორც თესლი შემთხვევითი რიცხვების გენერატორისთვის, რათა სიტყვებისა და ფრაზების თანმიმდევრობა არ განმეორდეს ყოველ ჯერზე, როდესაც საათი იკვებება.

თავად DS3231 RTC საათის მოდული არის ჩვეულებრივი ჯიში, რომელიც იყიდება ebay– ზე. მოდული ნაჩვენებია ზემოთ. მოძებნეთ ტიპი დატენვის სარეზერვო ბატარეით.

დაპროგრამებული მიკროკონტროლერის გარდა, ასევე აუცილებელია მიკროჩიპის 24LC512 სერიული EEPROM მოპოვება და დაპროგრამება აკაფუგუგუ სიტყვების მონაცემთა ბაზითა და ფრაზების სიით. ეს კეთდება მარტივი სქემის გამოყენებით, რომელიც შექმნილია Arduino– ს საშუალებით და SD ბარათი, ფორმატირებული FAT32– ით, output2.dat ფაილით. ესკიზი კითხულობს მონაცემებს SD ბარათიდან და წერს EEPROM– ს. დეტალები შეგიძლიათ იხილოთ შემდეგ ორ ბმულზე. დარწმუნდით, რომ გამოიყენეთ პროგრამირების ესკიზი და მონაცემთა ფაილი ამ ინსტრუქციაში, რადგან აქაფუგუუს ბმულზე მოთავსებულია ფრაზის მონაცემთა ბაზა. დაიცავით პროცედურა ბმულებში.

Akafugu FLW მონაცემთა ბაზის მიმოხილვა

ინსტრუქცია EEPROM– ში მონაცემთა ფაილის დაწვის შესახებ

ნაბიჯი 3: საათის დაყენება და კონტროლი

საათის დასაყენებლად გამოიყენება ღილაკების შემდეგი კომბინაციები:

საათის ნაკრები: ნორმალური მუშაობის დროს დააჭირეთ ღილაკს 1.

წუთის ნაკრები: ნორმალური მუშაობის დროს დააჭირეთ ღილაკს 2. მეორე ავტომატურად გადატვირთულია "00" -ზე

წამის გადატვირთვა ნულზე: ნორმალური მუშაობის დროს დააჭირეთ ღილაკს 3, გაათავისუფლეთ სინქრონიზაციისათვის ახალი წუთის დაწყებასთან ერთად

თვის დაყენება: ნორმალური მუშაობის დროს დააჭირეთ ღილაკებს 1 და 2 ერთად

თარიღის დაყენება: ნორმალური მუშაობის დროს დააჭირეთ ღილაკებს 1 და 3 ერთად

წლის დაყენება: ნორმალური მუშაობის დროს დააჭირეთ ღილაკებს 2 და 3 ერთად

კვირის დღის დაყენება: ნორმალური მუშაობის დროს დააჭირეთ ღილაკებს 1, 2 და 3 ერთად

როდესაც მოწყობილობა პირველად არის ჩართული, ოპერაციული რეჟიმი სწრაფად გამოჩნდება სიტყვების წარმოქმნის დაწყებამდე:

"EE" ნიშნავს I2C გარე EEPROM- ს, რომელიც შეიცავს Akafugu სიტყვების მონაცემთა ბაზას და ფრაზების ჩამონათვალს.

"NOEE" ნიშნავს, რომ EEPROM არ იქნა აღმოჩენილი. ერთეული ბრუნდება შემთხვევითი სიტყვების წარმოქმნაზე და არა ფრაზის ჩვენებაზე.

"CK" ნიშნავს, რომ დრო და თარიღი ნაჩვენებია 5 თანმიმდევრული სიტყვის ჩვენების შემდეგ.

"NOCK" ნიშნავს დროს/თარიღის გამორთვას. სიტყვების სტაბილური ნაკადი განუწყვეტლივ არის ნაჩვენები, ყოველ 10 წუთში წყდება ფრაზით.

"RND" ნიშნავს შემთხვევითი სიტყვების წარმოქმნის რეჟიმს

"REL" ნიშნავს ურთიერთობის "Akafugu" სიტყვების მონაცემთა ბაზის გენერირების რეჟიმს

რეჟიმების შესაცვლელად და შესანახად, გათიშეთ საათი და შეაერთეთ ისევ ერთ -ერთი მითითებული ღილაკის დაჭერისას. შემდეგ გაათავისუფლეთ ღილაკი. ახალი რეჟიმი ინახება და ნაჩვენებია:

ღილაკი 1: გადართეთ და შეინახეთ შემთხვევითი ან ნათესავი სიტყვების წარმოქმნის რეჟიმი

ღილაკი 2: თარიღის/დროის ჩვენების გადართვა 5 ზედიზედ სიტყვის ჩართვის ან გამორთვის შემდეგ

გირჩევთ: