Სარჩევი:
- ნაბიჯი 1: ნაწილები და კომპონენტები
- ნაბიჯი 2: დაგეგმეთ თქვენი პროგრესი
- ნაბიჯი 3: როგორ გამოვიყენოთ პოტენომეტრი
- ნაბიჯი 4: გაყვანილობის სქემა (3x) პოტენომეტრისთვის
- ნაბიჯი 5: AnalogRead () და ცვლადების გამოყენება
- ნაბიჯი 6: სერიული მონიტორის გამოყენება 1 ღილაკით
- ნაბიჯი 7: RGB LED- ის გამოყენება
- ნაბიჯი 8: პოტენომეტრების გამოყენება RGB LED კონტროლისთვის (ერთი ხარვეზით)
- ნაბიჯი 9: ბონუსი: რუკა () ფუნქცია და სუფთა კოდი
ვიდეო: ფერადი მიქსერი არდუინოსთან ერთად: 9 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
ავტორი tliguori330
შესახებ: ყოველთვის სწავლა….. მეტი tliguori330- ის შესახებ »
ფერის შემრევი შესანიშნავი პროექტია მათთვის, ვინც მუშაობს და იზრდება არდუინოსთან ერთად. ამ ინსტრუქციის დასასრულს თქვენ შეძლებთ შეურიოთ და შეუსაბამოთ თითქმის ყველა ფერის წარმოდგენა 3 ღილაკის მოტრიალებით. უნარების დონე იმდენად დაბალია, რომ სრულუფლებიან დამწყებსაც კი შეუძლიათ მისი წარმატებით დასრულება, მაგრამ ასევე საკმაოდ საინტერესოა, რომ სასიამოვნო იყოს გამოცდილი ვეტერინარისთვის. ამ პროექტის ღირებულება თითქმის არაფერია და არდუინოს ნაკრებების უმეტესობა მოყვება საჭირო მასალებს. ამ კოდის ბირთვი არის arduino– ს ფუნდამენტური ფუნქციები, რომელთა გაგებაც სურს arduino– ს ნებისმიერს. ჩვენ ჩავუღრმავდებით analogRead () და analogWrite () ფუნქციებს, ისევე როგორც სხვა ჩვეულებრივ ფუნქციას, რომელსაც ეწოდება რუკა (). ეს ბმულები მიგიყვანთ arduino საცნობარო გვერდებზე ამ ფუნქციებისათვის.
ნაბიჯი 1: ნაწილები და კომპონენტები
არდუინო უნო
პოტენომეტრი (x3)
RGB LED
220 ohm რეზისტორი (x3)
ჯუმბერის მავთულები (x12)
პურის დაფა
ნაბიჯი 2: დაგეგმეთ თქვენი პროგრესი
შეიძლება ძალიან სასარგებლო იყოს დაგეგმოთ როგორ დაასრულებთ თქვენს პროექტს. კოდირება არის ლოგიკური პროგრესი ერთი ნაბიჯიდან მეორეზე. მე შევადგინე დიაგრამა, რომელიც ასახავს იმას, თუ როგორ მინდა ჩემი ესკიზის გაშვება. საერთო მიზანია გქონდეთ 3 ღილაკი (პოტენომეტრი), რომელიც აკონტროლებს RGB LED– ის თითოეულ სამ ფერს. ამ მიზნის მისაღწევად, ჩვენ უნდა შევქმნათ ესკიზი, რომელიც შეესაბამება ნაკადის დიაგრამას. ჩვენ გვსურს….
1) წაიკითხეთ 3 განსხვავებული პოტენომეტრი და შეინახეთ მათი მნიშვნელობები ცვლადებში.
2) ჩვენ გადავაქცევთ იმ მნიშვნელობებს, რომ შეესაბამებოდეს RGB LED დიაპაზონს.
3) ბოლოს და ბოლოს ჩვენ დავწერთ იმ გადაკეთებულ მნიშვნელობებს RGB- ის თითოეულ ფერში.
ნაბიჯი 3: როგორ გამოვიყენოთ პოტენომეტრი
ელექტრონიკის ერთ -ერთი ყველაზე მნიშვნელოვანი კომპონენტი, პოტენომეტრი შეიძლება გამოყენებულ იქნას სხვადასხვა პროექტებში. პოტენომეტრები ფუნქციონირებენ მომხმარებელს საშუალებას აძლევს ფიზიკურად შეცვალოს წრის წინააღმდეგობა. პოტენომეტრის ყველაზე შორსმჭვრეტელი მაგალითია სინათლის დაბინდვა. მოცურების გადახვევა ან გადაბრუნება ცვლის წრედის სიგრძეს. უფრო გრძელი გზა იწვევს უფრო მეტ წინააღმდეგობას. გაზრდილი წინააღმდეგობა ინვერსიულად ამცირებს დინებას და სინათლეს. ეს შეიძლება იყოს სხვადასხვა ფორმის და ზომის, მაგრამ უმეტესობას აქვს ერთი და იგივე ძირითადი კონფიგურაცია. სტუდენტმა სთხოვა დახმარება გიტარის დაფიქსირებაში და ჩვენ აღმოვაჩინეთ, რომ მასზე სახელურები ზუსტად იგივე იყო, რაც პოტენომეტრი. ზოგადად, თქვენ იყავით გარე ფეხები, რომლებიც დაკავშირებულია 5 ვოლტთან და მიწასთან, ხოლო შუა ფეხი მიდის ანალოგიურ პინზე, როგორიცაა A0
ნაბიჯი 4: გაყვანილობის სქემა (3x) პოტენომეტრისთვის
მარცხენა ფეხი დაუკავშირდება 5 ვ -ს, ხოლო მარჯვენა ფეხი დაუკავშირდება GND- ს. თქვენ შეგიძლიათ რეალურად შეცვალოთ ეს ორი ნაბიჯი და ეს არ დააზარალებს პროექტს ძალიან. ყველაფერი რაც შეიცვლება არის ის, რომ ღილაკს მარცხნივ მიაბრუნებთ, იქნება სრული სიკაშკაშე, ვიდრე გზის ბოლომდე. შუა ფეხი დაუკავშირდება არდუინოს ერთ -ერთ ანალოგიურ პინს. ვინაიდან ჩვენ გვექნება სამი სახელური, ჩვენ გვსურს სამჯერ გავზარდოთ სამუშაოები, რაც ახლახან გავაკეთეთ. თითოეულ ღილაკს სჭირდება 5v და GND, ასე რომ მათი გაზიარება შესაძლებელია პურის დაფის გამოყენებით. პურის დაფაზე წითელი ზოლი უკავშირდება 5 ვოლტს, ხოლო ლურჯი ზოლი უკავშირდება მიწას. თითოეულ ღილაკს სჭირდება საკუთარი ანალოგური პინი, ასე რომ ისინი დაკავშირებულია A0, A1, A2.
ნაბიჯი 5: AnalogRead () და ცვლადების გამოყენება
თქვენ მიერ სწორად დაყენებული პოტენომეტრი ჩვენ მზად ვართ წავიკითხოთ ეს მნიშვნელობები. როდესაც ჩვენ გვსურს ამის გაკეთება, ჩვენ ვიყენებთ analogRead () ფუნქციას. სწორი სინტაქსია analogRead (pin#); ასე რომ, ჩვენი შუა პოტენომეტრის წასაკითხად ჩვენ analogRead (A1); იმისათვის, რომ ვიმუშაოთ ციფრებთან, რომლებიც იგზავნება არდუინოში, ჩვენ გვსურს ასევე შევინახოთ ეს რიცხვები ცვლადში. კოდის ხაზი შეასრულებს ამ ამოცანას, როდესაც ჩვენ ვკითხულობთ პოტენომეტრს და ვინახავთ მის მიმდინარე რიცხვს მთელ ცვლადში "val"
int val = analogRead (A0);
ნაბიჯი 6: სერიული მონიტორის გამოყენება 1 ღილაკით
ამჟამად ჩვენ შეგვიძლია მივიღოთ მნიშვნელობები სახელურებიდან და შევინახოთ ისინი ცვლადში, მაგრამ ეს სასარგებლო იქნებოდა, თუ ჩვენ შევძლებდით ამ მნიშვნელობების დანახვას. ამისათვის ჩვენ უნდა გამოვიყენოთ ჩაშენებული სერიული მონიტორი. ქვემოთ მოყვანილი კოდი არის პირველი ესკიზი, რომელსაც ჩვენ რეალურად გავუშვებთ Arduino IDE– ში, რომლის გადმოწერაც შესაძლებელია მათ საიტზე. Void setup- ში () ჩვენ გავააქტიურებთ ანალოგიურ ქინძისთავებს, რომლებიც დაკავშირებულია თითოეულ შუა ფეხიზე, როგორც INPUT და გავააქტიურებთ სერიულ მონიტორს Serial.begin (9600) გამოყენებით; შემდეგ ჩვენ ვკითხულობთ მხოლოდ ერთ ღილაკს და ვინახავთ მას ცვლადში, როგორც ადრე. ცვლილება არის ის, რომ ჩვენ დავამატეთ ხაზი, რომელიც ბეჭდავს რა რიცხვს ინახავს ცვლადი. თუ შედგენთ და გაუშვებთ ესკიზს, შეგიძლიათ გახსნათ თქვენი სერიული მონიტორი და ნახოთ ეკრანზე გადახვეული რიცხვები. ყოველ ჯერზე კოდი მარყუჟების ჩვენ ვკითხულობთ და ბეჭდვა სხვა ნომერი. თუ ატრიალებთ A0- სთან დაკავშირებულ ღილაკს, თქვენ უნდა ნახოთ მნიშვნელობები 0-1023-დან. მოგვიანებით მიზანი იქნება სამივე პოტენომეტრის წაკითხვა, რომლის შესანახად და დასაბეჭდად დასჭირდება კიდევ 2 ანალოგური კითხვა და 2 განსხვავებული ცვლადი.
void setup () {
pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); სერიული.დაწყება (9600); } void loop () {int val = analogRead (A0); Serial.println (val); }
ნაბიჯი 7: RGB LED- ის გამოყენება
4 ფეხიანი RGB LED არის ერთ -ერთი ჩემი საყვარელი კომპონენტი Arduino– სთვის. მე მიმზიდველია ის გზა, რომელსაც შეუძლია შექმნას უსასრულო ფერები 3 ძირითადი ფერის ნარევისგან. დაყენება მსგავსია ნებისმიერი ჩვეულებრივი LED- ის, მაგრამ აქ ჩვენ ძირითადად გვაქვს წითელი, ლურჯი და მწვანე LED- ები ერთად შერწყმული. მოკლე ფეხებს თითოეული აკონტროლებს არდუინოზე ერთი PWM ქინძისთავით. ყველაზე გრძელი ფეხი დაუკავშირდება 5 ვოლტს ან მიწას, ეს დამოკიდებულია თქვენს საერთო ანოდზე ან საერთო კათოდურ LED- ზე. თქვენ უნდა სცადოთ ორივე გზა პრობლემის გადასაჭრელად. ჩვენ უკვე გვექნება 5v და GND დაკავშირებული breadboard ის უნდა იყოს ადვილი შესაცვლელი. დიაგრამა ზემოთ ნაჩვენებია 3 რეზისტორის გამოყენებითაც. მე ნამდვილად გამოვტოვებ ამ ნაბიჯს ხშირად, რადგან მე არ მქონია და LED აფეთქდა ჩემზე.
ფერების შესაქმნელად ჩვენ ვიყენებთ analogWrite () ფუნქციას, რომ გავაკონტროლოთ რამდენი წითელი, ლურჯი ან მწვანე დავამატოთ. ამ ფუნქციის გამოსაყენებლად თქვენ უნდა თქვათ რომელ პინზე# ვისაუბრებთ და რიცხვი 0-255 შორის. 0 მთლიანად გამორთულია და 255 არის ერთი ფერის ყველაზე მაღალი რაოდენობა. მოდით დავუკავშიროთ წითელი ფეხი პინ 9 -ს, მწვანე 10 -ს და ლურჯს 11 -ს. ამას შეიძლება გარკვეული ცდა და შეცდომა დასჭირდეს იმის გასარკვევად, თუ რომელი ფეხი რომელი ფერისაა. მე რომ მინდოდა მეწამული ელფერი გამეკეთებინა, შემეძლო ბევრი წითელი გამეკეთებინა, მწვანე არა, და შესაძლოა ლურჯის ნახევარი ძალა. მე გირჩევთ, შეაფასოთ ეს რიცხვები, ეს მართლაც ამაღელვებელია. ზოგიერთი ჩვეულებრივი მაგალითი მოცემულია ზემოთ მოცემულ სურათებში
void setup () {
pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); } void loop () {analogWrite (9, 255); analogWrite (10, 0); analogWrite (11, 125)}
ნაბიჯი 8: პოტენომეტრების გამოყენება RGB LED კონტროლისთვის (ერთი ხარვეზით)
დროა დავიწყოთ ჩვენი ორი კოდის ერთმანეთთან შერწყმა. თქვენ უნდა გქონდეთ საკმარისი ადგილი სტანდარტულ დაფაზე, რომ მოთავსდეს სამივე სახელური და RGB LED. იდეა არის ნაცვლად იმისა, რომ დავწეროთ მნიშვნელობები წითელი ლურჯი და მწვანე, ჩვენ ვიყენებთ თითოეული პოტენომეტრიდან შენახულ მნიშვნელობებს, რომ მუდმივად შეცვალოთ ფერები. ჩვენ გვჭირდება 3 ცვლადი ამ შემთხვევაში. წითელი, მწვანე, ლურჯი ყველა განსხვავებული ცვლადია. გაითვალისწინეთ, რომ თქვენ შეგიძლიათ დაასახელოთ ეს ცვლადები რაც გსურთ. თუ გადაატრიალებთ "მწვანე" ღილაკს და იცვლება წითელი თანხა, შეგიძლიათ გადართოთ სახელები, რომ სწორად ემთხვეოდეს. ახლა შეგიძლია გადაატრიალო თითოეული ღილაკი და გააკონტროლო ფერები !!
void setup () {
pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); } void setup () {int redVal = analogRead (A0); int greenVal = analogRead (A1); int blueVal = analogRead (A2); analogWrite (9, redVal); analogWrite (10, greenVal); analogWrite (11, blueVal); }
ნაბიჯი 9: ბონუსი: რუკა () ფუნქცია და სუფთა კოდი
თქვენ შეიძლება შეამჩნიოთ, რომ როდესაც დაიწყებთ ღილაკის ერთი ფერის მომატებას, ის გაიზრდება და შემდეგ მოულოდნელად დაეცემა ქვემოთ. ზრდის და შემდგომ სწრაფად გათიშვის ეს მოდელი მეორდება 4 -ჯერ, როცა ღილაკს ბოლომდე ატრიალებ. თუ გახსოვთ, ჩვენ ვთქვით, რომ პოტენომეტრებს შეუძლიათ მნიშვნელობების წაკითხვა 0 -დან 1023 -მდე. AnalogWrite () ფუნქცია იღებს მხოლოდ 0 -დან 255 -მდე მნიშვნელობებს. როდესაც პოტენომეტრი აღწევს 255 -ს, ის ძირითადად იწყება 0 -დან. არსებობს კარგი ფუნქცია, რომელიც დაგეხმარებათ შეცდომა, რომელსაც ეწოდება რუკა (). თქვენ შეგიძლიათ გადააკეთოთ რიცხვების ერთი დიაპაზონი ციფრების სხვა დიაპაზონში ერთ ნაბიჯში. ჩვენ გადავაქცევთ რიცხვებს 0-1023-დან რიცხვებად 0-255-დან. მაგალითად, თუ ღილაკი დაყენებულია ნახევარ გზაზე, უნდა წაიკითხოს დაახლოებით 512. ეს რიცხვი შეიცვლება 126 – ით, რაც LED– ის ნახევარი ძალაა. ამ საბოლოო ესკიზში მე დავარქვი ქინძისთავები ცვალებად სახელებს ჩემი მოხერხებულობისთვის. თქვენ უკვე გაქვთ დასრულებული ფერის მიქსერი ექსპერიმენტებისთვის !!!
// ცვლადი სახელები პოტენომეტრის ქინძისთავებისთვის
int redPot = A0; int greenPot = A1; int bluePot = A2 // ცვლადი სახელები RGB ქინძისთავებისთვის int redLED = 9; int მწვანე LED = 10; int blueLED = 11; void setup () {pinMode (redPot, INPUT); pinMode (greenPOT, INPUT); pinMode (bluePot, INPUT); pinMode (წითელი LED, OUTPUT); pinMode (მწვანე LED, OUTPUT); pinMode (ლურჯი LED, OUTPUT); სერიული, დაწყება (9600); } void loop () {// წაიკითხეთ და შეინახეთ მნიშვნელობები პოტენომეტრებიდან int redVal = analogRead (redPot); int greenVal = analogRead (greenPot); int blueVal - analogRead (bluePot); // მნიშვნელობების გადაკეთება 0-1023-დან 0-255-მდე RGB LED redVal = რუკა (redVal, 0, 1023, 0, 255); greenVal = რუკა (greenVal, 0, 1023, 0, 255); blueVal = რუკა (blueVal, 0, 1023, 0, 255); // ჩაწერეთ ეს გარდაქმნილი მნიშვნელობები RGB LED analogWrite- ის თითოეულ ფერში (redLED, redVal); anaogWrite (greenLED, greenVal); analogWrite (blueLED, blueVal); // აჩვენეთ მნიშვნელობები სერიულ მონიტორზე Serial.print ("წითელი:"); Serial.print (redVal); Serial.print ("მწვანე:"); Serial.print (greenVal); Serial.print ("ლურჯი:"); Serial.println (blueVal); }
გირჩევთ:
სიხშირის მრიცხველი არდუინოსთან ერთად: 8 ნაბიჯი (სურათებით)
სიხშირის მრიცხველი არდუინოსთან ერთად: ეს არის მარტივი და იაფი არდუინოზე დაფუძნებული სიხშირის მრიცხველი 4 დოლარზე ნაკლები, ძალიან სასარგებლო იყო მცირე ზომის სქემების გაზომვა
როგორ ავაშენოთ ბეთბოლოტი მუყაოსა და არდუინოსთან ერთად: 7 ნაბიჯი (სურათებით)
როგორ ავაშენოთ ბეთბოლოტი მუყაოსა და არდუინოსთან ერთად: მე შევქმენი ბრძოლის ბოტები Arduino UNO– ს გამოყენებით და მუყაო გამოიყენებოდა სხეულების ასაშენებლად. მე შევეცადე გამომეყენებინა ხელმისაწვდომი მარაგი და მივეცი ბავშვებს შემოქმედებითი თავისუფლება, როგორ შექმნან თავიანთი საბრძოლო ბოტები. Battlebot იღებს ბრძანებებს უკაბელო კონტროლერისგან
DIY სუნთქვის სენსორი არდუინოსთან ერთად (გამტარი ნაქსოვი გაჭიმვის სენსორი): 7 ნაბიჯი (სურათებით)
წვრილმანი სუნთქვის სენსორი არდუინოსთან ერთად (გამტარი ნაქსოვი გაჭიმვის სენსორი): ეს წვრილმანი სენსორი მიიღებს გამტარი ნაქსოვი გაჭიმვის სენსორის ფორმას. ის შემოეხვევა თქვენს მკერდს/კუჭს, ხოლო როდესაც თქვენი გულმკერდი/მუცელი გაფართოვდება და იკუმშება, ასევე გაიზრდება სენსორი და, შესაბამისად, შეყვანის მონაცემები, რომლებიც მიეწოდება არდუინოს. Ისე
ჭკვიანი სახლი არდუინოსთან ერთად: 11 ნაბიჯი (სურათებით)
ჭკვიანი სახლი არდუინოსთან ერთად: გამარჯობა. მე გაჩვენებთ თუ როგორ უნდა ავაშენოთ საკუთარი ჭკვიანი სახლი. ის აჩვენებს ტემპერატურას როგორც შიგნით, ასევე გარეთ, თუ ფანჯარა ღიაა თუ დახურული, აჩვენებს წვიმის დროს და აცხადებს სიგნალს, როდესაც PIR სენსორის მოძრაობები მოძრაობს. ანდროიდზე გავაკეთე განცხადება
ინფრაწითელი სენსორის გამოყენება არდუინოსთან ერთად: 8 ნაბიჯი (სურათებით)
ინფრაწითელი სენსორის გამოყენება Arduino– სთან ერთად: რა არის ინფრაწითელი (იგივე IR) სენსორი? IR სენსორი არის ელექტრონული ინსტრუმენტი, რომელიც სკანირებს IR სიგნალებს სტანდარტებით განსაზღვრულ სიხშირის დიაპაზონში და გარდაქმნის მათ ელექტრო სიგნალებად მის გამომყვან პინზე (ჩვეულებრივ უწოდებენ სიგნალის პინს) რა IR სიგნალი