Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 18:16


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 210 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5 ... 7  Następna strona
Autor Wiadomość
PostNapisane: 29 wrz 2012, o 06:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 cze 2012
Posty: 420
Lokalizacja: Poznań
Pomógł: 5

Może przedłuży, ale znając jego to skróci :)


Patrzcie 1 post i zasady końkursu :)

_________________
Wysłane z nowego ATB 1.05beta + ATB ETHERNET



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 wrz 2012, o 09:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

hehehe chyba czas na przebiegły plan ... panowie

1. TCRT5000
2. CAPSense
3. Ultrasound
4. Laser Phaze
5. IR Motions

hmmm.....

jest tyle możliwości echhh :)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 wrz 2012, o 10:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 cze 2012
Posty: 420
Lokalizacja: Poznań
Pomógł: 5

No i znów łazi po tym wątku. Miałeś się tu z LOCHÓW nie zapuszczać ... gadzie Ty! :)

TCRT5000 - to można zastosować, ale jakby ktoś nie maił dostępu w sklepie to przecież można sklecić samemu (jak opis w linku)
Cytuj:
Czujnik optyczny odbiciowy TCRT5000 zbudowany jest z nadajnika i odbiornika. Nadajnikiem jest dioda IR podczerwieni, a odbiornikiem jest fototranzystor.


I te elementy właściwie zapewniają start w konkursie :)

_________________
Wysłane z nowego ATB 1.05beta + ATB ETHERNET



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 wrz 2012, o 10:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

temu napisałem żeby podać
pomysły jak ktoś się mota :)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 paź 2012, o 09:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 gru 2011
Posty: 450
Pomógł: 4

"Końkurs" powoli zbliża się do końca, zatem chciałbym uściślić pewną sprawę.
Otóż, czy zamieszczamy tu na forum cały projekt, czy wysyłamy całość spakowaną np. zipem do organizatora? Jest o tym co prawda mowa w 1 poście, ale organizator wymaga umieszczenia tylko cyt. "najważniejsze jego fragmenty" na forum. Z kolei jeden z fundatorów (Guru) wymaga podania całego kodu źródłowego. Więc jak robimy?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 paź 2012, o 12:23 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Konkurs to nie DIY, dlatego kod źródłowy w pełni na forum musi być. A jeśli to projekt komercyjny to albo pokazać go ogólnie i bez kodów (bo tak u nas można) dać do diy albo w ogóle nie pokazywać. Konkursy mają pełnić też rolę dydaktyczną dla początkujących a nie tam przesyłanie kodów na maila do kogoś ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 paź 2012, o 12:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 gru 2011
Posty: 450
Pomógł: 4

Nie denerwuj się drogi Mirku, warunki konkursu są jakie są, dlatego zapytałem jak zrobić żeby potem uniknąć np. dyskwalifikacji projektu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 paź 2012, o 14:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 cze 2012
Posty: 420
Lokalizacja: Poznań
Pomógł: 5

Faktycznie może, źle to opisałem i nie przemyślałem do końca... Jak pisze Mirek ma to mieć głownie wartość edukacyjną nie tylko dla twórcy (choć uczestnik konkursu nauczy się najwięcej), a przy okazji skorzystają też inni gdy projekt będzie zawierał uwagi z pkt. 8 czyli podjęte próby, napotkane problemy w realizacji (o opisie nie wspomnę, bo jak wiecie mi nie wypada). Dlatego wszelkie podpowiedzi do tego jak zabraliście się do projektu itp są mile widziane :-) W związku z powyższym zmieniam kontrowersyjną treść pkt.3

Czyżby "migacz diodowy" szykował się na starcie do biegu .... yyyy.... publikacji projektu? :)

Pozdrawiam wszystkich, którzy bawią się w zaciszu swojej celi w MAGIKÓW bezdotykowych :)

_________________
Wysłane z nowego ATB 1.05beta + ATB ETHERNET



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 paź 2012, o 16:04 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

NIEBO! ja oczywiście nie chciałbym stawać w opozycji jakby do tego co napisałeś - ale wraz z SunRiverem po ostatnim konkursie doszliśmy do wniosku, że konkursy powinny na tym forum pełnić rolę dydaktyczną. Ja jak mało kto szanuję czyjąś wiedzę i męki podczas pisania własnych kodów źródłowych. Dlatego jeszcze raz powtarzam - na tym forum bez żadnego zmrużenia oka można np pokazać jakieś swoje ciekawe i inspirujące rozwiązania nawet bez podawania kodów źródłowych czy wsadów czy projektów PCB. Dla mnie liczą się ciekawe pomysły i idee, które jak mówią mogą być inspiracją do dalszych własnych prac .... nie będzie więc nikt malkontencił jak to jest w zwyczaju na elek.... i zgłaszał skarg do moderatorów za brak kodu czy wsadu ;)

dlatego tylko uważam że warto konkursy traktować jak dobrą zbawę tym bardziej, że nie będą one zaraz podstawą do opublikowania jakichś tajnych źródeł komercyjnego projektu i tego starajmy się trzymać po prostu na przyszłość - to taka moja gorąca prośba po prostu ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 paź 2012, o 16:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Popieram w całej rozciągłości ... w każdym następnym moim konkursie nie będzie wolno publikować prac pokazywanych gdzie indziej... wszystko ma być świeże i przygotowane tylko i wyłącznie na potrzeby tego właśnie zadania ... w ten sposób unikniemy stresu i odtajniania prac nie związanych z konkursem. Natomiast
jeśli ktoś się zdecyduje na publikację takiego projektu to musi zaakceptować jego zasady.

:)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 paź 2012, o 17:26 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

O! - ja nawet zapomniałem tego napisać/dodać co Sun podpowiedział - czyli o pracach publikowanych gdzie indziej ... to też bardzo ważne. Dzięki Sun.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 paź 2012, o 20:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 gru 2011
Posty: 450
Pomógł: 4

Nie "migacz diodowy" :lol: tylko "selektywny zmieniacz stanów portu C" :mrgreen:
A i owszem, projekt zasadniczo gotowy, brakuje jeszcze tylko filmiku z prezentacji działania układu. Efekty są dla mnie samego zaskakujące i dlatego na bazie projektu konkursowego powstaje drugi, już z konkretnym przeznaczeniem użytkowym w domu. Ale szczegóły później.
Co do prezentacji projektu, nie miałem zamiaru niczego ukrywać, zasady po prostu były nieprecyzyjne w tym zakresie, dlatego zapytałem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 paź 2012, o 10:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 cze 2012
Posty: 420
Lokalizacja: Poznań
Pomógł: 5

Przepraszam, że pomyliłem Twój tytuł naukowy i bardzo się cieszę, że dzięki konkursowi będziesz mógł awansować na "bezdotykowego selektywnego zmieniacza stanów portu C" i usprawnisz sobie jakąś część domu :)

Wiem, że takie urządzenie działa bardzo fajnie i "zaskakująco". Jestem ciekawy czy rozwiązałeś to tak samo jak ja :)

No rzeczywiście było niejasne! Dlatego to wyjaśniłem i teraz jest wszystko czarno na błękitnym :) Dobrze, że zapytałeś worner:)

A pozostali Magicy? Macie już działające projekty do publikacji? Ciekawość mnie zżera ilu będzie uczestników :) Mam tylko nadzieję, że nie 500 :)

_________________
Wysłane z nowego ATB 1.05beta + ATB ETHERNET



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 paź 2012, o 11:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 gru 2011
Posty: 450
Pomógł: 4

Ja też liczę na konstruktywną konkurencję. Mam nadzieję, że kolega pawcio zdąży ze swoim projektem, a i inni pewnie też nie zasypywali gruszek w popiele. Choć bardzo długo ten wątek wydawał się jakby martwy. Czyżby cisza przed burzą? :P

Jeszcze tylko jedno pytanie :?: : Czy jest limit stron opisu :mrgreen: ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 paź 2012, o 13:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 maja 2012
Posty: 84
Lokalizacja: Łódź
Pomógł: 2

Już co nieco mam. Czujniki(tak czujniki, czyli kilka rodzaji) już przygotowałem do testrów teraz pozostaje część programistyczna.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 paź 2012, o 13:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 gru 2011
Posty: 450
Pomógł: 4

No to owocnej pracy życzę. Za tydzień obejrzymy efekty tej pracy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 paź 2012, o 19:02 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3187
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 89

worner napisał(a):
Jeszcze tylko jedno pytanie :?: : Czy jest limit stron opisu :mrgreen: ?


Nie ma limitu stron opisu, ale i tak NIEBO nie przebijesz. :lol:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 paź 2012, o 19:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 gru 2011
Posty: 450
Pomógł: 4

Nie mam zamiaru, ale dobrze wiedzieć, że nie zostanę zrecenzowany :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2012, o 20:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 maja 2012
Posty: 84
Lokalizacja: Łódź
Pomógł: 2

Aby ponaglić przeciwników wstawiam filmik co już zdziałałem. A więc do pracy.




Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2012, o 20:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

hehehehe.....:)

a ja mogę pokazać ??

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2012, o 20:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 maja 2012
Posty: 84
Lokalizacja: Łódź
Pomógł: 2

Sun dawaj chce zobaczyć.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2012, o 20:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

nie nie ja pokażę po ogłoszeniu wyników dopiero :)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2012, o 21:13 
Offline
Użytkownik

Dołączył(a): 14 maja 2012
Posty: 518
Pomógł: 6

kogo Ty chcesz pokarać Sun? ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2012, o 21:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 maja 2012
Posty: 256
Pomógł: 3

Ostrzeżeniami sypie ostatnio, to tylko o karaniu myśli ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2012, o 21:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

ej no panowie .... dobra na jakiś czas się wyłączę z życia forumowego ....
odsapniecie sobie ode mnie

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2012, o 21:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 maja 2012
Posty: 84
Lokalizacja: Łódź
Pomógł: 2

Sorry za oftop. Sun krótka odpowiedź "Nie" wyłączaj się z życia forumowego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 paź 2012, o 23:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 gru 2011
Posty: 450
Pomógł: 4

Pawcio, nieźle, nieźle. Ja dzisiaj też nagrałem film, ale wrzucę dopiero jutro. Pierwszy raz publikuję coś na youtube, więc trochę brakuje mi wprawy, ale niezła zabawa. Zwłaszcza przy edycji filmu. mam nadzieję, że się spodoba.
Sun, Ty na drugi raz się nie pytaj, tylko wrzucaj, nie bądź taki "nieśmiały" :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2012, o 14:05 

Pomógł: 0

Sam skleciłem na szybko co nieco ;)


A tu po modyfikacjach i już w domu ;) (iście kieszonkowe to ATB)


Jak widać są obydwa tryby bistabilny i monostabilny, przełączane podczas "resetu" czyli jeżeli zasłonimy czujnik podczas resetowania do zostanie zmieniony tryb na monostabilny, jeżeli czujnik pozostanie nie zasłonięty tryb będzie bistabilny :)
Czyli żadnych dodatkowych klawiszy tylko czujnik.

Czujnik to zwykły odbiciowy na podczerwień.

Łapie dosyć dobrze, układ 74HC14 załatwia mi problem wielokrotnych przerzutów spowodowanych analogowym charakterem czujnika (stwierdziłem że podejdę do tego od strony sprzętowej).
Program jest prosty i napisany w zasadzie na podstawie ostatnich "kursów" Mirka na temat obsługi klawiszy ;).
Wykorzystałem procesor ATtiny85 na przejściówce w zestawie ATB :). Jak zdążę zaprezentuje się w konkursie, bo jeszcze mi zostało poprzenoszenie deklaracji do .h (zgodnie z wymogami konkursu ;)), oraz schemat który mam bardziej w głowie i częściowo na kartce chodź to raptem parę kresek, nie licząc zestawu ATB.
Układ zrobiłem na własne potrzeby wciągu ostatnich dwóch dni ;). Bo padła mi czujka od światła w przedpokoju i znowu w nocy jak córka chcę pić albo wypadnie jej cycuś muszę poomacku szukać gdzie ma buzie ;). Docelowo w trybie monostabilnym nastąpi zmiana i światło będzie wyłączać się po ok 10-15minutach samoczynnie. W zasadzie gasnąć stopniowo..... PWM podłączony pod listwę diodową. Niestety nie wiem czy się wyrobię z tym PWMem do jutra, przez co nie publikuję jeszcze wszystkiego ;).

Zgodnie z założeniami projekt działa, co prawda chciałem zrobić PWM... ale nie potrafię sobie z tym jeszcze poradzić... wersja PWMowa będzie rozwijana już po za konkursem

W stosunku do pierwszej wersji dokonałem paru kosmetycznych modyfikacji, najbardziej zauważalną jest zmiana domyślnego trybu na bistabilny.

Obrazek

Schemat jest prosty jak drut ;), przepraszam za brak zaznaczonych nóg zasilania w 74AC14.... myślałem, że zdążę jeszcze skrobnąć PCB, ale czas płynie nieubłaganie.

Obrazek

Jak widać na powyższych przebiegach, zielony to sygnał na kolektorze tranzystora, fuchsia ;) to sygnał na wyjściu 74AC14, a żółty to sygnał bezpośrednio na wyjściu PB4.
Zastosowałem sprzętowe rozwiązanie z użyciem Przerzutnika Schmitta z dwóch powodów, po pierwsze, jestem lepszym elektronikiem niż programistą ;), po drugie światło będzie włączane również zwykłym chwilowym wyłącznikiem.

Nie robiłem chwilowo żadnych wymyślnych układów oświetlenia, dałem na wyjściu zwykłą diodę, bo sama koncepcja oświetlenia się jeszcze nie wykrystalizowała. Bo chcąc zrobić PWM, nie wiem, czy zastosować ciągle zasilany zasilacz do LED i potem klucz-pwm który będzie stopniowo rozjaśniał i ściemniał, czy zwykły włącznik, dzięki temu nie trzeba by praktycznie zasilać non stop całego zasilacza, a jedynie układ z procesorem.

Poniżej przedstawiam "mój" program. Napisany głównie za pomocą Blogu i książki Mirka :).
Dodałem jeszcze dodatkową funkcjonalność - w trybie bistabilnym dioda wyłącza się po ustalonym
czasie zależnie od wartości pętli for.. oraz _delay_ms, ale nadal mamy możliwość zgaszenia diody przed czasem.
Na drugim filmie tego nie widać, bo nie chciałem wrzucać paru minutowych wypocin ;).
Przez to jest powtórzona obsługa klawisza w trybie bistabilnym, gdyż nie potrafiłem sobie poradzić z zmianą charakteru funkcji bistabilna(), zależnie od stanu diody ;) (walczyłem dzisiaj pół dnia, drugie pół z PWM) mało brakowało, a bym urlop wziął, ale luz był w pracy ;)....

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


PS. nie przeniosłem jednak deklaracji do .h stwierdziłem, że za mały to projekt i zamiast rozjaśnić obraz, tylko by to niepotrzebnie skomplikował.
Ogólnie jestem raczej nie do końca zadowolony, ale chwilowo jest to kres moich umiejętności programistycznych.
Tak naprawdę dopiero nabieram wprawy w używaniu podstaw, a co dopiero bardziej zaawansowanych funkcji.


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Ostatnio edytowano 18 paź 2012, o 22:16 przez rezasurmar, łącznie edytowano 4 razy

Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2012, o 14:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 cze 2012
Posty: 420
Lokalizacja: Poznań
Pomógł: 5

No to mamy już jednego pewniaka - Magika :) Drugi "selektywny zmieniacz stanów portu C" też pewnie coś opublikuje :) Sun jak zwykle prowokuje, zatem czy będzie trzeci uczestnik? :)

pawcio0928 -> Twój układ działa i nie dymi :lol: - to dobrze, ale ... :idea:

No właśnie spróbuj przemyśleć co może mi się "nie podobać", bo podpowiadać nie mogę dopóki inni nie zaproponują swoich prac i nie zakończy się konkurs :)

Pozdrawiam i życzę udanych dalszych testów. :)

_________________
Wysłane z nowego ATB 1.05beta + ATB ETHERNET



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2012, o 14:10 

Pomógł: 0

Wiesz, nie mam jakoś ciśnienia, spodoba się to spodoba nie to nie :P, i tak potrzebuje zrobić to na własny użytek, stąd też użycie ATTiny85 który będzie już docelowo w układzie......

Przez chwilę myślałem o koncepcji czujnika z pilota (ten co jest w zestawie) ale jest za duży do moich zastosowań ;), fakt że można by dzięki temu programować funkcje czujnika przez pilota..... Ale to jak opanuje RGB :D.



Góra
  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 210 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5 ... 7  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO