Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'oprogramowanie'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - DIY
    • Projekty - DIY roboty
    • Projekty - DIY (mini)
    • Projekty - DIY (początkujący)
    • Projekty - DIY w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie

Kategorie

  • Quizy o elektronice
  • Quizy do kursu elektroniki I
  • Quizy do kursu elektroniki II
  • Quizy do kursów Arduino
  • Quizy do kursu STM32L4
  • Quizy do pozostałych kursów

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Imię


Strona

Znaleziono 4 wyniki

  1. Witajcie, kolejne pytanie. Czy tinkercad to oprogramowanie CAD?
  2. Witam, Posiadam raspberry pi 3b+. Malina pracuje na systemie Debian w wersji buster pi@raspberrypi:~ $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 10 (buster) Release: 10 Codename: buster Pojawia mi się problem, podczas aktualizacji pakietów (jednocześnie dotyczy to aktualizacji Pihole). System próbuje się aktualizować z depo "jessie", które jest już wyłączone. pi@raspberrypi:~ $ sudo apt-get update Stary:1 http://raspbian.raspberrypi.org/raspbian buster InRelease Stary:2 http://archive.raspberrypi.org/debian buster InRelease Stary:3 http://download.zerotier.com/debian/buster buster InRelease Stary:4 https://deb.nodesource.com/node_4.x buster InRelease Błąd:5 https://dl.bintray.com/fg2it/deb jessie InRelease 403 Forbidden [IP: 52.40.65.167 443] Czytanie list pakietów... Gotowe E: Nie udało się pobrać https://dl.bintray.com/fg2it/deb/dists/jessie/InRelease 403 Forbidden [IP: 52.40.65.167 443] E: The repository 'https://dl.bintray.com/fg2it/deb jessie InRelease' is no longer signed. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. Nie bardzo wiem, jak usunąć to odwołanie. Przeszukałem już informacje dostępne w sieci i sprawdziłem oba wskazywane miejsca w systemie. Wydaje się, że tutaj wszystko jest ok. Wyczyściłem cache i restartowałem malinę. Niestety problem nadal się pojawia. pi@raspberrypi:~ $ cat /etc/apt/sources.list deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi # Uncomment line below then 'apt-get update' to enable 'apt-get source' #deb-src http://archive.raspbian.org/raspbian/ stretch main contrib non-free rpi #deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi pi@raspberrypi:~ $ cat /etc/apt/sources.list.d/raspi.list deb http://archive.raspberrypi.org/debian/ buster main # Uncomment line below then 'apt-get update' to enable 'apt-get source' #deb-src http://archive.raspberrypi.org/debian/ buster main ui Nie bardzo wiem, gdzie jeszcze może być zapisane odwołanie do repo z "jessie". Może wiecie jak naprawić ten problem? Z góry dziękuję za wszystkie podpowiedzi. Maciek
  3. Cześć, przedstawiam projekt inspirowany życiem 🙂 Często wietrzymy w domu i nikt nie pamięta żeby zamknąć okno balkonowe. Akurat w ciągu dnia siedzę pod balkonem i zawsze mi zimno. Na zmianę nawyków nie liczę 🙂 Wpadłem za to na pomysł żeby zrobić z tego co mam pod ręką małe urządzenie na okno, które będzie przypominać że czas skończyć wietrzenie. Elektronika Chciałem zrobić coś małego, co: będzie wisieć na oknie, da się zasilać z baterii, będzie pokazywać ile jeszcze zostało, będzie wkurzające kiedy zacznie się przypominanie. Wolałem skorzystać z płytki, bo wolę programować urządzenia przez USB. Z małych płytek miałem tylko klona Digispark Attiny 85 i takiego użyłem. Buzzer był oczywistym wyborem do sygnalizacji, miałem ten z zestawu do techniki cyfrowej o najgłośniejszej częstotliwości ~4 kHz. Kontrakron na okno wybrałem po prostu najmniejszy, dodałem do niego kondensator 100nF i rezystor żeby przy zamkniętym oknie schodziło mniej energii. Niewiele pomogło, ale cóż.. Pojawił się problem z sygnalizacją. Płytka Attiny85 ma tylko 6 pinów, dodatkowo jeden jest używany jako reset i nie chciałem go używać. Buzzer plus kontaktron zabierają dwa piny i zostaję z trzema. To trochę mało do pokazywania postępu - jeśli wietrzenie ma trwać 30 minut to ciężko pokazać ile już minęło. Wymyśliłem żeby skorzystać z układu CD4017B, który liczy do dziesięciu i aktywuje po jednym pinie w zależności od wartości. Podłączyłem do niego wykres LEDowy i już mam wyświetlacz, który aktywuje wybrany pasek. Udało się zmieścić w trzech pinach (clock, reset i odłączane zasilanie z attiny85). To ma też taki plus, że wszystkie diody obsługuje jeden rezystor, a jak się okaże później i tak zabrakło miejsca 🙂 Na attiny85 piny P3 i P4 są też używane jako szyna danych USB i nie mogłem programować płytki kiedy były podłączone. Dodałem do nich włącznik (dokładnie ten - jest fajny bo można nim włączać dwie rzeczy po obu stronach. Oprócz tego włącznik do zasilania i finalnie skończyłem z takim schematem: Tak wyglądał pierwszy prototyp: 10 LEDów nie mieści się na płytce, więc zrobiłem taką małą macierz z czterech czerwonych diod. Dodałem też dwa przyciski do scalaka żeby sprawdzić "na sucho" czy wszystko dobrze podłączyłem. Oprogramowanie Do CD4017B napisałem prostą klasę, która w gruncie rzeczy po prostu wysyła impulsy góra-dół. Wyświetlacz można wyłączać odłączając zasilanie na jednym pinie - uznałem, że skoro świeci się tylko jedna dioda na raz to będzie działać. I działa. Do tego dodałem prostą klasę korzystającą z arduino-timer, która podnosi pasek o jeden co 10% oczekiwania. Buzzer jest bardzo standardowy - również skorzystałem z biblioteki arduino-timer, która włącza dźwięk funkcją tone co określony czas. Kontaktron jest obsługiwany przerwaniem sprzętowym (Digispark ma jedno). W oczekiwaniu na otwarcie okna płytka miała przechodzić w stan uśpienia. Niestety działa to tylko na Arduino Nano i Digispark nie wybudza płytki po przerwaniu, więc po prostu skorzystałem z delay - w przypadku otwarcia okna kilka-kilkanaście dodatkowych sekund opóźnienia nie robi różnicy. Na najwyższym poziomie oprogramowanie to prosta maszyna stanów - po otwarciu okna uruchamia licznik i zaczyna zliczanie, a kiedy skończy się zliczanie uruchamia buzzer. Cały kod jest dostępny w repozytorium: https://github.com/kantoniak/airing-scheduler Sprawdziłem na prototypie, że diody ładnie się palą (jak na zdjęciu poniżej) i przeszedłem do składania. Składanie urządzenia To była chyba najgorsza część tego projektu. Chciałem się zmieścić na płytce 30x70 mm i musiałem bardzo długo przestawiać elementy zanim mi się udało. Tak wyglądał kandydat do składania: Musiałem parę rzeczy przypiłować, buzzer jest nad płytką i jeden włącznik jest przycięty, ale wszystko się zmieściło. No prawie - bateria wystaje z jednej strony, ale nie jest najgorzej. Z lutowaniem wyszło OK, ale trwało to prawie cały dzień. Na koniec miałem tylko nadzieję, że będzie działać. Następnym razem zamówię PCB 🙂 Na koniec wydrukowałem jeszcze obudowę. Niestety pomyliłem się z dziurką na buzzer, ale wszystko działa i szkoda mi filamentu. Obudowa ma miejsce na jedną śrubkę - płytka jest lekka i takie mocowanie daje radę: Całość działa jak na poniższym filmiku: Projekt miał być prosty, ale jednak trochę się namęczyłem. Nie mniej trzeba się było trochę nagłówkować i cieszę się że udało mi się złożyć urządzenie z tego co miałem pod ręką 🙂
  4. Witam Z góry dziękuję z wszelką pomoc! Na podstawie pewnego projektu z internetu (Ten projekt, tyle że bardzo skrócony. Oryginał też na tej stronie tylko że po Turecku). Program działa na zasadzie zainstalowanej biblioteki do Winamp która wysyła rożne sygnały poprzez port szeregowy. Następnie program w Arduino odczytuje je i w odpowiedni sposób interpretuje. Wizualizacja odbywa się na ekranie LCD 16x2. Ja do własnych celów, do innego projektu chciałbym aby zamiast wyświetlania się danych na ekranie informacje z każdego "słupka" były zapisywane i aktualizowane w "int-ach". Czyli np. pierwszy słupek od lewej int1, następny int2 i tak dalej. Jeśli ktoś pomógłby mi w tym byłbym bardzo wdzięczny. Dodam jeszcze że oryginalny projekt działa u mnie (wszystko zainstalowane poprawnie, chodzi mi tylko o przerobienie programu). Link do stron: https://hase85.wordpress.com/2013/09/25/16x2-lcd-spectrum-analyzer-plugin-for-winamp/ Kod arduino: /* CrownSoft LCD Spectrum Analyzer Interface (c) 2013 CrownSoft Inc. a level-1 b level-2 c level-3 d level-4 e level-5 f level-6 g level-7 h level-8 i set cursor & draw char j set cursor & draw level k clear screen examples: i00H first col first row set 'H' j01b first col second row set level-2 k clear all */ #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); byte custChars[8][8] = { {B00000, B00000, B00000, B00000, B00000, B00000, B00000, B11111}, {B00000, B00000, B00000, B00000, B00000, B00000, B11111, B11111}, {B00000, B00000, B00000, B00000, B00000, B11111, B11111, B11111}, {B00000, B00000, B00000, B00000, B11111, B11111, B11111, B11111}, {B00000, B00000, B00000, B11111, B11111, B11111, B11111, B11111}, {B00000, B00000, B11111, B11111, B11111, B11111, B11111, B11111}, {B00000, B11111, B11111, B11111, B11111, B11111, B11111, B11111}, {B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111} }; byte serial_getch() { while (Serial.available() == 0); return Serial.read(); } void setup() { Serial.begin(19200); lcd.begin(16, 2); lcd.clear(); // create custom characters for(int i=0;i<8;i++) { lcd.createChar(i, custChars[i]); } /* for(int i=0;i<8;i++) { lcd.setCursor(i,0); lcd.write(i); }*/ } void loop() { byte rxbyte = serial_getch(); if(rxbyte=='j') // set cursor & draw level { lcd.setCursor(serial_getch()-'0',serial_getch()-'0'); lcd.write((uint8_t)(serial_getch()-'a')); }else if(rxbyte=='i') // set cursor & draw char { lcd.setCursor(serial_getch()-'0',serial_getch()-'0'); lcd.write((char)serial_getch()); }else if(rxbyte=='k') // clear { lcd.clear(); } } Pozdrawiam Piotrek
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.